StripeLinkCore 23.18.0

StripeLinkCore 23.18.0

Yuki TokuhiroBen Guodavidme-stripeMel LudowiseNick PorterRamon TorresJaime 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就绪:SDK会根据需要自动执行本地的3D Secure认证,以符合欧洲的强客户认证规定

原生UI:我们提供原生屏幕和元素以收集付款详情。例如,PaymentSheet是一个预构建的UI,它将支付所需的所有步骤(收集付款详情、账单详情和确认付款)整合到一个显示在您的应用顶部的单张上。

PaymentSheet

Stripe APIStripePayments提供对应Stripe API中的对象和方法的低级别API。您可以在该层面上构建自己的完全定制的UI,同时仍然利用STPCardValidator等实用工具来验证用户的输入。

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

App ClipsStripeApplePay模块提供用于在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

开始使用

集成

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

示例

从源代码构建

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

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

  • 克隆仓库并 cd 到其目录。
  • 根据 tuist.io 上的说明安装 Tuist。
  • 运行 tuist generate,可选地传递 -n 选项,如果您不想自动打开 Xcode。

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

有关 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. 一旦运行了上述命令,您也可以从Xcode的StripeiOS目标在Stripe.xcworkspace中运行测试。请确保使用iPhone 12 mini、iOS 16.1模拟器,这样快照测试才能通过。

从旧版本迁移

请参阅MIGRATING.md

许可证