StripePaymentSheet 23.29.1

StripePaymentSheet 23.29.1

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



 
依赖项
StripeCore= 23.29.1
StripePayments= 23.29.1
StripePaymentsUI= 23.29.1
StripeApplePay= 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,而不是通过您的服务器。更多信息,请参阅我们的集成安全指南

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

SCAready:如果需要,SDK自动执行原生3D Secure身份验证,以符合欧洲的强客户身份验证法规。

原生UI:我们提供本机屏幕和元素以收集付款详细信息。例如,PaymentSheet是一个预构建的UI,它将所有必要的付款步骤(收集付款详情、账单详情和确认付款)组合到一个顶部显示的单一文件中。

PaymentSheet

Stripe APIStripePayments提供了与Stripe API中的对象和方法对应的底层API。您可以在该层之上构建完全定制的UI,同时仍然可以利用如STPCardValidator这样的实用程序来验证用户的输入。

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

App ClipsStripeApplePay模块提供用于在App Clip中提供Apple Pay的轻量级SDK

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

App Store审查指南。对于所有其他场景,您可以使用此SDK通过Stripe处理付款。

隐私

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

有关在App Store Connect中处理苹果应用隐私详情表的帮助,请访问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。

对于 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 到其目录。
  • 通过运行 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. 从存储库的根目录运行 bundle install && bundle exec fastlane stripeios_tests。这将安装测试依赖项并运行测试。
  3. 一旦您运行了一次,您也可以从 Stripe.xcworkspace 中的 StripeiOS 目标在 Xcode 中运行测试。请确保使用 iPhone 12 mini、iOS 16.1 模拟器,以便快照测试可以通过。

从旧版本迁移

查看 MIGRATING.md

许可证