使用PayPal MPL,后端服务器如何检查付款是否已完成? 据我所知,MPL控制整个流程,不需要后端服务器调用 - 但如果服务器需要验证并注册购买完成,该怎么办。
更新首先,感谢您的回答。 我们有两个要求/偏好可以指导我们改进流程:
由于 req#1 ,我们不喜欢IPN。根据{{3}}:
虽然PayPal通常会立即处理IPN消息,但IPN与您网站上的操作不同步。互联网连接并非总是100%可靠,IPN消息可能会丢失或延迟。 IPN服务自动重新发送消息,直到侦听器确认它们。该服务最多会留言4天。 由于IPN不是实时服务,因此您的结帐流程不应等待IPN消息才能完成。如果结账流程取决于接收IPN消息,则可能由于系统负载或其他原因而延迟处理。配置结帐流程以处理可能的延迟。
iOS SDK文档中描述的过程涉及各种API调用以验证付款,但这些调用需要来自客户端应用程序的一些证明数据。但是,如果客户丢失证据数据怎么办? ( req#2 )也许可以在付款之前将证明数据发送到后端?在这种情况下,后端服务器可以存储证明数据,直到它可以被验证。这个过程会是这样的:
为此,我们需要一个带有参数的API调用,该参数在步骤2中可用,但大多数id-s仅在付款完成后才可用。有什么建议吗?
答案 0 :(得分:0)
您应该收到回复,表明付款已完成。但是,如果您想要进行某些验证并在响应之外注册购买完成,则从MPL返回,您可能必须使用API调用或IPN。您可以使用API调用来检查事务的状态,或使用IPN并连接到数据库并验证订单是否完整。
答案 1 :(得分:0)
请参阅https://developer.paypal.com/webapps/developer/docs/integration/mobile/verify-mobile-payment/。
这些文档适用于今天宣布的新iOS SDK,但旧版MPL的验证应该相同。 (当然希望你会比新的MPL更喜欢新的SDK)