iOS应用程序内的paypal链接支付(或自适应);服务器集成

iOS应用程序内的paypal链接支付(或自适应);服务器集成,ios,mobile,sdk,paypal-adaptive-payments,Ios,Mobile,Sdk,Paypal Adaptive Payments,我希望在marketplace iphone应用程序中实现paypal链接支付(不是自适应支付方法之一),我希望我的服务器能够跟踪所有支付步骤,以避免在同一产品上同时购买多个产品(这是一种物理产品,不能购买两次) 我从paypal上读了这篇关于,这篇关于,这篇关于实施的文档 现在,实现这一目标的唯一途径似乎是: 当用户单击pay按钮时,客户端调用我们的服务器为该产品创建一个“挂起”事务 客户机调用本机paypal sdk,向用户展示支付视图以及服务器返回的所有信息 paypal呼叫我们的服务器通

我希望在marketplace iphone应用程序中实现paypal链接支付(不是自适应支付方法之一),我希望我的服务器能够跟踪所有支付步骤,以避免在同一产品上同时购买多个产品(这是一种物理产品,不能购买两次)

我从paypal上读了这篇关于,这篇关于,这篇关于实施的文档

现在,实现这一目标的唯一途径似乎是:

  • 当用户单击pay按钮时,客户端调用我们的服务器为该产品创建一个“挂起”事务
  • 客户机调用本机paypal sdk,向用户展示支付视图以及服务器返回的所有信息
  • paypal呼叫我们的服务器通知已完成的付款,服务器在此完成先前创建的挂起交易
  • paypal致电客户通知已完成的付款,此处显示“谢谢”屏幕
  • 出于以下原因,我不会做这种事情:

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

    有什么建议吗?

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

    将卖家置于交易流之外,允许我们让买家在嵌入式webview中使用express checkout实现完成结账

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

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


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

    您解决了问题吗?你能分享你的经验吗?@Mighter刚刚和paypal分享了我们的经验。希望这能有所帮助。这并不能解决连锁支付延迟的问题,因为它不适合每个人的需要。不过做得不错。@nebillo-确认一下。首先,与卖家建立预批准(这似乎是验证卖家paypal地址的好方法)。第二,使用IPN在买方和卖方之间发起一次简单的支付,检查付款状态和金额,并使用预批准付款向卖方收取第二笔交易的佣金。我的问题是-为什么这比进行链式支付并通过单笔交易收取费用要好?因为在移动设备上处理链式支付的唯一方法是使用paypal MPL sdk,它真的很糟糕,并且会介绍我在文章末尾描述的三个问题。为了澄清,我们根本没有使用IPN。服务器自动调用paypal api,并同步接收回拨。