PayPal-iOS-SDK 2.18.1

PayPal-iOS-SDK 2.18.1

测试已测试
语言语言 Obj-CObjective C
许可证 NOASSERTION
发布最近发布2020年5月

BraintreeDavid MerinoSamantha CannilloSammy CannilloJax DesMarais-Leder 维护。



  • PayPal

PayPal iOS SDK

PayPal iOS SDK 使得在移动应用程序中添加 PayPal 和信用卡支付变得简单。

SDK screenshots

本文件日文文档可用:[日本語のドキュメント](docs/ja/README.md)。

内容

用例

SDK 支持两种支付用例 - 单次支付未来支付 - 以及第三种获取客户信息的用例 - 分享资料

单次支付

从客户的PayPal账户或支付卡(使用card.io扫描)接收一次性付款。这可能包括:(1) 立即付款,您的服务器应随后进行验证;(2) 对付款的授权,您的服务器必须随后进行抓捕;(3) 对订单的付款,您的服务器必须随后进行授权和抓捕。

  1. 接受单一付款并收到付款凭证。
  2. 在您的服务器上,使用PayPal的API进行验证付款抓捕付款,或处理订单(PayPal开发者网站)。

未来付款

您的客户只需在PayPal中登录一次并同意未来的付款。

  1. 获取客户同意以接收授权码。
  2. 在您的服务器上,使用此授权码获取OAuth2令牌

稍后,当该客户启动付款时

  1. 获取应用相关ID,您将将其传递给您的服务器。
  2. 在您的服务器上,使用OAuth2令牌、客户端元数据ID和PayPal的API创建付款

个人信息共享

您的客户登录PayPal并同意PayPal与您共享信息。

  1. 获取客户同意以接收授权码。
  2. 在您的服务器上,使用此授权码获取OAuth2令牌
  3. 在您的服务器上,使用OAuth2令牌和PayPal的API检索客户信息

要求

  • Xcode 6和iOS SDK 8
  • iOS 6.0+目标部署
  • armv7, armv7s和arm64设备,以及模拟器(不带armv6)
  • 所有尺寸和分辨率的iPhone和iPad

将SDK添加到您的项目中

如果您使用CocoaPods,请在您的Podfile中添加以下几行

platform :ios, '6.0'
pod 'PayPal-iOS-SDK'

如果您不使用CocoaPods,那么

  1. 克隆或下载SDK,它包括头文件、许可函、发布说明和一个静态库。它还包括一个示例应用。
    • 从2.4.0版本开始,SDK需要Xcode 6和iOS 8 SDK。如果您仍然在使用Xcode 5,请使用本SDK的2.3.2版本
  2. PayPalMobile目录(包含多个.h文件和libPayPalMobile.a)添加到您的Xcode项目中。我们建议勾选“复制项...”并选择“创建组...”。
  3. 在您项目的构建设置中(在TARGETS部分,而不是PROJECTS部分)
  • -lc++ -ObjC添加到其他链接器标志
  • 启用启用模块(C和Objective-C)
  • 启用自动链接框架
  1. 在您项目的构建阶段中,与这些库链接您的项目。从iOS 6.0开始的版本支持弱链接。
  • AudioToolbox.framework
  • AVFoundation.framework
  • CoreLocation.framework
  • CoreMedia.framework
  • MessageUI.framework
  • MobileCoreServices.framework
  • SystemConfiguration.framework

使用或不用CocoaPods

  1. 将acknowledgments.md中的开源许可函添加到您的应用许可证函中。

凭据

您的移动端集成需要在每个环境(实时和测试[沙箱])下使用不同的 client_id 值。

您的服务器集成(用于验证或创建支付)也将需要与每个 client_id 对应的 client_secret

您可以通过访问PayPal开发者网站上的应用页面并使用您的PayPal帐户登录来获取这些PayPal API凭证。

沙箱

登录此应用页面后,您将被分配包括测试 凭证 在内的测试参数,这将允许您测试iOS集成与PayPal沙箱。

在测试您的应用程序时,在SDK的用户界面登录PayPal时,您应该使用一个 个人 沙箱账户邮箱和密码。即不要使用您的沙箱 商业 凭证。

您可以在沙箱账户页面上创建商业和个人沙箱账户。

实时

要获取您的 实时 凭证,您需要有一个商业账户。如果您还没有商业账户,应用页面的底部有一个链接可以帮助您开始建立。

国际支持

本地化

SDK具有许多语言和区域的内置翻译。请参阅头文件以获得完整列表。

货币

SDK支持多种货币。请参阅REST API 国家和货币文档以获得完整且最新的列表。

请注意,用于支付卡和PayPal支付的货币支持情况不同。除非您禁用支付卡接受(通过PayPalConfiguration.acceptCreditCards属性),否则我们**建议仅限支持两种支付类型货币的交易**。目前这些货币有:美元(USD)、英镑(GBP)、加拿大元(CAD)、欧元(EUR)、日元(JPY)。

如果您的应用使用不支持所选支付类型的货币初始化交易,则SDK将向用户显示错误并在控制台日志中写入一条信息。

测试

在开发和测试期间,将环境设置为沙盒模式或无网络/模拟模式,以避免涉及真实货币。更多信息请参阅头文件。

文档

  • 本SDK中的这些文档,包括使用概述、分步集成说明和示例代码。
  • SDK中包含的示例应用。
  • 头文件经过详细文档化;如有需要,请查阅它们以了解特定属性或参数的额外详细信息。
  • PayPal开发者文档,涵盖了错误代码和服务器端集成说明。

用户体验

用户界面外观和行为在库内部设置。为了用户体验一致性,应用程序不应调整外观属性或尝试修改SDK在提供头文件中记录的方法之外的行为。

具体来说,如果您正在使用UIAppearance修改应用程序中任何UI元素的外观,您应该在显示我们的viewController之前撤消这些更改,并在销毁viewController后重新设置它们。

迁移到PayPal iOS SDK 2.0

从1.x版本升级

由于这是一个主要版本变化,2.0版本中引入的API与1.x集成不兼容。但是,SDK仍然支持所有之前的单次支付功能。升级很简单。

  • SDK的初始化是通过新的PayPalMobile类的的方法完成的。
  • PayPalPaymentViewController的大多数属性已经移动到PayPalConfiguration,并且将初始化方法修改为接受此类配置对象。
  • PayPalPaymentDelegate 协议方法也已经更改,包括作为一个参数的 PayPalPaymentViewController

旧版库

PayPal正在用新的PayPal Android和iOS SDK替换旧的“Mobile Payments Libraries”(MPL)。新的移动SDK基于PayPal REST API,而旧的MPL使用Adaptive Payments API。

在提供第三方、并行和链式支付等功能之前(如果需要),可以使用MPL

有关MPL的问题应在该sdk-packages仓库中提交。

对于现有Express Checkout集成或希望使用更多功能的开发者,可以在此webview中使用Mobile Express Checkout

下一步

根据您的用例,您现在可以