API Paypal Sandbox Orders - средства не добавляются на баланс после захвата - PullRequest
0 голосов
/ 23 апреля 2019

У меня настроена интеграция с Paypal Smart Payments Button, которая в точности соответствует формату, указанному в документации . Он создает заказ через JS SDK, а затем в методе обратного вызова onApprove имеет метод actions.order.capture, например:

paypal.Buttons({
createOrder: (data, actions) => {
    return actions.order.create({
        purchase_units: [{
            amount: {
                value: get_gross()
            }
        }],
        application_context: {
            brand_name: '...',
            shipping_preference: 'NO_SHIPPING'
        }
    })
},

onApprove: (data, actions) => {
    actions.order.capture().then((details) => {
        return fetch('/paypal/donate', {
            method: 'POST',
            headers: { 'content-type': 'application/json' },
            body: JSON.stringify({
                ...
            })
        }).then((response) => {
            if (response.ok) {
                ...
            } else {
                ...
            }
        });
    });
}
}).render('#donate_button_container');

Проблема в том, что, как только этот поток завершен, я получаю ответ обратно в бэкэнд сайта, показывающий, что заказ выполнен, так же, как на панели инструментов песочницы Paypal, которая показывает, что деньги были вычтены, но в учетной записи посредника sandox средства не появляются на балансе. Они отображаются как завершенные транзакции, но баланс не обновляется. Оба аккаунта проверены, поэтому должны иметь возможность отправлять и получать средства.

Я где-то пропустил шаг с тем, как работает сбор платежей? Насколько я могу судить по документам, платеж должен быть мгновенно зачислен на баланс, и это то, что мне нужно сделать, так как мой бэкэнд должен разделить платеж между двумя другими аккаунтами после его завершения, что в настоящее время не удается сделать из-за Недостаток средств.

Спасибо !!

РЕДАКТИРОВАТЬ: Один из членов моей команды обнаружил, что установка статуса «Отправлено» в бэкэнде PayPal приводит к очистке средств, что не должно происходить, так как для shipping_preference было задано значение NO_SHIPPING. Есть ли способ переопределить это / установить порядок доставки через API?

...