我尝试将PayPal集成到我的结帐流程中。这是我做的:
我设法使用Paypal API Node SDK创建了PayPal.payment.create
付款。
然后将用户重定向到我在links[1].href
的响应中收到的付款网址,如下所示:"https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-00N000849T505604G"
。
在该页面上,我与我的沙盒用户一起唱歌并支付交易费用,我被重定向到我在创建付款时声明的自定义成功页面。
在我的成功页面上,我现在想要检查事务是否真的成功更新我的数据库,所以我调用我的后端,调用GET到事务links[0].href
这是什么东西比如https://api.sandbox.paypal.com/v1/payments/payment/PAY-1VL72645VS000000XLLARPMI
来检查状态。
不幸的是,回复的state
属性总是 created
。
我做错了什么?我怎么检查呢?我使用these docs作为参考。
一般来说,我对文档的数量有点不知所措,不确定哪一个是正确的,也找不到任何简明的教程:S
感谢您的帮助!
答案 0 :(得分:0)
响应的状态属性created
是当前属性。
州财产的可能值created
,approved
,failed
。
<强>创建即可。交易已成功创建。
<强>批准即可。客户批准了该交易。
<强>失败即可。交易请求失败。
但已批准。应该是买方(非客户)批准了交易。
您可以从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