paid_ads-8.x-1.x-dev/js/paypal.js

js/paypal.js
(function (jQuery, settings) {
  Drupal.behaviors.paid_ads_paypal_gateway = {
    attach: function (context) {
      jQuery('.paypal-button', context).each(function (key, element) {
        paypal.Buttons({
          style: settings.paypal_buttons,
          createOrder: function (data, actions) {
            return fetch('/api/paid/create', {
              method: 'post',
              headers: new Headers({
                'Content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
              }),
              body: new URLSearchParams({
                type: 'paypal_gateway',
                options: JSON.stringify({
                  data_entity_type: element.getAttribute('data-entity-type'),
                  data_bundle: element.getAttribute('data-bundle'),
                  data_field: element.getAttribute('data-field'),
                  data_entity_id: element.getAttribute('data-entity-id'),
                  data_field_value: element.getAttribute('data-field-value'),
                })
              }),
            }).then(function (res) {
              return res.json();
            }).then(function (data) {
              return data.id;
            });
          },
          onApprove: function (data, actions) {
            actions.order.capture().then(function (details) {
              fetch('/api/paid/execute', {
                method: 'post',
                headers: new Headers({
                  'Content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
                }),
                body: new URLSearchParams({
                  paymentID: data.orderID,
                  payerID: data.payerID,
                  type: 'paypal_gateway',
                })
              }).then(function (res) {
                window.location.reload()
              });
            });

          },
        }).render(element);
      })
    }
  }
})(jQuery, drupalSettings);

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc