2017-09-04 81 views
0

我已经在此执行了客户端结帐,此处演示了https://developer.paypal.com/demo/checkout/#/pattern/client。它在使用沙箱帐户进行测试时工作正常。但是我担心我们如何验证付款是否真的从服务器端完成? 例如:如果用户为订单号“X”执行付款,我想确保付款已成功。我noteiced事务ID我的理解是由贝宝生成仅支付所经历,我们会接受这个Id的参数支付执行回叫:验证来自服务器的客户端快速结帐

actions.payment.execute().then(function (payment) { // where payment.transactions[0].related_resources[0].sale.id is some value say 'xxx' }); 

相同的唯一标识可以在可见沙箱事务详细信息页面(https://www.sandbox.paypal.com/webscr?cmd=_history-details-from-hub&id=xxx)作为唯一事务IDxxx。有没有一种方法(一个贝宝端点)通过服务器端调用来验证?这是确定在服务器上收到的交易ID是从PayPal有效的交易ID。

打扰我的无知,webhook事件是否意味着要做到这一点?

+0

发现它是非常有可能的。我们可以获得销售详情,如下所示:https://developer.paypal.com/docs/api/payments/#sale_get,其中具有销售/交易的状态。我们需要从PayPal获得一个oauth令牌,以提出上述请求,如下所示: https://developer.paypal.com/docs/api/overview/#make-your-first-call –

回答

0

您可以使用IPN/Webhooks,那么贝宝将向您发送通知,通知您付款的详细信息包括交易ID。您可以使用该信息来验证付款。

+0

正在考虑如何可靠这将是。事件发生后,如果事情变得怪异。如果有一个我们可以验证它的paypal api /端点,本来会很好 –

相关问题