Подтверждение экспресс-платежа PayPal

Я разрабатываю плагин WordPress, в котором я принимаю платежи через PayPal Express Checkout. Мне удалось получить PaymentID и PayerID. Но я не знаю, как подтвердить платеж. Кроме того, могу ли я получить данные плательщика по идентификатору плательщика или идентификатору платежа?

Ниже приведен сценарий, который я использовал для создания кнопки оплаты.

<script>
          paypal.Button.render({

              env: 'sandbox',

              // PayPal Client IDs - replace with your own
              // Create a PayPal app: https://developer.paypal.com/developer/applications/create
              client: {
                  sandbox:    'AfI6d9wTxV519v5OI08omQE7HX9XI6-h3AopzKAiP5Yk2nO6brKaTJH8DyeAwpRpLI0CjGtQVSS737eS',
                  production: 'AfI6d9wTxV519v5OI08omQE7HX9XI6-h3AopzKAiP5Yk2nO6brKaTJH8DyeAwpRpLI0CjGtQVSS737eS'
              },

              // Show the buyer a 'Pay Now' button in the checkout flow
              commit: true,

              // payment() is called when the button is clicked
              payment: function(data, actions) {

                  // Make a call to the REST api to create the payment
                  return actions.payment.create({
                      payment: {
                          transactions: [
                              {
                                  amount: { total: <?php echo $_SESSION['trip-cost'];?>, currency: 'USD' },
                                  custom: '1452'
                              }
                          ]
                      }
                  });
              },
              validate: function(actions) {
                // var fields = jQuery(".wp-travel-engine-billing-details-wrapper").find("select, input").serializeArray();
                // console.info(fields);
                // jQuery.each(fields, function(i, field) {
                // if (!field.value)
                //   alert(field.name + ' is required');
                // }); 
              },
              // onAuthorize() is called when the buyer approves the payment
              onAuthorize: function(data, actions) {
                  // Make a call to the REST api to execute the payment
                  return actions.payment.execute().then(function() {
                      window.location = '<?php echo $wp_travel_engine_confirmation_page; ?>?paymentid='+data.paymentID+"&payerID = "+data.payerID+"&token = "+data.paymentToken+"&pid=1";
                  });
              }
          }, '#paypal-button-container');
        </script>

Спасибо.

Как убрать количество товаров в категории WooCommerce
Как убрать количество товаров в категории WooCommerce
По умолчанию WooCommerce показывает количество товаров рядом с категорией, как показано ниже.
0
0
49
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Мне удалось это сделать с помощью ipnlistener.

Другие вопросы по теме