StripeCore 23.29.1

StripeCore 23.29.1

Mel LudowiseBen GuoYuki Tokuhirodavidme-stripeNick PorterRamon TorresJaime ParkChen CenJohn WooEduardo UriasKrisjanis Gaidis 维护。



StripeCore 23.29.1

  • 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,而不是通过您的服务器。有关更多信息,请参阅我们的集成安全指南

苹果支付StripeApplePay提供与苹果支付无缝集成

SCA准备就绪:SDK会自动执行本地3D Secure身份验证(如有必要),以符合欧洲的强客户身份验证法规

原生前端界面:我们提供本地屏幕和元素以收集付款详细信息。例如,支付表是一个预构建的UI,它将所有付款步骤(收集付款详细信息、账单详细信息以及确认付款)合并到一个显示在应用顶部的工作表中。

PaymentSheet

Stripe APIStripePayments提供了与Stripe API中的对象和方法相对应的低级API。您可以在这一层的基础上构建自己的完全自定义UI,同时仍然可以利用例如STPCardValidator之类的实用工具来验证用户的输入。

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

App ClipsStripeApplePay模块提供了一个轻量级SDK,用于在App Clip中提供苹果支付。

本地化:我们支持以下本地化:保加利亚语、加泰罗尼亚语、中文(香港)、中文(简体)、中文(繁体)、克罗地亚语、捷克语、丹麦语、荷兰语、英语(美国)、英语(英国)、爱沙尼亚语、菲律宾语、芬兰语、法语、法语(加拿大)、德语、希腊语、匈牙利语、印度尼西亚语、意大利语、日语、韩语、拉脱维亚语、立陶宛语、马来语、马耳他语、挪威语 bokmål、挪威语 nyorsk(挪威)、波兰语、葡萄牙语、葡萄牙语(巴西)、罗马尼亚语、俄语、斯洛伐克语、斯洛文尼亚语、西班牙语、西班牙语(拉丁美洲)、瑞典语、土耳其语、泰语和越南语。

推荐用法

如果您在应用内销售或提供将被使用在您应用内的数字产品或服务(例如订阅、游戏内货币、游戏等级、访问高级内容或解锁完整版),您必须使用苹果的在内购API。有关更多信息,请参阅App Store 审查指南。对于所有其他场景,您可以使用此SDK通过Stripe处理支付。

隐私

Stripe iOS SDK 收集数据以帮助我们改进产品并防止欺诈。这些数据绝不会用于广告,也不会出租、出售或提供给广告商。我们的完整隐私政策可在https://stripe.com/privacy查看。

有关Apple App Store Connect中Apple的隐私详细信息表的帮助,请访问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支付API的绑定。 1.0MB 2.6MB
StripePaymentsUI Stripe支付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。

v22.8.4支持iOS 12。请使用v21.13.0以支持iOS 11,请使用v19.4.0以支持iOS 10。如果您需要支持iOS 9,请使用v17.0.2

入门

集成

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

示例

从源代码构建

我们使用 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 示例应用程序 中演示此功能。当您在设备上运行示例应用程序时,在添加新卡时您会看到一个“扫描卡”按钮。

贡献

我们欢迎任何形式的贡献,包括新功能、错误修复和文档改进。如果是一个大的更改,请先创建一个问题描述您想要构建的内容,这样我们可以讨论如何向前推进。否则,请开始创建一个拉取请求,用于提交小的更改,如错别字修复和单行代码。

运行测试

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

从旧版本迁移

查看 MIGRATING.md

许可协议