为什么我可以更新电子邮件地址,但不能更新账单地址?

Why can I update the e-mail address, but not the billing address?

我遵循了此页面上的文档:https://docs.snipcart.com/v3/sdk/api#cart

我可以这样更新购物车:

Snipcart.api.cart.update({
  email: 'john.doe@example.com'
}).then(response => {
 console.log("Snipcart.api.cart.update response", response);
}).catch(e => {
 console.log("Snipcart.api.cart.update error", e);
});

但是,当我尝试这样做时:

Snipcart.api.cart.update({
  billingAddress:{
   name: 'John Doe'
 }
}).then(response => {
 console.log("Snipcart.api.cart.update response", response);
}).catch(e => {
 console.log("Snipcart.api.cart.update error", e);
});

我得到:

Snipcart.api.cart.update error Object { kind: Getter & Setter, form: Getter & Setter, fields: Getter & Setter, … }

而且我不明白为什么!?有什么提示吗?

更新账单地址时,您必须设置所有账单地址属性,否则验证将失败。

你可以试试:

Snipcart.api.cart.update({
  email: "johndoe@company.com",
  billingAddress:{
   ...address,
   name: 'John Doe'
 }
}).then(response => {
 console.log("Snipcart.api.cart.update response", response);
}).catch(e => {
 console.log("Snipcart.api.cart.update error", e);
});