我正在将智能付款按钮集成到贝宝结帐中
<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以帮助预防欺诈?如果是这样,我至少可以禁用“运送到帐单地址”复选框吗?这可能会使我们的用户感到困惑。
谢谢!
答案 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');