StripeCameraCore 23.29.1

StripeCameraCore 23.29.1

由以下人员维护:Mel LudowiseBen GuoYuki Tokuhirodavidme-stripeNick 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提供低级别API,与Stripe API中的对象和方法相对应。您可以在这一层之上构建自己的完全自定义UI,同时依然可以利用STPCardValidator之类的实用工具来验证用户的输入。

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

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

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

推荐用法

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

隐私

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

有关支持 App Store Connect 中的 Apple App Privacy Details 表格,请访问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 或更高版本的 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中所有类和方法的详细文档。

示例

从源码构建

我们使用 Tuist 生成 Xcode 项目,并已从存储库的 master 分支中删除所有与 Xcode 相关的文件。注意,项目文件仍在标记版本中可用。

如果您想从 master 分支构建,需要遵循以下步骤:

  • 克隆存储库并将 cd 进入其目录。
  • 按照 tuist.io 中的说明安装 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

许可证