提问人:Selva 提问时间:11/16/2023 最后编辑:Brian Tompsett - 汤莱恩Selva 更新时间:11/17/2023 访问量:19
Shopify Checkout UI扩展无法使用Javascript从ShippingAddress(API)方法获取地址
Shopify Checkout Ui Extension Unable To Get address From ShippingAddress (API) Method Using Javascript
问:
如果它是带有邮政信箱的国际订单,则需要构建一个功能来阻止结账。
对于国际订单,Shopify 将 DHL Express 填充为发货名称。
如果 DHL Express 和 Address = PO Box 在这种情况下,我们需要阻止结帐进度。
如何在JavaScript代码中获取使用API?首先,我需要获取地址,然后验证地址是否有邮政信箱。ShippingAddress
我不使用 react,我使用 JavaScript。似乎没有将 Ui 扩展 API 与 JavaScript 一起使用的适当示例。
这是我的代码。我是使用带有扩展程序的应用程序的新手,我不确定我的代码是否正确。
import {
extension,
} from "@shopify/ui-extensions/checkout";
// Set the entry point for the extension
export default extension("purchase.checkout.delivery-address.render-before", renderApp);
function renderApp(root, api, { extension, buyerJourney }) {
const address = api.shippingAddress();
// Use the `buyerJourney` intercept to conditionally block checkout progress
buyerJourney.intercept(({ canBlockProgress }) => {
if (canBlockProgress && address?.address1 && address.address1.length > 30 ) {
console.log(address);
console.log(address.city);
return {
behavior: "block",
reason: `Invalid shipping country`,
errors: [
{
// Show a validation error on the page
message: "Please keep your input under 30 characters.",
target: '$.cart.deliveryGroups[0].deliveryAddress.address1',
},
],
};
}
return {
behavior: "allow",
};
});
}
我没有得到任何答案,这可能是错误的。
答: 暂无答案
评论