首页 > 解决方案 > PayPal 的 JavaScript API 强制“送货地址与账单地址相同”?

问题描述

沙盒

首先请注意,PayPal 提供了一个测试沙箱供您尝试这些代码示例。

我试过的

return actions.order.create({
  purchase_units: [{
    amount: { value: '88.44' },
    shipping: {
      name: { full_name: 'Ship Name' },
      address: {
        address_line_1: 'Ship Address',
        address_line_2: '',
        admin_area_2: 'Ship City',
        admin_area_1: 'SC',
        postal_code: 'SHP ZIP',
        country_code: 'US',
      },
    }
  }],
  payer: {
    name: { given_name: 'Bill', surname: 'Name' },
    address: {
      address_line_1: 'Bill Address',
      address_line_2: '',
      admin_area_2: 'Bill City',
      admin_area_1: 'MS',
      postal_code: 'BIL 0H0',
      country_code: 'US',
    }
  },
})

重现问题

点击PayPal 结帐按钮

然后,在弹出窗口中,单击使用信用卡或借记卡付款

您会注意到存在正确的计费选项。帐单地址是帐单名称/地址

但是,送货地址隐藏在复选框后面。送货地址与账单地址相同

这可能会导致用户不小心将产品运送到错误的地址!

我怎样才能解决这个问题?

理想情况下应该取消选中该复选框,因为我们在上面的源代码中显然传递了不同的地址。

作为旁注

如果用户确实取消选中该框,他们会得到正确的地址。

标签: javascriptapicheckboxpaypal

解决方案


默认情况下无法“取消选中”该框。地址要么是可更改的,要么不是。

请参阅文档:https ://developer.paypal.com/docs/api/orders/v2/#definition-order_application_context

application_context -> shipping_preference -> SET_PROVIDED_ADDRESS


推荐阅读