Stripe iOS SDK
Stripe iOS SDK 使您能快速轻松地在您的 iOS 应用中创建出色的支付体验。我们提供强大且可定制的 UI 窗口和元素,可以立即使用来收集您的用户的支付详情。我们还公开了驱动这些 UI 的底层 API,以便您可以构建完全定制的体验。
从我们的
了解更多关于我们的 Stripe Identity iOS SDK 的信息,用于在 iOS 上验证用户的身份。
目录
功能
简化安全配置:我们让您轻松收集敏感数据,例如信用卡号,同时保持PCI合规性。这意味着敏感数据直接发送到Stripe,而不是通过您的服务器。更多信息,请参阅我们的集成安全指南。
苹果支付:StripeApplePay提供了对苹果支付的无缝集成。
SCA适配:SDK能够自动执行必要的本地3D Secure身份验证,以满足欧洲的强化客户认证法规。
原生UI:我们提供原生界面和元素以便收集支付详情。例如,PaymentSheet是一个预构建UI,它将所有支付步骤(收集支付详情、账单详情和确认支付)整合到一个简单的页面中,并在您应用的顶层显示。
Stripe API:StripePayments提供了与Stripe API中对象和方法对应的底层API。您可以在这一层之上构建您自己的完全定制的UI,同时还能利用如STPCardValidator这样的实用程序来验证您的用户输入。
卡片扫描:我们支持在iOS 13及更高版本上进行卡片扫描。请参阅我们的卡片扫描部分。
应用快照:StripeApplePay
模块提供了一个轻量级SDK,用于提供App Clip中的苹果支付。
本地化:我们支持以下本地化:保加利亚语、加泰罗尼亚语、中文(香港)、中文(简体)、中文(繁体)、克罗地亚语、捷克语、丹麦语、荷兰语、英语(美国)、英语(英国)、爱沙尼亚语、菲律宾语、芬兰语、法语、法语(加拿大)、德语、希腊语、匈牙利语、印度尼西亚语、意大利语、日语、韩语、拉脱维亚语、立陶宛语、马来语、马耳他语、挪威语、波兰语、葡萄牙语、葡萄牙语(巴西)、罗马尼亚语、俄语、斯洛伐克语、斯洛文尼亚语、西班牙语、西班牙语(拉丁美洲)、瑞典语、土耳其语、泰语和越南语。
推荐用法
如果您正在销售将在您的应用内消费的数字产品或服务(例如订阅、游戏内货币、游戏级别、访问高级内容或解锁完整版本),您必须使用苹果的 In-app 购买 API。更多信息请查阅App Store 审查指南。对于所有其他场景,您可以使用此 SDK 通过 Stripe 处理支付。
隐私
Stripe iOS SDK 收集数据以帮助我们改进产品并防止欺诈。这些数据永远不会用于广告,也不会出租、出售或提供给广告商。我们的完整隐私政策可在https://stripe.com/privacy 查阅。
如有关于 App Store Connect 中苹果 App 隐私详细信息表的帮助,请访问 Stripe iOS SDK 隐私详细信息。
模块
模块 | 描述 | 压缩版 | 未压缩版 |
---|---|---|---|
StripePaymentSheet | Stripe 预建支付 UI,详情请查看这里的说明。 | 2.7MB | 6.3MB |
Stripe | 包含以下所有框架,以及 发行 和 基本集成。 | 2.3MB | 5.1MB |
StripeApplePay | 包括对 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 包管理器。
如果您手动链接库,请使用我们 发布页面 上的版本,并确保嵌入 所有 必需的框架。
对于 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项目,并且所有与Xcode相关的文件都已从仓库的master分支中移除。注意,项目文件仍可在标记版本中找到。
如果您想从master分支构建,请按照以下步骤操作
- 克隆仓库并使用
cd
进入其目录。 - 通过运行
curl -Ls https://install.tuist.io | bash
来安装Tuist - 运行
tuist generate
,如果不想自动打开Xcode,可以选择传递-n
选项。
您可以根据正常方式构建任何生成的目标。
有关Tuist的更多信息,请访问https://tuist.io。
卡扫描
PaymentSheet提供了内置的卡扫描功能。要启用卡扫描,您需要在应用程序的plist文件中设置NSCameraUsageDescription
,并提供访问相机的理由(例如,“扫描卡片”)。卡扫描支持iOS 13或更高版本的设备。
您可以在我们的PaymentSheet示例应用程序中演示此功能。当您在设备上运行示例应用程序时,添加新卡片时将看到“扫描卡”按钮。
贡献
我们欢迎各种类型的贡献,包括新功能、错误修复和文档改进。如果这是一个重大变更,请先开一个问题,描述您想要创建的内容,以便我们可以讨论如何继续前进。否则,您可以继续为小的更改,如错别字修复和单行代码打开一个pull请求。
运行测试
- 安装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