StripeCardScan 23.29.1

StripeCardScan 23.29.1

Mel LudowiseYuki Tokuhirodavidme-stripeNick PorterRamon TorresJaime ParkChen CenJohn WooEduardo UriasKrisjanis GaidisBen Guo 维护。



  • 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模块提供了一个轻量级SDK,在App Clip中提供Apple Pay。

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

推荐用法

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

隐私

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

有关 App Store Connect 中 Apple 的 App 隐私详情表的帮助,请访问 Stripe iOS SDK 隐私详情

模块

模块 描述 压缩版 未压缩版
StripePaymentSheet Stripe 预构建的支付用户界面。 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(推荐)

    • 本例演示了如何使用嵌入式原生UI组件 PaymentSheet 来构建支付流程,这个组件允许你通过单次集成接受超过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 示例应用 中演示此功能。当在设备上运行示例应用时,在添加新卡片时会看到“扫描卡片”按钮。

贡献

我们欢迎各种形式的贡献,包括新功能、错误修复和文档改进。如果您要进行重大变更,请首先打开一个issue来描述您想要构建的内容,以便我们可以讨论如何推进。否则,请直接开源请求以进行诸如拼写纠正和单行代码等小型更改。

运行测试

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

从旧版本迁移

请参阅MIGRATING.md

许可证