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。
本地化:我们支持以下本地化:保加利亚语、加泰罗尼亚语、中文(香港)、中文(简体)、中文(繁体)、克罗地亚语、捷克语、丹麦语、荷兰语、英语(美国)、英语(英国)、爱沙尼亚语、菲律宾语、芬兰语、法语、法语(加拿大)、德语、希腊语、匈牙利语、��度尼西亚语、意大利语、日语、韩语、拉脱维亚语、立陶宛语、马来语、马耳他语、挪威语、波兰语、葡萄牙语、葡萄牙语(巴西)、罗马尼亚语、俄语、斯洛伐克语、斯洛文尼亚语、西班牙语、西班牙语(拉丁美洲)、瑞典语、土耳其语、泰语和越南语。
推荐用法
如果您正在销售将在您的应用内消费的数字产品或服务(例如订阅、游戏内货币、关卡、访问付费内容或将完整版本解锁),则必须使用Apple的in-app购买API。有关更多信息,请参阅App Store审核指南。对于所有其他场景,您可以使用此SDK通过Stripe处理付款。
隐私
Stripe iOS SDK收集数据以帮助我们改进产品并防止欺诈。这些数据永远不会用于广告,也不会出租、出售或提供给广告商。我们的完整隐私政策可在此处找到。
有关在App Store Connect中处理Apple的App隐私详情表的帮助,请访问Stripe iOS SDK隐私详情。
模块
模块 | 描述 | 压缩的 | 未压缩的 |
---|---|---|---|
StripePaymentSheet | Stripe的预先构建支付UI。了解更多。 | 2.7MB | 6.3MB |
Stripe 提供 | 包含以下所有框架,加上发行和基本集成。 | 2.3MB | 5.1MB |
StripeApplePay | Apple Pay支持,包括。 | 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 (推荐)
- 该示例演示了如何使用嵌套路由的原生UI组件
PaymentSheet
构建支付流程,该组件可使您通过单一集成接受10多种支付方式。10+ payment methods with a single integration.
- 该示例演示了如何使用嵌套路由的原生UI组件
-
- 该示例演示了如何使用Stripe API手动接受各种支付方式。
从源代码构建
我们使用Tuist生成Xcode项目,并将其从仓库的master分支中移除了所有与Xcode相关的文件。注意,项目文件仍在标记发行版上可用。
如果您想从master分支构建,需要遵循以下步骤
- 克隆仓库并将
cd
切换到其目录。 - 通过运行
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 模拟器,以便快照测试通过。
从旧版迁移
请参阅MIGRATING.md