Shopify Checkout Ui Extension Unable To Get address From ShippingAddress (API) Method Using Javascript
Need a function built that block checkout if it's an International Order with a PO Box.
For international orders Shopify populates DHL Express as a shipping name.
IF DHL Express and Address = PO Box in this condition we need to Block Progress of checkout.
How to get the ShippingAddress
using API in JavaScript code? First I need to get the address after that am going to validate if address have PO Box.
Am not using react, am using the JavaScript. It seems there is no proper example for using the Ui Extension API with JavaScript.
Here is my code. I am new to using the app with extension and I am not sure my code is correct.
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",
};
});
}
Am not getting any answer, It may be error.
Via Active questions tagged javascript - Stack Overflow https://ift.tt/LXRVqZm
Comments
Post a Comment