Экспресс-проверка PayPal: как я могу проверить, сделана ли транзакция и переведены ли деньги? - PullRequest
0 голосов
/ 03 ноября 2018

У меня есть экспресс-проверка PayPal на стороне клиента, и после того, как обратный вызов запущен с идентификатором платежа, я хочу проверить этот идентификатор на стороне NodeJS. Я звоню в RESTfull API, используя JS SDK:

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
        }

1 Ответ

0 голосов
/ 05 ноября 2018

Вот что я наконец узнал:

«Утвержденный» статус означает, что покупатель вошел в свою учетную запись. и одобрил платеж. Вам все еще нужно выполнить платеж запрос, который, как только вы делаете, проверьте "состояние", показанное в раздел "related_resources" и он должен сказать "завершено", который указывает, что сумма транзакции была получена. Показанный идентификатор ниже указан идентификатор транзакции.

https://www.paypal -community.com / t5 / REST-API-интерфейсы / IPN-против-действия-платежно-выполнить-результат / TD-р / 1564037

...