PayPal Express Checkout运输计算

问题描述 投票:0回答:1

我想:

  • 已使用户登录到贝宝
  • 获取用户信息(计费和送货地址)
  • 然后计算运费
  • 付款

但是,在付款之前,我如何接收地址并计算费用?

<script>
paypal.Button.render({
    // Configure environment
    env: '<?php echo $paypal->paypalEnv; ?>',
    client: {
        sandbox: '<?php echo $paypal->paypalClientID; ?>',
        production: '<?php echo $paypal->paypalClientID; ?>'
    },
    // Customize button (optional)
    locale: 'de_DE',
    style: {
        size: 'small',
        color: 'gold',
        shape: 'rect',
    },
    // Set up a payment
    payment: function (data, actions) {
        return actions.payment.create({
            transactions: [{
                amount: {
                    total: '10',
                    currency: 'EUR'
                }
            }]
      });
    },
    // Execute the payment
    onAuthorize: function (data, actions) {
        return actions.payment.execute()
        .then(function () {
            window.location = "process.php?paymentID="+data.paymentID+"&token="+data.paymentToken+"&payerID="+data.payerID+"&pid=<?php echo $productID; ?>";
        });
    }
}, '#paypal-button');
</script>

而不是直接调用执行程序的“ return actions.payment.execute()”,我想获取地址,然后显示包含所有费用的最后一篮,然后单击“立即付款”-我该怎么做?

express paypal checkout shipping
1个回答
0
投票

从切换到贝宝Checkout javascript的最新版本开始:https://developer.paypal.com/docs/checkout/

客户端模式的演示:https://developer.paypal.com/demo/checkout/#/pattern/client

在onApprove函数中,您可以使用data对象获取地址,并进行有关在catch()调用后以总计进行修改的方式添加运送的Javascript计算。

如果要在服务器上而不是Javascript中进行计算(更加安全/可靠,请使用服务器端模式:

https://developer.paypal.com/demo/checkout/#/pattern/server

© www.soinside.com 2019 - 2024. All rights reserved.