如何解决如何在BigCommerce结帐时更新送货选项
我编写了一个自定义应用程序,该应用程序的后端使用PHP服务器,前端使用JS的bigcommerce checkout / cart sdk。
基本上这是我想要做的:
从PHP服务器获得费率后,我将动态构建列表的HTML。
我随机分配运输方式ID(因为我不知道如何生成这种方式,但它看起来是相当随机的)
当我单击运输选项时,此代码将运行(请注意,“ option”是foreach循环内的变量
console.dir(checkoutObj);
if(checkoutObj.consignments.length < 1){
console.log('no consign');
} else {
var selectedShipping = checkoutObj.consignments[0].selectedShippingOption;
selectedShipping.cost = parseFloat(option['grandtotmrkup']);
selectedShipping.description = option['CarrierName'] + '-' + option['CarrierService'];
selectedShipping.id = this.value;
selectedShipping.type = 'weight_based_shipping';
checkoutObj.consignments[0].shippingCost = parseFloat(option['grandtotmrkup']);
checkoutObj.shippingCostBeforediscount = parseFloat(option['grandtotmrkup']);
checkoutObj.shippingCostTotal = parseFloat(option['grandtotmrkup']);
console.log('updated checkout obj');
console.dir(checkoutObj);
var updated = service.updateCheckout(checkoutObj);
console.log('updated');
console.dir(state.data.getCheckout());
console.log('updating consignment');
console.dir(
service.updateConsignment({'id':consignID,'shippingOptionId':shippingMethodId})
);
console.dir(state.data.getConsignments());
当它运行service.updateConsignment时,对于对象的寄售部分,我得到以下响应:
"consignments": [
{
"id": "5f732875d039f","shippingCost": 0,"handlingCost": 0,"coupondiscounts": [],"discounts": [],"lineItemIds": [
"4f557702-4f9d-45ec-943a-c72ea963ccc7"
],"selectedShippingOption": {
"id": "4dcbf24f457dd67d5f89bcf374e0bc9b","type": "freeshipping","description": "Free Shipping","imageUrl": "","cost": 0,"transitTime": "","additionalDescription": ""
},"shippingAddress": {
"firstName": "1","lastName": "1","email": "","company": "","address1": "1 street","address2": "","city": "MITCHAM","stateOrProvince": "Victoria","stateOrProvinceCode": "VIC","country": "Australia","countryCode": "AU","postalCode": "3132","phone": "","customFields": [],"shouldSaveAddress": true
},"availableShippingOptions": [
{
"id": "9ba45e71fe66e1cd757f022dcae331b0","type": "shipping_pickupinstore","description": "Pickup In Store","isRecommended": false,"additionalDescription": ""
},{
"id": "4dcbf24f457dd67d5f89bcf374e0bc9b","isRecommended": true,"additionalDescription": ""
}
]
}
],
我不确定是否是因为我的运送选项不在对象的“可用运送选项”部分中?
有人知道我可以在那里找到运输方式吗?还是这是由于我通过HTML动态添加方法引起的?
我是BC的新手,所以请原谅。
解决方法
我认为您无法通过这种方式将付款选项注入到结帐中,我认为您需要查看在PHP应用程序中使用Shipping Methods API,然后再查看选项应该照常可用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。