Stripe iOS SDK
Stripe iOS SDK 让您能够快速轻松地在您的 iOS 应用中构建出色的支付体验。我们提供强大且可定制的 UI 屏幕,可以即时使用来收集用户的支付详情。我们还公开了驱动这些 UI 的底层 API,这样您就可以构建完全定制的体验。
查看我们的
了解我们的Stripe Identity iOS SDK,以在 iOS 上验证用户的身份。
目录
功能
简化安全性:我们使您能够轻松收集敏感数据,如信用卡号,并保持PCI合规性。这意味着敏感数据将直接发送到Stripe,而不是通过您的服务器。有关更多信息,请参阅我们的集成安全指南。
Apple Pay:StripeApplePay提供了与Apple Pay无缝集成。
SCA准备就绪:SDK会自动执行本地3D Secure身份验证,以符合欧洲的强客户身份验证法规。
本地UI:我们提供本地屏幕和元素以收集付款详情。例如,PaymentSheet是一个预构建的UI,它将所需的支付步骤 - 收集付款详情、账单详情和确认付款 - 组合到一个显示在您的应用顶部的单独表中。
Stripe API:StripePayments提供了对应于Stripe API中的对象和方法的底层API。您可以在这一层之上构建完全定制的UI,同时仍然可以利用诸如STPCardValidator之类的实用程序来验证用户的输入。
卡扫描:我们支持iOS 13及更高版本的卡扫描。请参阅我们的卡扫描部分。
App Clips:StripeApplePay
模块提供了在App Clip中提供Apple Pay的轻量级SDK。
本地化:我们支持以下本地化:保加利亚语、加泰罗尼亚语、中文(香港)、中文(简体)、中文(繁体)、克罗地亚语、捷克语、丹麦语、荷兰语、英语(美国)、英语(英国)、爱沙尼亚语、菲律宾语、芬兰语、法语、法语(加拿大)、德语、希腊语、匈牙利语、印度尼西亚语、意大利语、日语、韩语、拉脱维亚语、立陶宛语、马来语、马耳他语、挪威语(博克马尔)、挪威语(纽诺斯克)(挪威)、波兰语、葡萄牙语、葡萄牙语(巴西)、罗马尼亚语、俄语、斯洛伐克语、斯洛文尼亚语、西班牙语、西班牙语(拉丁美洲)、瑞典语、土耳其语、泰语和越南语。
推荐用法
如果您正在销售将在您的应用内消费的数字产品或服务(例如,订阅、游戏内货币、游戏等级、访问付费内容或解锁完整版),您必须使用苹果的内置购买API。有关更多信息,请参阅应用商店审核指南。对于所有其他场景,您可以使用此SDK通过Stripe处理支付。
隐私
Stripe iOS SDK收集数据以帮助改进我们的产品并防止欺诈。这些数据永远不会用于广告,也不会出租、出售或提供给广告商。我们的完整隐私政策可在https://stripe.com/privacy查看。
如需帮助填写App Store Connect中的苹果应用隐私详情表,请访问Stripe iOS SDK隐私详情。
模块
模块 | 描述 | 压缩版 | 未压缩版 |
---|---|---|---|
StripePaymentSheet | Stripe的预构建支付UI(https://stripe.com/docs/payments/accept-a-payment?platform=ios&ui=payment-sheet)。 | 2.7MB | 6.3MB |
Stripe | 包含以下所有框架,以及发行和基本集成。 | 2.3MB | 5.1MB |
StripeApplePay | Apple Pay支持,包括STPApplePayContext 。 |
0.4MB | 1.0MB |
StripePayments | Stripe支付API的绑定。 | 1.0MB | 2.6MB |
StripePaymentsUI | Stripe支付API的绑定,包括STPPaymentCardTextField、STPCardFormView和其他UI元素。 | 1.7MB | 3.9MB |
发布
我们支持CocoaPods、Carthage和Swift Package Manager。
如果您手动链接库,请从我们的发布页面中选择版本,并确保嵌入所有必需的框架。
对于Stripe
模块,链接以下框架
Stripe.xcframework
Stripe3DS2.xcframework
StripeApplePay.xcframework
StripePayments.xcframework
StripePaymentsUI.xcframework
StripeCore.xcframework
StripeUICore.xcframework
对于其他模块,请按照以下说明操作
如果您在GitHub.com上阅读此内容,请确保您查看的是与您已安装的版本对应的标记的版本。否则,说明和示例代码可能无法与您的副本匹配。
需求
Stripe iOS SDK需要Xcode 14.1或更高版本,并且与针对iOS 13或更高版本的iOS应用程序兼容。我们支持macOS 10.16或更高版本的Catalyst。
对于iOS 12的支持,请使用v22.8.4。对于iOS 11的支持,请使用v21.13.0。对于iOS 10,请使用v19.4.0。如果需要支持iOS 9,使用v17.0.2。
入门
集成
请从我们的
示例
-
预构建UI (推荐)
- 此示例演示了如何使用
PaymentSheet
构建支付流程,PaymentSheet
是一个可嵌入的原生UI组件,它允许您通过单个集成接受10多种支付方式。
- 此示例演示了如何使用
-
- 此示例演示了如何使用Stripe API手动接受各种支付方式。
从源代码构建
我们使用Tuist生成Xcode项目,并从仓库的master分支中删除了所有相关文件。注意,项目文件仍然存在于标记的发行版中。
如果您想从master分支构建,您需要按照以下步骤操作
- 克隆仓库并进入其目录。
- 运行
curl -Ls https://install.tuist.io | bash
安装Tuist - 运行
tuist generate
,如果不需要自动打开Xcode,可以选择性地传递-n
选项。
您可以像往常一样构建任何生成的目标。
有关Tuist的更多信息,请访问https://tuist.io。
卡扫描
PaymentSheet提供了内置的卡扫描功能。要启用卡扫描,您需要在应用程序的plist中设置NSCameraUsageDescription
,并提供访问摄像头的理由(例如“扫描卡”)。卡扫描支持iOS 13或更高版本的手机。
您可以在我们的PaymentSheet示例应用中演示此功能。在设备上运行示例应用时,在添加新卡时会看到“扫描卡”按钮。
贡献
我们欢迎各种类型的贡献,包括新功能、错误修复和文档改进。如果是一个大的变更,请首先提出一个问题来描述您想要构建的内容,这样我们可以讨论如何前进。否则,可以继续打开一个用于像拼写错误修复和一行代码这样的微小的拉取请求。
运行测试
- 安装Carthage 0.37或更高版本(如果您已安装homebrew,请运行
brew install carthage
) - 从存储库的根目录运行
bundle install && bundle exec fastlane stripeios_tests
。这将安装测试依赖项并运行测试。 - 一旦运行了这一次,您也可以从
Stripe.xcworkspace
中的StripeiOS
目标在Xcode中运行测试。请确保使用iPhone 12 mini和iOS 16.1模拟器,以便使快照测试通过。