javascript - 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',
}
},
})
重现问题
这可能会导致用户不小心将产品运送到错误的地址!
我怎样才能解决这个问题?
理想情况下应该取消选中该复选框,因为我们在上面的源代码中显然传递了不同的地址。
作为旁注
如果用户确实取消选中该框,他们会得到正确的地址。
解决方案
默认情况下无法“取消选中”该框。地址要么是可更改的,要么不是。
请参阅文档:https ://developer.paypal.com/docs/api/orders/v2/#definition-order_application_context
application_context -> shipping_preference -> SET_PROVIDED_ADDRESS