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的应用内购买API。有关更多信息,请参阅App Store审核指南。对于所有其他情况,您可以使用这个SDK通过Stripe处理付款。
隐私
Stripe iOS SDK收集数据以帮助我们改进我们的产品并防止欺诈。这些数据永远不会用于广告推广,也不会出租、出售或提供给广告商。我们的完整隐私政策可在https://stripe.com/privacy查阅。
如需帮助处理App Store Connect中的Apple的应用隐私详细信息格式,请访问Stripe iOS SDK隐私详细信息。
模块
模块 | 描述 | 压缩 | 未压缩 |
---|---|---|---|
StripePaymentSheet | Stripe的预先构建的支付UI。 | 2.7MB | 6.3MB |
Stripe | 包含以下所有框架,以及发行和基本集成。 | 2.3MB | 5.1MB |
StripeApplePay | 包括STPApplePayContext 的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(推荐使用)
- 本例演示了如何使用 PaymentSheet 构建支付流程,PaymentSheet 是一个可嵌入的原生 UI 组件,允许您通过单次集成接受 10 多种支付方式。
-
- 本例演示如何使用 Stripe API 手动接受各种支付方式。
从源代码构建
我们使用 Tuist 生成 Xcode 项目,并从仓库的 master 分支中移除了所有与 Xcode 相关的文件。注意,项目文件在标记的版本发布中仍然可用。
如果您想从 master 分支构建,需要按照以下步骤操作
- 克隆仓库并
cd
到其目录。 - 根据 tuist.io 上的说明安装 Tuist。
- 运行
tuist generate
,可选地传递-n
选项,如果您不想自动打开 Xcode。
您可以根据常规方式构建生成的任何目标。
有关 Tuist 的更多信息,请访问 https://tuist.io。
卡扫描
PaymentSheet 提供了内置的卡扫描功能。要启用卡片扫描,您需要在应用的全局信息文件 (plist) 中设置 NSCameraUsageDescription
,并提供访问摄像头的理由(例如:“扫描卡片”)。卡片扫描支持 iOS 13 或更高版本的设备。
您可以在我们的 PaymentSheet 示例应用 中演示此功能。当您在设备上运行示例应用时,添加新卡时会看到“扫描卡”按钮。
贡献
我们欢迎各种形式的贡献,包括新特性、错误修正和文档改进。如果您要进行重大更改,请先提交一个问题描述您要构建的内容,以便我们讨论如何推进。否则,您可以继续提交拉取请求,对如错别字修正和一行代码等小修改进行提交。
运行测试
- 安装Carthage 0.37或更高版本(如果您已安装homebrew,请使用
brew install carthage
命令) - 从存储库的根目录,运行
bundle install && bundle exec fastlane stripeios_tests
。这将安装测试依赖项并运行测试。 - 一旦运行了上述命令,您也可以从Xcode的
StripeiOS
目标在Stripe.xcworkspace
中运行测试。请确保使用iPhone 12 mini、iOS 16.1模拟器,这样快照测试才能通过。
从旧版本迁移
请参阅MIGRATING.md