我在客户端进行了PayPal快速结帐,并用付款ID触发了回调后,我想在NodeJS上检查该ID。我使用JS SDK调用RESTfull API:
https://developer.paypal.com/docs/api/payments/v1/#payment_get
然后我在下面得到这样的物体。
状态已批准,但transactions[0].related_resources[0].sale.state
=== 待审核
那么我应该如何检查交易是否完成以及将钱转给卖方以激活他/她所支付的服务?
在回调中,我有买家电子邮件,payerId,paymentID,paymentToken,所以也许我需要其他端点吗?
{
"id": "PAY-7SN4959762125513LLPOWTDA",
"intent": "sale",
"state": "approved",
"cart": "2A9434180T1061602",
"payer": {
"payment_method": "paypal",
"status": "VERIFIED",
"payer_info": {
"email": "pp-test@gmail.com",
"first_name": "Some",
"last_name": "Surname",
"payer_id": "E76V3DRUQZYZW",
"shipping_address": {
"recipient_name": "Some Surname"
},
"phone": "0455346902",
"country_code": "FR"
}
},
"transactions": [
{
"amount": {
"total": "27.96",
"currency": "EUR",
"details": {
"subtotal": "27.96"
}
},
"payee": {
"merchant_id": "FJ96CP2E7QWMY"
},
"description": "The payment for services.",
"custom": "ws-1XWCLNRbVdWavMVZgH2cSE",
"invoice_number": "in-1h7KSgdCh35Gdpi_Yk7PO_",
"item_list": {
"items": [],
"shipping_address": {
"recipient_name": "Some Surname"
}
},
"related_resources": [
{
"sale": {
"id": "7UB08136N5814360K",
"state": "pending",
"amount": {
"total": "27.96",
"currency": "EUR",
"details": {
"subtotal": "27.96"
}
},
"payment_mode": "INSTANT_TRANSFER",
"reason_code": "RECEIVING_PREFERENCE_MANDATES_MANUAL_ACTION",
"protection_eligibility": "ELIGIBLE",
"protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE",
"parent_payment": "PAY-7SN4959762125513LLPOWTDA",
"create_time": "2018-11-03T09:25:53Z",
"update_time": "2018-11-03T09:25:53Z",
"links": [
{
"href": "https://api.sandbox.paypal.com/v1/payments/sale/7UB08136N5814360K",
"rel": "self",
"method": "GET"
},
{
"href": "https://api.sandbox.paypal.com/v1/payments/sale/7UB08136N5814360K/refund",
"rel": "refund",
"method": "POST"
},
{
"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-7SN4959762125513LLPOWTDA",
"rel": "parent_payment",
"method": "GET"
}
]
}
}
]
}
],
"create_time": "2018-11-03T09:25:32Z",
"links": [
{
"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-7SN4959762125513LLPOWTDA",
"rel": "self",
"method": "GET"
}
],
"httpStatusCode": 200
}
答案 0 :(得分:0)
这就是我最终发现的:
“已批准”状态仅表示买方已登录其帐户 并批准了付款。您仍然需要执行付款 请求,一旦您检查了“状态” “ related_resources”部分,应显示“ completed”,其中 表示已捕获交易金额。显示的“ id” 下面是交易标识符。
https://www.paypal-community.com/t5/REST-APIs/IPN-vs-actions-payment-execute-result/td-p/1564037