JS Buy SDK 已于 2025 年 1 月弃用。 有关更多信息,请参阅 README

类:CheckoutResource

CheckoutResource()

JS Buy SDK 结账资源

构造函数

new CheckoutResource()

来源

方法

addDiscount(checkoutId, discountCode) → {Promise|GraphModel}

使用折扣码将折扣应用于现有结账。

参数
名称 类型 描述
checkoutId 字符串

要添加折扣的结账 ID。

discountCode 字符串

要应用于结账的折扣码。

来源
返回

一个 Promise,它会解析为更新后的结账。

类型
Promise | GraphModel
示例
const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
const discountCode = 'best-discount-ever';

client.checkout.addDiscount(checkoutId, discountCode).then((checkout) => {
  // Do something with the updated checkout
});

addGiftCards(checkoutId, giftCardCodes) → {Promise|GraphModel}

使用礼品卡代码列表将礼品卡应用于现有结账

参数
名称 类型 描述
checkoutId 字符串

要添加礼品卡的结账 ID。

giftCardCodes 数组.<字符串>

要应用于结账的礼品卡代码。

来源
返回

一个 Promise,它会解析为更新后的结账。

类型
Promise | GraphModel
示例
const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
const giftCardCodes = ['6FD8853DAGAA949F'];

client.checkout.addGiftCards(checkoutId, giftCardCodes).then((checkout) => {
  // Do something with the updated checkout
});

addLineItems(checkoutId, lineItems) → {Promise|GraphModel}

将行项目添加到现有结账。

参数
名称 类型 描述
checkoutId 字符串

要添加行项目的结账 ID。

lineItems 数组.<对象>

要添加到结账的行项目列表。有关每个行项目的有效输入字段,请参阅 Storefront API 参考

来源
返回

一个 Promise,它会解析为更新后的结账。

类型
Promise | GraphModel
示例
const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
const lineItems = [{variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}];

client.checkout.addLineItems(checkoutId, lineItems).then((checkout) => {
  // Do something with the updated checkout
});

create(inputopt) → {Promise|GraphModel}

创建结账。

参数
名称 类型 属性 描述
input 对象 <可选>

一个包含零个或多个以下属性的输入对象:

属性
名称 类型 属性 描述
email 字符串 <可选>

与结账关联的电子邮件。

lineItems 数组.<对象> <可选>

结账中的行项目列表。 有关每个行项目的有效输入字段,请参阅 Storefront API 参考

shippingAddress 对象 <可选>

收货地址。有关有效的输入字段,请参阅 Storefront API 参考

note 字符串 <可选>

结账的备注。

customAttributes 数组.<对象> <可选>

结账的自定义属性列表。 有关有效输入字段,请参阅 Storefront API 参考

presentmentCurrencyCode 字符串 <可选>

展示货币代码。 有关有效的货币代码值,请参阅 Storefront API 参考

来源
返回

一个 Promise,它会解析为已创建的结账。

类型
Promise | GraphModel
示例
const input = {
  lineItems: [
    {variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}
  ]
};

client.checkout.create(input).then((checkout) => {
  // Do something with the newly created checkout
});

fetch(id) → {Promise|GraphModel}

通过 ID 获取结账。

参数
名称 类型 描述
id 字符串

要获取的结账 ID。

来源
返回

一个 Promise,它会解析为结账的 GraphModel

类型
Promise | GraphModel
示例
client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {
  // Do something with the checkout
});

removeDiscount(checkoutId) → {Promise|GraphModel}

从现有结账中移除应用的折扣。

参数
名称 类型 描述
checkoutId 字符串

要从中移除折扣的结账 ID。

来源
返回

一个 Promise,它会解析为更新后的结账。

类型
Promise | GraphModel
示例
const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';

client.checkout.removeDiscount(checkoutId).then((checkout) => {
  // Do something with the updated checkout
});

removeGiftCard(checkoutId, appliedGiftCardId) → {Promise|GraphModel}

从现有结账中移除礼品卡

参数
名称 类型 描述
checkoutId 字符串

要添加礼品卡的结账 ID。

appliedGiftCardId 字符串

要从结账中移除的礼品卡 ID。

来源
返回

一个 Promise,它会解析为更新后的结账。

类型
Promise | GraphModel
示例
const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
const appliedGiftCardId = 'Z2lkOi8vc2hvcGlmeS9BcHBsaWVkR2lmdENhcmQvNDI4NTQ1ODAzMTI=';

client.checkout.removeGiftCard(checkoutId, appliedGiftCardId).then((checkout) => {
  // Do something with the updated checkout
});

removeLineItems(checkoutId, lineItemIds) → {Promise|GraphModel}

从现有结账中移除行项目。

参数
名称 类型 描述
checkoutId 字符串

要从中移除行项目的结账 ID。

lineItemIds 数组.<字符串>

要从结账中移除的行项目 ID 列表。

来源
返回

一个 Promise,它会解析为更新后的结账。

类型
Promise | GraphModel
示例
const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
const lineItemIds = ['TViZGE5Y2U1ZDFhY2FiMmM2YT9rZXk9NTc2YjBhODcwNWIxYzg0YjE5ZjRmZGQ5NjczNGVkZGU='];

client.checkout.removeLineItems(checkoutId, lineItemIds).then((checkout) => {
  // Do something with the updated checkout
});

replaceLineItems(checkoutId, lineItems) → {Promise|GraphModel}

替换现有结账上的行项目。

参数
名称 类型 描述
checkoutId 字符串

要添加行项目的结账 ID。

lineItems 数组.<对象>

要在结账上设置的行项目列表。有关每个行项目的有效输入字段,请参阅 Storefront API 参考

来源
返回

一个 Promise,它会解析为更新后的结账。

类型
Promise | GraphModel
示例
const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
const lineItems = [{variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}];

client.checkout.replaceLineItems(checkoutId, lineItems).then((checkout) => {
  // Do something with the updated checkout
});

updateAttributes(checkoutId, inputopt) → {Promise|GraphModel}

使用输入中定义的值替换结账自定义属性和/或备注的值

参数
名称 类型 属性 描述
checkoutId 字符串

要更新的结账 ID。

input 对象 <可选>

一个包含零个或多个以下属性的输入对象:

属性
名称 类型 属性 描述
allowPartialAddresses 布尔值 <可选>

与结账关联的电子邮件。

customAttributes 数组.<对象> <可选>

结账的自定义属性列表。 有关有效输入字段,请参阅 Storefront API 参考

note 字符串 <可选>

结账的备注。

来源
返回

一个 Promise,它会解析为更新后的结账。

类型
Promise | GraphModel
示例
const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
const input = {customAttributes: [{key: "MyKey", value: "MyValue"}]};

client.checkout.updateAttributes(checkoutId, input).then((checkout) => {
  // Do something with the updated checkout
});

updateEmail(checkoutId, email) → {Promise|GraphModel}

替换结账的电子邮件地址的值

参数
名称 类型 描述
checkoutId 字符串

要更新的结账 ID。

email 字符串

要应用于结账的电子邮件地址。

来源
返回

一个 Promise,它会解析为更新后的结账。

类型
Promise | GraphModel
示例
const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
const email = 'user@example.com';

client.checkout.updateEmail(checkoutId, email).then((checkout) => {
  // Do something with the updated checkout
});

updateLineItems(checkoutId, lineItems) → {Promise|GraphModel}

更新现有结账上的行项目。

参数
名称 类型 描述
checkoutId 字符串

要更新行项目的结账 ID。

lineItems 数组.<对象>

要更新的行项目信息列表。有关每个行项目的有效输入字段,请参阅 Storefront API 参考

来源
返回

一个 Promise,它会解析为更新后的结账。

类型
Promise | GraphModel
示例
const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
const lineItems = [
  {
    id: 'TViZGE5Y2U1ZDFhY2FiMmM2YT9rZXk9NTc2YjBhODcwNWIxYzg0YjE5ZjRmZGQ5NjczNGVkZGU=',
    quantity: 5,
    variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg=='
  }
];

client.checkout.updateLineItems(checkoutId, lineItems).then(checkout => {
  // Do something with the updated checkout
});

updateShippingAddress(checkoutId, shippingAddress) → {Promise|GraphModel}

更新现有结账上的收货地址。

参数
名称 类型 描述
checkoutId 字符串

要更新收货地址的结账 ID。

shippingAddress 对象

收货地址。

来源
返回

一个 Promise,它会解析为更新后的结账。

类型
Promise | GraphModel
示例
const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
const shippingAddress = {
   address1: 'Chestnut Street 92',
   address2: 'Apartment 2',
   city: 'Louisville',
   company: null,
   country: 'United States',
   firstName: 'Bob',
   lastName: 'Norman',
   phone: '555-625-1199',
   province: 'Kentucky',
   zip: '40202'
 };

client.checkout.updateShippingAddress(checkoutId, shippingAddress).then(checkout => {
  // Do something with the updated checkout
});