用于 Paypal 令牌的 Paypal iOS SDK

Posted

技术标签:

【中文标题】用于 Paypal 令牌的 Paypal iOS SDK【英文标题】:Paypal iOS SDK for use with Paypal tokens 【发布时间】:2015-02-10 20:13:27 【问题描述】:

构建需要与Paypal 集成支付的ios 应用。但是,我的服务器端开发人员向我提供了一个贝宝令牌和 URL,作为允许用户进行Paypal 付款的一种方式。

是否有任何原生Paypal iOS SDK's 提供一种提供代币(EC-3789302FDS280352 风格的代币)以允许用户完成付款的方法?还是我必须为此使用 WebView?

【问题讨论】:

client id + receiver email address 是必需的,在二进制应用程序(使用 PayPal SDK)中 token没用,你可以在这里找到更多信息:github.com/paypal/PayPal-iOS-SDK/blob/master/docs/… 【参考方案1】:

服务器端开发人员是否向您提供了已认可的令牌(即用户已通过 Web 流程接受的令牌)或未认可的令牌(仅是 SetExpressCheckout() 调用的结果)?

如果是前者,您可以在任何地方(包括 iOS)通过 DoExpressCheckout 轻松完成付款;它只是一个 https API。

如果是后者,那么您需要通过 ExpressCheckout Web 流程发送用户,这意味着您的应用程序之外的 Safari,而不是 WebView。至少在过去,PayPal 禁止(根据他们的法律条款)将 PayPal 网络支付流程放在应用程序内的 WebView 中,因为它缺少任何“chrome”(URL 栏等)来允许用户检查他们是否有安全的直接连接到 PayPal 并且他们的凭据不会被应用程序或其他任何人截获。

随着时间的推移,PayPal 会稍微放宽这些要求,但它们并不关注/不关注在应用中使用旧版 ExpressCheckout 流程的用户。因此,如果您以这种方式构建,您可能会立即被 PayPal 关闭。 (更不用说 Apple 可能会在不通过 iTunes/Apple Pay 的应用程序中收集资金问题)。而且您很可能会被拒绝任何保护政策声明。

我建议您构建您的流程,以便用户在使用应用程序之前提供支付凭证,并且应用程序只能看到一个背书的 EC 令牌或(更好)一个计费协议令牌,或者您可以查看 Braintree 之类的东西v.zero SDK 更容易涵盖基于 Web 和应用程序内的凭据收集,并且将具有 PayPal 的支持(以及专为这两种结账环境设计的安全功能)。

【讨论】:

我不理解认可与未认可。我在 Paypals 文档中的任何地方都没有看到此参考。 PayPal 不使用“背书”这个术语,但有 3 个动作序列,SetEC/redirect/DoEC。这是中间步骤,重定向,用户同意(认可)付款。因此,认可是指用户已完成前两个步骤,包括登录和接受流程,因此您已准备好进行第 3 步(调用 DoExpressCheckout)。未经认可是指用户尚未完成第 2 步,因此您必须(重新)将用户引导至网络体验以接受付款,然后才能致电 DoExpressCheckout。

以上是关于用于 Paypal 令牌的 Paypal iOS SDK的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 iOS 中的 API 调用获取 PayPal 刷新令牌

如何获取 PayPal Payments 高级网关集成的安全令牌?

Paypal Sandbox 不适用于使用 Paypal iOS SDK 的非美国开发人员

PayPal 访问令牌在哪里?

刷新 PayPal OAuth 令牌

PayPal REST 令牌请求:api.paypal.com OK,api-m 失败