4

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

我从 paypal 阅读了关于自适应支付流程的文档,关于移动集成的文档以及关于IPN 服务器端实现的文档。

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

  1. 当用户点击支付按钮时,客户端调用我们的服务器为该产品创建“待处理”交易。
  2. 客户端调用本机 paypal sdk 向用户展示支付视图以及我们服务器返回的所有信息。
  3. paypal 会调用我们的服务器来通知已完成的付款,并且服务器会在此处完成先前创建的待处理交易。
  4. 贝宝致电客户通知已完成付款,此处显示“谢谢”屏幕。

由于以下原因,我不会做这种事情:

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

有什么建议么?

4

1 回答 1

0

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

将卖方排除在交易流程之外,允许我们让买方使用快速结账实现,从嵌入式 web 视图中完成结账。

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

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

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

于 2013-05-03T11:45:51.013 回答