Paypal JS SDK Smart Payment - отключение адреса для оплаты кредитной картой без учетной записи - PullRequest
6 голосов
/ 11 апреля 2019

Я интегрирую кнопки смарт-платежей в кассе PayPal

<script src="https://www.paypal.com/sdk/js?...>
paypal.Buttons({
createOrder(data, actions) {
// ...
onApprove(data, actions) {
// ...
}).render('#paypal-button');

Помимо оплаты через учетную запись PayPal, мы хотим предложить Пользователю оплатить наши цифровые продукты с помощью SEPA или кредитной картой без создания учетной записи PayPal .

То, что нам не нужно, это адрес для выставления счета или адрес доставки, введенный пользователем. Мы уже имеем эту информацию и обрабатываем счета самостоятельно, пока доставка не применяется.

Есть ли способ отключить адресный ввод (и предпочтительно также контактную информацию) с помощью JS SDK? Любой параметр, который я могу передать ресурсу SDK или методу paypal.Buttons.render()? При оплате кредитной картой через других платежных систем они никогда не заботятся об этой информации пользователя. Только номер, срок действия и CVS должны иметь значение для хорошего UX. Даже ввод номера CC уже может быть довольно болезненным. То же самое относится и к оплате через SEPA. Я просто не хочу, чтобы пользователь вводил свой адрес.

Или я должен передать информацию о клиенте в PayPal, чтобы помочь предотвратить мошенничество? Если да, могу ли я хотя бы отключить флажок «Доставка по адресу выставления счета»? Это может запутать наших пользователей.

Спасибо!

Ответы [ 2 ]

3 голосов
/ 24 апреля 2019

Вам необходимо установить shipping_preference для объекта application_context для 'NO_SHIPPING' :

paypal.Buttons({
  createOrder: function(data, actions) {
    return actions.order.create({
      purchase_units: [{ amount: { value: 99.00 } }],

      application_context: {
        shipping_preference: 'NO_SHIPPING'
      }

    });
  },
  onApprove: function(data, actions) {}
}).render(button);

Вы можете узнать больше о Объект контекста приложения

0 голосов
/ 17 апреля 2019

Вот как вы можете удалить адрес доставки из формы оплаты и минимизировать усилия пользователей по оплате:

paypal.Buttons(...).render({
  // ...
  payment(data, actions) {
    return actions.payment.create({
      // ...
      experience: {
        input_fields: {
          // Redacts shipping address fields from the PayPal pages.
          no_shipping: 1,
        },
        flow_config: {
          // Use non-PayPal account landing page
          landing_page_type: 'billing',
          // Shows "Pay Now" button (with immediate payment) rather than "Continue"
          user_action: 'commit',
        },
      }
    });
  },
  // ...
}, '#paypal-button');
...