我想在市场 iphone 应用程序中实现 Paypal 链式支付(不是自适应支付方式之一),我希望我的服务器能够跟踪所有支付步骤,以避免对同一产品进行多次并发购买(它是实物产品,不能重复购买)。
我从 paypal 上阅读了关于 adaptive payment flow 的文档, 这关于 mobile integration这关于 IPN server side实现。
现在实现这一目标的唯一方法似乎是执行以下操作:
- 当用户点击支付按钮时,客户端调用我们的服务器为该产品创建一个“待定”交易。
- 客户端调用 native paypal sdk 向用户呈现付款 View 以及我们服务器返回的所有信息。
- paypal 调用我们的服务器通知已完成付款,服务器在此完成之前创建的待处理交易。
- paypal 调用客户通知已完成付款,此处显示“谢谢”屏幕。
出于这些原因,我不会做这种事情:
- 我必须在产品上加一把“锁”以避免重复购买:我唯一可以加一把锁的地方是在调用 paypal 用户界面之前,然后解锁它以防用户取消操作。如果用户长时间停留在 paypal 确认上怎么办?我可以在服务器上设置超时(例如 1 小时),但这不会避免用户在该时间段后完成购买!
- 我必须设置客户的付款详细信息(如金额和收款人电子邮件)。 如我所写,我可以使用服务器提供的数据,但这会导致我遇到几个安全和复杂性问题。
- 使用 native SDK,用户可以从他们现有的送货地址之一中进行选择,但不能创建或编辑新的送货地址。我必须在 paypal 之外询问送货地址,并将此数据传递到我自己的服务器。
有什么建议吗?
最佳答案
最后,我们的工作方法是使用 Paypal 预先批准。 如果您不知道什么是预批,请想象一下银行清算:您请求用户允许随时向他收费,在我们的例子中,我们会在卖家出售商品时向他收取手续费佣金。
将卖家置于交易流程之外,允许我们让买家使用嵌入式 WebView 中的快速结账实现完成结账。
使用这种技术,您基本上是在要求买家预授权付款。在他授予许可后,您将 secret token 传回执行实际付款的网络服务器(以及任何其他安全验证)。
在将钱从买方转移到卖方后,我们使用预批准向卖方收取交易费用。
请注意,最后我们没有使用真正的 paypal 链式支付,但对我们来说这种方法很好,现在一切似乎都正常。
关于ios - iOS 应用程序 + 服务器集成中的 Paypal 链式支付(或自适应),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8899227/