用于 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 高级网关集成的安全令牌?