StripePayments 23.29.1

StripePayments 23.29.1

Ramon TorresBen GuoYuki Tokuhirodavidme-stripeMel LudowiseNick PorterJaime ParkChen CenJohn WooEduardo UriasKrisjanis Gaidis 维护。



  • Stripe

Stripe iOS SDK

CocoaPods Carthage compatible Tuist badge License Platform

Stripe iOS SDK 可以帮助您快速简单地在 iOS 应用中建立优秀的支付体验。我们提供强大的且可定制的 UI 屏幕和元素,可以直接使用以收集用户的支付详情。我们还暴露了支持这些 UI 的高级别 API,以便您可以构建完全定制的体验。

查看我们的 📚 集成指南示例项目,或者 📘 浏览 SDK 参考

了解我们的 Stripe Identity iOS SDK 以验证 iOS 上用户的身份。

升级到 SDK 的较新版本?请参阅我们的 迁移指南更新日志

目录

特性

简化安全:我们使您能够轻松收集敏感数据,如信用卡号码,并保持与PCI合规。这意味着敏感数据直接发送到Stripe,而不是通过您的服务器。更多详情请参见我们的集成安全指南

Apple PayStripeApplePay 提供与Apple Pay的无缝集成。

准备好SCA:根据欧洲的3D Secure身份验证,SDK会自动执行本地验证以符合强客户身份认证法规。

原生UI:我们提供原生屏幕和元素来收集支付详情。例如,PaymentSheet是一个可以合并所有支付步骤的预设UI,包括收集支付详情、账单详情和确认支付,并在您的应用程序上方显示为单页。

PaymentSheet

Stripe APIStripePayments提供与Stripe API中的对象和方法相对应的低级API。您可以在这一层之上构建自己完全定制的UI,同时仍可利用STPCardValidator等实用程序来验证用户的输入。

卡扫描:我们支持iOS 13及更高版本上的卡扫描。请参阅我们的卡扫描部分。

App ClipsStripeApplePay模块提供了一个在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

入门

集成

从我们的📚集成指南示例项目开始,或者📘浏览SDK参考以获得关于SDK中所有类和方法的详细文档。

示例

从源构建

我们使用 Tuist 来生成Xcode项目,已从存储库的master分支中移除所有与Xcode相关的文件。注意,项目文件在标记版本中仍然可用。

如果您想从master分支构建,需要按照以下步骤操作

  • 克隆存储库并 cd 到其目录。
  • 按照tuist.io上的说明安装Tuist。
  • 运行 tuist generate,如果不希望自动打开Xcode,可以可选地传递-n选项。

您可以根据通常的方式构建任何生成的目标。

有关Tuist的更多信息,请访问 https://tuist.io

卡扫描

PaymentSheet 提供内置卡扫描功能。要启用卡扫描,您需要在应用程序的plist中设置 NSCameraUsageDescription并提供访问摄像头的理由(例如:“扫描卡片”)。卡扫描在iOS 13或更高版本的设备上受支持。

您可以在我们的PaymentSheet示例应用程序中演示此功能。当您在设备上运行示例应用程序时,在添加新卡时您将看到一个“扫描卡片”按钮。

贡献

我们欢迎各种形式的贡献,包括新功能、错误修复和文档改进。如果是要进行重大改动,请首先打开一个问题来描述您想构建的内容,以便我们可以商讨如何前进。否则,您可以继续打开一个合并请求,进行诸如错别字修复和单行代码等小型更改。

运行测试

  1. 安装 Carthage 0.37 或更高版本(如果您已安装 homebrew,请运行 brew install carthage
  2. 从存储库的根目录运行 bundle install && bundle exec fastlane stripeios_tests。这将安装测试依赖项并运行测试。
  3. 运行一次后,您还可以从 Stripe.xcworkspace 中的 StripeiOS 目标在 Xcode 中运行测试。请确保使用 iPhone 12 mini、iOS 16.1 模拟器,以确保快照测试通过。

从旧版本迁移

请参阅 MIGRATING.md

许可证