Paypal 贝宝结账/智能按钮-createOrder&;出错;可选的空字段

Paypal 贝宝结账/智能按钮-createOrder&;出错;可选的空字段,paypal,paypal-buttons,Paypal,Paypal Buttons,通过createOrder函数,我传递了一些客户信息,主要用于预填充信用卡/借记卡字段 类似于电话号码的东西在结账时是可选的。使用以下代码,如果order_phone字段有电话号码,则它可以工作。如果为空,则返回错误并停止。有没有办法解决这个问题,或者让贝宝知道这是可选的?其他变量也会发生这种情况,这对于客户来说可能是可选的 createOrder: function(data, actions) { return actions.order.create({

通过createOrder函数,我传递了一些客户信息,主要用于预填充信用卡/借记卡字段

类似于电话号码的东西在结账时是可选的。使用以下代码,如果order_phone字段有电话号码,则它可以工作。如果为空,则返回错误并停止。有没有办法解决这个问题,或者让贝宝知道这是可选的?其他变量也会发生这种情况,这对于客户来说可能是可选的

    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);
    },

“它返回一个错误”什么错误?您没有在此处提供它。部分内容:{“名称”:“无效的_请求”,“消息”:“请求格式不正确,语法不正确,或违反架构”,“调试id”:“bdf5aea99e92c”,“详细信息”:[{“字段”:“/付款人/电话/电话号码/国家号码”,“值”:“位置”:“正文”,“问题”:“无效的_字符串长度”,“说明”:“字段的值要么太短,要么太长。”},这似乎确实有效!!!谢谢。