Это действительно, как вы делаете разовый платеж? - PullRequest
1 голос
/ 16 марта 2020

Я выполнил ежемесячную оплату подписки, которая выглядит примерно так ...

paypal.Buttons({

  createSubscription: function(data, actions) {

    return actions.subscription.create({

      'plan_id': 'P-2UF78835G6983425GLSM44MA'

    });

  },


  onApprove: function(data, actions) {

    alert('You have successfully created subscription ' + data.subscriptionID);

  }


}).render('#paypal-button-container');

Как вы можете видеть выше, вы сначала создаете план через почтальона и передаете plan_id. С планами можно патчить, а что нет.

Теперь, когда я получаю единовременный платеж, я полагаю, вы должны это делать?

  paypal.Buttons({
    createOrder: function(data, actions) {
      // This function sets up the details of the transaction, including the amount and line item details.
      return actions.order.create({
        purchase_units: [{
          amount: {
            value: '0.01'
          }
        }]
      });
    }
  }).render('#paypal-button-container');

Есть ли идентификатор_порядка или что-то, что я могу передать, потому что вы можете использовать почтальон для создания правильных заказов? Таким образом, вы можете исправить сумму или что угодно, если хотите.

Документы PayPal немного повсюду, и это не очень понятно. Я использую умные кнопки, а не SDK.

1 Ответ

0 голосов
/ 16 марта 2020

Ваш код показывает клиентскую версию создания заказа. Вы можете найти полную демонстрационную модель того же самого здесь: https://developer.paypal.com/demo/checkout/# / pattern / client

Если вы хотите создать order_id на вашем сервере, то вместо этого вы должны использовать server- боковой демонстрационный шаблон для извлечения этого order_id: https://developer.paypal.com/demo/checkout/# / pattern / server


Шаблон на стороне сервера лучше и безопаснее, если вы способны его реализовать. Единственное предостережение, которое я хотел бы добавить, как только вы получите все, что работает по счастливому пути, не пренебрегайте обработкой сбоев источника финансирования - чтобы при сбое захвата на стороне сервера, например, когда плательщик первый карта отклонена, она передается обратно в пользовательский интерфейс, и они могут просто выбрать другую.

...