贝宝沙盒订单API-捕获后资金未添加到余额中

时间:2019-04-23 17:00:08

标签: paypal paypal-sandbox paypal-rest-sdk

我有一个Paypal Smart Payments Button集成设置,几乎完全遵循the documentation上给出的格式。它通过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发货的订单?

0 个答案:

没有答案