如何知道Paypal交易是否成功使用API​​?

时间:2018-04-01 18:12:35

标签: javascript node.js paypal paypal-sandbox

我尝试将PayPal集成到我的结帐流程中。这是我做的:

  1. 我设法使用Paypal API Node SDK创建了PayPal.payment.create付款。

  2. 然后将用户重定向到我在links[1].href的响应中收到的付款网址,如下所示:"https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-00N000849T505604G"

  3. 在该页面上,我与我的沙盒用户一起唱歌并支付交易费用,我被重定向到我在创建付款时声明的自定义成功页面。

  4. 在我的成功页面上,我现在想要检查事务是否真的成功更新我的数据库,所以我调用我的后端,调用GET到事务links[0].href这是什么东西比如https://api.sandbox.paypal.com/v1/payments/payment/PAY-1VL72645VS000000XLLARPMI来检查状态。

  5. 不幸的是,回复的state属性总是 created

  6. 我做错了什么?我怎么检查呢?我使用these docs作为参考。

    一般来说,我对文档的数量有点不知所措,不确定哪一个是正确的,也找不到任何简明的教程:S

    感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

响应的状态属性created是当前属性。

州财产的可能值createdapprovedfailed

<强>创建即可。交易已成功创建。

<强>批准即可。客户批准了该交易。

<强>失败即可。交易请求失败。

已批准。应该是买方(非客户)批准了交易。

您可以从PayPal-PHP-SDK项目第376行的Payment.php文件中获取此信息。

https://github.com/paypal/PayPal-PHP-SDK/blob/master/lib/PayPal/Api/Payment.php

首先,州财产将为created,但当买方使用approved批准了该交易时,它将为Update payment,然后您可以检查List payments / Show payment details然后您会发现付款现已获得批准。

Update payment https://developer.paypal.com/docs/api/payments/#payment_update

Show payment details https://developer.paypal.com/docs/api/payments/#payment_get