首页 > 解决方案 > PayPal Checkout / Smart Buttons - createOrder 错误和可选的空字段

问题描述

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

标签: paypalpaypal-buttons

解决方案


尝试类似的东西

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

推荐阅读