在iOS app +服务器集成中的paypal链式支付(或自适应)

时间:2012-01-17 17:46:56

标签: ios mobile sdk paypal-adaptive-payments

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

我在Paypal上阅读了关于adaptive payment flow的文档,这是关于mobile integration以及关于IPN server side实现的文档。

现在实现这一目标的唯一方法似乎是:

  1. 当用户点击付款按钮时,客户端会调用我们的服务器为该产品创建“待处理”交易。
  2. 客户端调用本机paypal sdk向用户显示支付视图,其中包含我们服务器返回的所有信息。
  3. paypal致电我们的服务器通知已完成的付款,此处服务器完成先前创建的待处理交易。
  4. paypal致电客户通知已完成的付款,此处显示“谢谢”屏幕。
  5. 出于以下原因,我不会做出这样的事情:

    • 我必须对产品进行“锁定”以避免重复购买:在调用paypal UI之前,我可以放置此锁定的唯一位置,然后在用户取消操作时将其解锁。如果用户长时间保留在PayPal确认书上怎么办?我可以在服务器上设置超时(例如1小时),但这不会避免用户在此期间完成购买!
    • 我必须从客户端设置付款详细信息(如金额和接收方电子邮件)。 正如我所写,我可以使用服务器提供的数据,但这会导致我遇到一些安全性和复杂性问题。
    • 使用本机sdk,用户可以从其中一个现有的送货地址中进行选择,但他无法创建或编辑新的送货地址。我必须在paypal之外询问送货地址,并将此数据传递给我自己的服务器。

    有什么建议吗?

1 个答案:

答案 0 :(得分:0)

最后,我们的工作方法是使用paypal preapproval。 如果您不知道预先批准的是什么,想象一下银行摆脱:您要求用户随时向他收取费用,在我们的情况下,我们会在销售商品时向卖家收取费用佣金。

让卖家不在交易流程中,允许我们让买家在嵌入式网页浏览中使用快速结账实施完成结账。

使用这种技术,您基本上是要求买方预先授权付款。在他授予许可后,您将秘密令牌传递回您的网络服务器,在那里执行真实付款(以及任何其他安全验证)。

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

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