Hi Shane, Thanks for the great content as always. I am also building a custom component which will show addresses in view and select only mode, after fetching them from the contactpointaddress. So we will basically select Shipping address and then the billing address. import { useCheckoutComponent } from 'commerce/checkoutApi'; export default class EcomCheckoutAddress extends useCheckoutComponent(LightningElement) { I have used the mixin for my purpose and then just called the dispatchUpdateAsync function after creating the formRequest. But I have to implement the same for billing address but when I make a selection in one of the components, the other one is overwritten. So my questions are : 1. How to communicate values between these 2 components or any with other OOTB components like delivery notes? 2. Is this way the correct way to store the address in the backend? 3. What should be the format of the address which we pass from here? Like what all data can we send? Thanks. updateCheckoutForm() { let formRequest; if (this.addressType === 'Shipping') { console.log('Inside Shipping Address form'); formRequest = { defaultDeliveryGroup: { deliveryAddress: this.selectedAddress } , billingInfo: { address: this.selectedBillingAddress } }; } this.dispatchUpdateAsync(formRequest) .then(() => { console.log('Address sent successfully'); }) .catch((error) => { console.error('Error updating checkout form:', error); });
Hi shane, great video but in your previous checkout video when i integrate stripe it shows unexpected gateway resopnse and in the gateway logs for authorize it says secret key required could you help me with this
Hi Shane, we're in the first testing/implementation stages and are having an issue with the order summary being created after checkout. The place order button seems to be working as an order confirmation is created - just no order summary record. We are looking for a PO only solution for early phases of development. Do you have any suggestions for us?
Hey! My first suggestion is always to go to the process exception object as it will typically have a record that details what the error was. Since the checkout was successfully, this means there was an error going from order to order summary. That sometimes comes down to validation rules, or other customization in your instance. If you keep running into issues, reached out to me on LinkedIn!
@@salesforcemojo Hi Shane, wondering why the installation steps for the code is saying to drag the components (Shipping method /Instructions) to the Cart page and not the Checkout page?
If your asking about updating the out of the box error messages, no there isn’t a way to do this. If you plan to customize checkout, then yes there are ways you can do this when you build your custom components
New LWC Modules/hooks for Commerce cloud are indeed helpful.
It saved a hell lot of time while customizing checkout ☺
Sounds like you’ve used it already! Good to hear! Any learning you had that I didn’t cover?
Hi Shane, Thanks for the great content as always. I am also building a custom component which will show addresses in view and select only mode, after fetching them from the contactpointaddress. So we will basically select Shipping address and then the billing address.
import { useCheckoutComponent } from 'commerce/checkoutApi';
export default class EcomCheckoutAddress extends useCheckoutComponent(LightningElement) {
I have used the mixin for my purpose and then just called the dispatchUpdateAsync function after creating the formRequest. But I have to implement the same for billing address but when I make a selection in one of the components, the other one is overwritten. So my questions are :
1. How to communicate values between these 2 components or any with other OOTB components like delivery notes?
2. Is this way the correct way to store the address in the backend?
3. What should be the format of the address which we pass from here? Like what all data can we send?
Thanks.
updateCheckoutForm() {
let formRequest;
if (this.addressType === 'Shipping') {
console.log('Inside Shipping Address form');
formRequest = {
defaultDeliveryGroup: {
deliveryAddress: this.selectedAddress
} ,
billingInfo: {
address: this.selectedBillingAddress
}
};
}
this.dispatchUpdateAsync(formRequest)
.then(() => {
console.log('Address sent successfully');
})
.catch((error) => {
console.error('Error updating checkout form:', error);
});
Hi shane, great video but in your previous checkout video when i integrate stripe it shows unexpected gateway resopnse and in the gateway logs for authorize it says secret key required could you help me with this
Hi Shane, we're in the first testing/implementation stages and are having an issue with the order summary being created after checkout. The place order button seems to be working as an order confirmation is created - just no order summary record. We are looking for a PO only solution for early phases of development. Do you have any suggestions for us?
Hey! My first suggestion is always to go to the process exception object as it will typically have a record that details what the error was.
Since the checkout was successfully, this means there was an error going from order to order summary. That sometimes comes down to validation rules, or other customization in your instance.
If you keep running into issues, reached out to me on LinkedIn!
Where Can I find these LWC components that you're using, shippingAddress for example? Thanks
Here is the link! github.com/commerce-codeitforward/Components-For-Salesforce-Commerce-Cloud/tree/main/checkout/shippingAddress
thanks
@@salesforcemojo
@@salesforcemojo Hi Shane, wondering why the installation steps for the code is saying to drag the components (Shipping method /Instructions) to the Cart page and not the Checkout page?
@@vincechau4789 that’s likely just a typo!
Amazing
Thank you for watching!
How can I update the labels on the Checkout notification component, Is there any way>?
If your asking about updating the out of the box error messages, no there isn’t a way to do this.
If you plan to customize checkout, then yes there are ways you can do this when you build your custom components