问题描述
我通过 createOrder 函数传递了一些客户信息,主要是为了预填充信用卡/借记卡字段。
结帐时可选的电话号码之类的信息。如果 order_phone 字段有电话号码,则使用以下代码,它可以工作。如果为空,则返回错误并停止。有没有办法解决这个问题,或者让 PayPal 知道它是可选的?其他变量也会发生这种情况,对于客户来说可能是可选的。
createOrder: function(data,actions) {
return actions.order.create({
purchase_units: [{
amount: {
value: $("#grand_total").val(),currency_code: ("#grand_total").val()
}
}],"application_context" : {
"shipping_preference":"NO_SHIPPING"
},payer: {
name: {
given_name: $("#first_name").val(),surname: $("#last_name").val()
},email_address: $("#email_address").val(),phone: {
phone_number: {
national_number: $("#order_phone").val()
}
}
},});
},
解决方法
尝试类似的东西
createOrder: function(data,actions) {
var myOrder = {
purchase_units: [{
amount: {
value: $("#grand_total").val(),currency_code: "USD"
}
}],"application_context" : {
"shipping_preference":"NO_SHIPPING"
},payer: {
name: {
given_name: $("#first_name").val(),surname: $("#last_name").val()
},email_address: $("#email_address").val(),},};
var phone = $("#order_phone").val();
if(phone) myOrder.payer.phone = {
phone_number: {
national_number: phone
}
};
return actions.order.create(myOrder);
},