PayPal Express Оформить заказ Расчет доставки - PullRequest
1 голос
/ 03 февраля 2020

Я хотел бы:

  • Попросить пользователя войти в PayPal
  • Получить информацию о пользователях (адреса выставления счетов и доставки)
  • Затем рассчитать стоимость доставки
  • Поместите платеж

Но как я могу получить адрес и рассчитать комиссию, прежде чем разместить платеж?

<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 () "вызывая execute напрямую, я хотел бы получить адрес, затем показать окончательную корзину со всеми затратами и затем нажать" оплатить сейчас "- как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 19 февраля 2020

спасибо! Хорошо, но что должно быть в серверной части? Я не вижу ни одного примера действий по получению информации об адресе покупателя до и после оформления заказа. ?

/ demo / checkout / api / paypal / order / create

0 голосов
/ 03 февраля 2020

Ваш образец является более старой версией Checkout PayPal. js

Начните с перехода на последнюю версию Checkout PayPal: https://developer.paypal.com/docs/checkout/

Демо шаблона на стороне клиента: https://developer.paypal.com/demo/checkout/# / pattern / client

В функции onApprove вы можете использовать объект data для получения адреса и выполнения Javascript вычислений для добавления доставка до вызова capture () с измененным итогом.

Если вы хотите выполнять вычисления на своем сервере, а не в Javascript (более безопасный / надежный), используйте шаблон на стороне сервера:

https://developer.paypal.com/demo/checkout/# / шаблон / сервер

...