ios - iOS 应用程序 + 服务器集成中的 Paypal 链式支付(或自适应)

标签 ios mobile sdk paypal-adaptive-payments

我想在市场 iphone 应用程序中实现 Paypal 链式支付(不是自适应支付方式之一),我希望我的服务器能够跟踪所有支付步骤,以避免对同一产品进行多次并发购买(它是实物产品,不能重复购买)。

我从 paypal 上阅读了关于 adaptive payment flow 的文档, 这关于 mobile integration这关于 IPN server side实现。

现在实现这一目标的唯一方法似乎是执行以下操作:

  1. 当用户点击支付按钮时,客户端调用我们的服务器为该产品创建一个“待定”交易。
  2. 客户端调用 native paypal sdk 向用户呈现付款 View 以及我们服务器返回的所有信息。
  3. paypal 调用我们的服务器通知已完成付款,服务器在此完成之前创建的待处理交易。
  4. paypal 调用客户通知已完成付款,此处显示“谢谢”屏幕。

出于这些原因,我不会做这种事情:

  • 我必须在产品上加一把“锁”以避免重复购买:我唯一可以加一把锁的地方是在调用 paypal 用户界面之前,然后解锁它以防用户取消操作。如果用户长时间停留在 paypal 确认上怎么办?我可以在服务器上设置超时(例如 1 小时),但这不会避免用户在该时间段后完成购买!
  • 我必须设置客户的付款详细信息(如金额和收款人电子邮件)。 如我所写,我可以使用服务器提供的数据,但这会导致我遇到几个安全和复杂性问题。
  • 使用 native SDK,用户可以从他们现有的送货地址之一中进行选择,但不能创建或编辑新的送货地址。我必须在 paypal 之外询问送货地址,并将此数据传递到我自己的服务器。

有什么建议吗?

最佳答案

最后,我们的工作方法是使用 Paypal 预先批准。 如果您不知道什么是预批,请想象一下银行清算:您请求用户允许随时向他收费,在我们的例子中,我们会在卖家出售商品时向他收取手续费佣金。

将卖家置于交易流程之外,允许我们让买家使用嵌入式 WebView 中的快速结账实现完成结账。

使用这种技术,您基本上是在要求买家预授权付款。在他授予许可后,您将 secret token 传回执行实际付款的网络服务器(以及任何其他安全验证)。

在将钱从买方转移到卖方后,我们使用预批准向卖方收取交易费用。

请注意,最后我们没有使用真正的 paypal 链式支付,但对我们来说这种方法很好,现在一切似乎都正常。

关于ios - iOS 应用程序 + 服务器集成中的 Paypal 链式支付(或自适应),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8899227/

相关文章:

ios - (CoreData) MagicalRecord 突然停止持久保存

ios - Xcode - IB 可设计 : Failed to render and update auto layout (no suitable image found)

ios - 传递给需要在Xcode 7中使用非null参数的被调用方的null

android - 如何在 Flutter 中使用 Dio 和 multi_image_picker 插件上传多张图片

android - Flutter:添加到 Hive 框中的对象的字段在应用重启后返回 null

iphone - 使用 slider 拇指移动标签

ios - 将图像从 Swift 文件(不是 ViewController)传递到 ViewController

ios - YTPlayerView(youTube)付款者未在iOS 11中播放视频

android - 错误 #200 Facebook SDK Android

CSS - 为移动设备设计时仅使用一个 @media 查询是否安全?