我使用最新的checkout.js快递结账,但不需要显示任何送货地址。由于它是一个数字商品,文档说我需要noshipping设置为1.但是,我无法弄清楚它是如何进入javascript的。
我按照basic integration步骤操作,然后使用REST API执行付款,以便我可以向我的服务器充电。
我尝试添加noshipping:1在javascript中的所有地方创建付款而没有运气。这就是它的样子(忽略编译问题,因为我只是试图展示我是如何尝试添加noshipping:1信息):
payment: function() {
var env = this.props.env;
var client = this.props.client;
return paypal.rest.payment.create(env, client, {
transactions: [
{
amount: { total: '4.99', currency: 'USD' }
DOESNT WORK-->noshipping: 1
}
],
DOESNT WORK-->noshipping: 1
});
},
有没有人知道如何使用最新的checkout.js正确传递noshipping信息?
答案 0 :(得分:8)
payment: {
transactions: [
{
amount: { total: '19.99', currency: 'USD' }
// Possibly there is also a 'custom' field we can specify here;
// https://stackoverflow.com/questions/46320753/
}
],
application_context: {
shipping_preference: 'NO_SHIPPING'
}
}
答案 1 :(得分:1)
一周后得到PayPal支持的“官方”回复:
感谢您与PayPal商户技术服务部联系。
不幸的是,我们在使用时没有选择noshipping REST API。该选项仅适用于经典快递 checkout使用NVP / SOAP API。
就是这样。这个相当简单的概念是不可能使用他们最新的SDK。
答案 2 :(得分:0)
是的,根据您的代码,可以在PayPal-Python-SDK上按照以下方式指定NOSHIPPING:
payment: function() {
var env = this.props.env;
var client = this.props.client;
return paypal.rest.payment.create(env, client, {
transactions: [
{
amount: { total: '4.99', currency: 'USD' }
}
],
application_context: {
shipping_preferences: 'NO_SHIPPING',
}
});
},
我希望它有所帮助。