Paypal JS SDK智能付款-禁用无帐户的信用卡付款地址提示

时间:2019-04-11 11:48:26

标签: javascript paypal paypal-sandbox paypal-rest-sdk

我正在将智能付款按钮集成到贝宝结帐中

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

除了通过贝宝(PayPal)帐户付款外,我们还希望用户无需创建贝宝(Paypal)帐户即可使用SEPA或信用卡为我们的数字产品付款

我们不需要的是用户输入的帐单地址或送货地址。我们已经拥有该信息并自行处理帐单,而送货不适用。

是否可以使用JS SDK禁用地址输入(最好还有联系信息输入)?我可以传递给SDK资源或paypal.Buttons.render()方法的任何参数? 通过其他付款提供商使用信用卡付款时,他们永远不会在乎该用户信息。对于一个好的用户体验,仅数字,到期时间和CVS应该很重要。即使输入CC号码也已经很麻烦了。 SEPA付款也是如此。我只是不希望用户必须输入他们的地址。

还是我必须将客户信息传递给PayPal以帮助预防欺诈?如果是这样,我至少可以禁用“运送到帐单地址”复选框吗?这可能会使我们的用户感到困惑。

谢谢!

3 个答案:

答案 0 :(得分:1)

您需要将 application_context 对象的 shipping_preference 参数设置为'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);

您可以阅读有关Application Context Object

的更多信息

答案 1 :(得分:0)

您需要设置shipping_type参数“ PICKUP”:

paypal.Buttons({
  createOrder: function(data, actions) {
    return actions.order.create({
      shipping_type: 'PICKUP',
      application_context: { shipping_preference: 'NO_SHIPPING' },
      purchase_units: [{ amount: { value: 99.00 } }]
    });
  },
  onApprove: function(data, actions) {}
}).render(button);

答案 2 :(得分:-1)

您可以在此处从付款表格中删除送货地址,并最大程度地减少用户的付款努力:

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');