Stripe iOS SDK
Stripe iOS SDK 可以帮助您快速简单地在 iOS 应用中建立优秀的支付体验。我们提供强大的且可定制的 UI 屏幕和元素,可以直接使用以收集用户的支付详情。我们还暴露了支持这些 UI 的高级别 API,以便您可以构建完全定制的体验。
查看我们的
了解我们的 Stripe Identity iOS SDK 以验证 iOS 上用户的身份。
目录
特性
简化安全:我们使您能够轻松收集敏感数据,如信用卡号码,并保持与PCI合规。这意味着敏感数据直接发送到Stripe,而不是通过您的服务器。更多详情请参见我们的集成安全指南。
Apple Pay:StripeApplePay 提供与Apple Pay的无缝集成。
准备好SCA:根据欧洲的3D Secure身份验证,SDK会自动执行本地验证以符合强客户身份认证法规。
原生UI:我们提供原生屏幕和元素来收集支付详情。例如,PaymentSheet是一个可以合并所有支付步骤的预设UI,包括收集支付详情、账单详情和确认支付,并在您的应用程序上方显示为单页。
Stripe API:StripePayments提供与Stripe API中的对象和方法相对应的低级API。您可以在这一层之上构建自己完全定制的UI,同时仍可利用STPCardValidator等实用程序来验证用户的输入。
卡扫描:我们支持iOS 13及更高版本上的卡扫描。请参阅我们的卡扫描部分。
App Clips:StripeApplePay
模块提供了一个在App Clip中提供Apple Pay的轻量级SDK。
本地化:我们支持以下本地化:保加利亚语、加泰罗尼亚语、中文(香港)、中文(简体)、中文(繁体)、克罗地亚语、捷克语、丹麦语、荷兰语、英语(美国)、英语(英国)、爱沙尼亚语、菲律宾语、芬兰语、法语、法语(加拿大)、德语、希腊语、匈牙利语、印度尼西亚语、意大利语、日语、韩语、拉脱维亚语、立陶宛语、马来语、马耳他语、挪威语(博克马尔)、挪威语(纽诺斯克)、波兰语、葡萄牙语、葡萄牙语(巴西)、罗马尼亚语、俄语、斯洛伐克语、斯洛文尼亚语、西班牙语、西班牙语(拉丁美洲)、瑞典语、土耳其语、泰语和越南语。
推荐用法
如果您的应用程序销售数字产品或服务,这些产品或服务将在您的应用程序内消费(例如,订阅、游戏内货币、游戏关卡、访问高级内容或解锁完整版本),您必须使用苹果的内置购买API。有关更多信息,请参阅App Store审查指南。对于所有其他场景,您可以使用此SDK通过Stripe处理支付。
隐私
Stripe iOS SDK收集数据以帮助改进我们的产品并防止欺诈。这些数据永远不会用于广告,也不会出租、出售或提供给广告商。我们的完整隐私政策可在https://stripe.com/privacy找到。
如需在App Store Connect中帮助填写Apple的App隐私详情表,请访问Stripe iOS SDK隐私详情。
模块
模块 | 描述 | 压缩版 | 未压缩版 |
---|---|---|---|
StripePaymentSheet | Stripe预构建的支付UI。 | 2.7MB | 6.3MB |
Stripe | 包含以下所有框架,以及发行和基本集成。 | 2.3MB | 5.1MB |
StripeApplePay | Apple Pay支持,包括STPApplePayContext 。 |
0.4MB | 1.0MB |
StripePayments | Stripe Payments API的绑定。 | 1.0MB | 2.6MB |
StripePaymentsUI | Stripe Payments 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或更高版本的应用兼容。我们支持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
来构建支付流程,这是一个可嵌入的原生UI组件,允许您通过单一集成接受 10+ 种付款方式。
- 本例演示了如何使用
-
- 此示例演示了如何使用Stripe API手动接受各种支付方式。
从源构建
我们使用 Tuist 来生成Xcode项目,已从存储库的master分支中移除所有与Xcode相关的文件。注意,项目文件在标记版本中仍然可用。
如果您想从master分支构建,需要按照以下步骤操作
- 克隆存储库并
cd
到其目录。 - 按照tuist.io上的说明安装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 模拟器,以确保快照测试通过。
从旧版本迁移
请参阅 MIGRATING.md