Smart Checkout Paypal - Получить тип оплаты, который был использован - PullRequest
1 голос
/ 12 апреля 2019

Я интегрировал новый заказ на оплату через PayPal с помощью интеллектуальных кнопок оплаты (https://developer.paypal.com/docs/checkout/#).. Он работает довольно хорошо, позволяя мне позволить Пользователю оплачивать с помощью кредитной карты или SEPA без учетной записи PayPal:

paypal.Buttons({
  // ...
  createOrder(data, actions) {
},
  // ...
  onApprove(data, actions) {
  // data.orderID available here

Теперь в обзоре заказов пользователя я хочу показать, какой тип оплаты использовался, а не только то, что они использовали PayPal, чтобы заплатить мне. Однако я не могу найти способ получить эту информацию, используя @paypal/checkout-server-sdk или * 1007.* потому что все, что у меня есть, это CheckoutOrder и Capture объекты.

OrderID от клиента можно использовать в моем бэкэнде для получения деталей Order:

paypalCheckoutSdk.orders.OrdersGetRequest(payload.orderID)

Новсе, что я получаю, это:

"result": {
    "id": "6CC44267CA709615A",
    "intent": "CAPTURE",
    "purchase_units": [{
        "reference_id": "default",
        "amount": { ... },
        "payee": { ... },
        "shipping": {
            "name": { ... },
            "address": { ... }
        },
        "payments": {
            "captures": [{
                "id": "2GP872418N1179401",
                "status": "COMPLETED",
                "amount": { ... },
                "final_capture": true,
                "seller_protection": {...},
                "links": [...],
                ...
            }]
        }
    }],
    "payer": { ... },
    "status": "COMPLETED"
}

Нет информации о кредитной карте, которая использовалась, даже если это была кредитная карта, а не счет PayPal.

Если я попытаюсьиспользуйте paypal-rest-sdk. По этому идентификатору заказ не может быть найден. Должен быть какой-то особый заказ на оформление заказа.

Объект Capture paypalOrder.result.purchase_units[0].payments.captures[0].id тоже не помогает.не сказал мне уже.Нет ссылки никуда.Параметр captureId не позволяет мне искать транзакцию или платеж.

Если я войду в учетную запись продавца-песочницы, в заказе также не будет указан тип оплаты.Эта информация только что потеряна?Или есть способ получить его?

Спасибо!

1 Ответ

2 голосов
/ 20 апреля 2019

Для этого платежа 2GP872418N1179401 - это идентификатор транзакции PayPal в учетной записи продавца. Это идентификатор, который вы должны записать в своей базе данных бухгалтерского учета при завершении захвата, так как на него можно позже ссылаться в учетной записи продавца (песочнице) paypal.com и в отчетах за последующие годы.

Верхний уровень 6CC44267CA709615A более эфемерный, я полагаю, что это идентификатор заказа, с которого вы начали, и поэтому он используется только для подтверждения платежа. Я не уверен, когда точно истекает срок его действия, но вы должны держать его только для целей отладки, он не имеет никакого делового / бухгалтерского значения.

Что касается выяснения того, какой тип платежа использовался, PayPal сохраняет эту информацию конфиденциальной в своем дизайне. Использовали ли они конкретную Visa, MC, Amex, Discover, PayPal Credit, свой баланс или какой-либо другой местный источник финансирования ... это бизнес покупателя; все, что продавец знает, это то, что он получил платеж через PayPal. Это делается для обеспечения безопасности и конфиденциальности, поэтому, если сайт какого-либо продавца будет скомпрометирован, платежная информация покупателя не будет раскрыта.

...