Stripe 23.29.1

Stripe 23.29.1

测试已测试
Lang语言 Obj-CObjective C
许可 MIT
发布最后发布Aug 2024

Ben GuoMel LudowiseYuki Tokuhirodavidme-stripeNick PorterRamon TorresJaime ParkChen CenJohn WooEduardo UriasKrisjanis Gaidis 维护。



 
依赖
StripeCore= 23.29.1
StripeUICore= 23.29.1
StripeApplePay= 23.29.1
StripePayments= 23.29.1
StripePaymentsUI= 23.29.1
 

Stripe 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的SDK。

SCA-ready:SDK会自动执行本机3D Secure验证,以满足欧洲的强客户身份验证法规。

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

PaymentSheet

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

卡片扫描:我们支持iOS 13及更高版本来进行卡片扫描。有关详细信息,请参阅我们的卡片扫描部分。

App ClipsStripeApplePay模块提供了一个轻量级SDK,用于在App Clip中提供Apple Pay。

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

推荐用法

如果您在应用内销售将被使用的数字产品或服务(例如,订阅、游戏内货币、游戏关卡、访问高级内容或解锁完整版本),则必须使用苹果的“应用内购买”API。有关更多信息,请参阅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 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 或更高版本的 app。我们支持 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 中的所有类和方法的详细说明。

示例

  • 预建UI (推荐)

    • 此示例演示了如何使用 PaymentSheet 搭建支付流程,这是一个可嵌入的本地UI组件,它允许您通过单一集成接受 10+ 支付方式
  • 非卡支付示例

    • 此示例演示了如何使用 Stripe API 手动接受各种支付方式。

从源构建

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

贡献

我们欢迎各种类型的贡献,包括新功能、错误修复和文档改进。如果您想要进行重大更改,请先打开一个问题说明您想构建什么内容,以便我们可以讨论如何进行下一步。否则,可以直接提交一个关于如错别字修复和单行代码的pull request。

运行测试

  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

许可协议