提示
想与 Stripe 工程师进行实时交流吗?请加入我们的 Discord 服务器。
Stripe iOS SDK 让您在 iOS 应用程序中快速轻松地构建出色的支付体验。我们提供功能强大且可自定义的 UI 屏幕和元素,开箱即可用于收集用户的付款详细信息。我们还公开了支持这些 UI 的底层 API,以便您可以构建完全自定义的体验。
通过我们的📚 集成指南和示例项目开始使用,或者📘 浏览 SDK 参考。
简化的安全性:我们让您能够轻松收集信用卡号等敏感数据,并保持 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。
本地化:我们支持以下本地化版本:保加利亚语、加泰罗尼亚语、中文(香港)、中文(简体)、中文(繁体)、克罗地亚语、捷克语、丹麦语、荷兰语、英语(美国)、英语(英国)、爱沙尼亚语、菲律宾语、芬兰语、法语、法语(加拿大)、德语、希腊语、匈牙利语、印度尼西亚语、意大利语、日语、韩语、拉脱维亚语、立陶宛语、马来语、马耳他语、挪威博克马尔语、挪威尼诺斯克语(挪威)、波兰语、葡萄牙语、葡萄牙语(巴西)、罗马尼亚语、俄语、斯洛伐克语、斯洛文尼亚语、西班牙语、西班牙语(拉丁美洲)、瑞典语、土耳其语、泰语和越南语。
Identity:了解我们的 Stripe Identity iOS SDK,以验证用户的身份。
如果您销售将在您的应用程序内使用的数字产品或服务(例如订阅、游戏内货币、游戏关卡、访问高级内容或解锁完整版本),则必须使用 Apple 的应用内购买 API。有关更多信息,请参阅App Store 审核指南。对于所有其他情况,您可以使用此 SDK 通过 Stripe 处理付款。
Stripe iOS SDK 收集数据以帮助我们改进产品并防止欺诈。这些数据绝不会用于广告,也不会出租、出售或提供给广告商。我们的完整隐私政策可在 https://stripe.com/privacy 上查阅。
如需 Apple App Store Connect 中的 App 隐私详情表单方面的帮助,请访问Stripe iOS SDK 隐私详情。
模块 | 描述 | 大小(下载 → 安装) |
---|---|---|
StripePaymentSheet | Stripe 的 预构建支付 UI。 | |
StripeConnect | 连接嵌入式组件,以将关联账户控制面板功能添加到您的应用程序。 | |
StripeIdentity | 安全地在 iOS 上捕获身份证件和自拍照,以用于 Stripe 的 Identity API,以确认全球用户的身份。 | |
StripeFinancialConnections | 使用 Stripe Financial Connections 将金融账户安全地连接到 Stripe 的商户账户。 | |
Stripe | 包含以下所有框架,以及 Issuing。 | |
StripeApplePay | Apple Pay 支持,包括 STPApplePayContext 。 |
|
StripePayments | Stripe Payments API 的绑定。 | |
StripePaymentsUI | Stripe Payments API 的绑定、STPPaymentCardTextField、STPCardFormView 和其他 UI 元素。 |
我们支持 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 15 或更高版本,并且与目标为 iOS 13 或更高版本的应用程序兼容。我们支持 macOS 11 或更高版本上的 Catalyst。
对于 iOS 12 支持,请使用 v22.8.4。对于 iOS 11 支持,请使用 v21.13.0。对于 iOS 10,请使用 v19.4.0。如果您需要支持 iOS 9,请使用 v17.0.2。
通过我们的📚 集成指南和示例项目开始使用,或者📘 浏览 SDK 参考,以获取 SDK 中所有类和方法的详细文档。
预构建 UI(推荐)
PaymentSheet
构建支付流程,PaymentSheet
是一种可嵌入的原生 UI 组件,可让您通过一次集成接受 10 多种付款方式。PaymentSheet 提供内置的银行卡扫描功能。要启用银行卡扫描,您需要在应用程序的 plist 中设置 NSCameraUsageDescription
,并提供访问相机的原因(例如“用于扫描银行卡”)。在搭载 iOS 13 或更高版本的设备上支持银行卡扫描。
您可以在我们的 PaymentSheet 示例应用程序中演示此功能。当您在设备上运行示例应用程序时,在添加新银行卡时会看到“扫描银行卡”按钮。
我们欢迎任何类型的贡献,包括新功能、错误修复和文档改进。如果是重大更改,请先提出 issue 描述您想要构建的内容,以便我们可以讨论如何 आगे बढ़ें。否则,请直接打开 pull request 进行小改动,例如错别字修复和单行代码。
brew install carthage
)bundle install && bundle exec fastlane stripeios_tests
。这将安装测试依赖项并运行测试。Stripe.xcworkspace
中的 StripeiOS
目标在 Xcode 中运行测试。要重新录制快照测试,请使用 bundle exec ruby ci_scripts/snapshots.rb --record
。
请参阅 MIGRATING.md
我们使用 swiftlint 来强制执行代码风格。
要安装它,请运行 brew install swiftlint
要在推送之前检查代码风格,您可以运行 ci_scripts/lint_modified_files.sh
您还可以通过运行 ln -s "$(pwd)/ci_scripts/lint_modified_files.sh" .git/hooks/pre-push && chmod +x .git/hooks/pre-push
将此脚本添加为 pre-push 钩子
要自动格式化修改后的文件,您可以使用 ci_scripts/format_modified_files.sh
,您可以使用 ln -s "$(pwd)/ci_scripts/format_modified_files.sh" .git/hooks/pre-commit && chmod +x .git/hooks/pre-commit
将其添加为 pre-commit 钩子