1

我在客户端有 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
        }
4

1 回答 1

0

这就是我最终发现的:

“已批准”状态仅表示买家登录其帐户并批准付款。您仍然需要执行付款请求,一旦您检查了“related_resources”部分中显示的“状态”,它应该显示“已完成”,这表明交易金额已被捕获。下面显示的“id”是交易标识符。

https://www.paypal-community.com/t5/REST-APIs/IPN-vs-actions-payment-execute-result/td-p/1564037

于 2018-11-04T22:00:28.840 回答