@@ -26,16 +26,12 @@ export default function useQPayCheckout({ onOrderComplete }) {
2626 const { currentLocation : deliveryLocation , updateDefaultLocation } = useCurrentLocation ( ) ;
2727 const { listen } = useSocketClusterClient ( ) ;
2828 const [ cart , updateCart ] = useCart ( ) ;
29- const defaultCompanyRegistrationNo = useMemo ( ( ) => {
30- return customer ?. getAttribute ( 'meta.ebarimt_registration_no' , '' ) ?? '' ;
31- } , [ customer ] ) ;
3229 const [ checkoutOptions , setCheckoutOptions ] = useState ( {
3330 leavingTip : false ,
3431 tip : 0 ,
3532 leavingDeliveryTip : false ,
3633 deliveryTip : 0 ,
3734 pickup : storefrontConfig ( 'prioritizePickup' ) ? 1 : 0 ,
38- ebarimt_registration_no : defaultCompanyRegistrationNo ,
3935 } ) ;
4036 const [ invoice , setInvoice ] = useState ( ) ;
4137 const [ checkoutId , setCheckoutId ] = useState ( ) ;
@@ -44,9 +40,17 @@ export default function useQPayCheckout({ onOrderComplete }) {
4440 const [ isServiceQuoteUnavailable , setIsServiceQuoteUnavailable ] = useState ( false ) ;
4541 const [ isLoading , setIsLoading ] = useState ( true ) ;
4642 const [ isCapturingOrder , setIsCapturingOrder ] = useState ( false ) ;
47- const [ isPersonal , setIsPersonal ] = useState ( isBlank ( defaultCompanyRegistrationNo ) ) ;
4843 const [ error , setError ] = useState ( false ) ;
44+ // Order notes
4945 const [ orderNotes , setOrderNotes ] = useStorage ( `${ customer ?. id ?? 'anon' } _order_notes` , '' ) ;
46+ // Ebarimt company registration no
47+ const companyRegistrationNumber = useMemo ( ( ) => {
48+ if ( customer && typeof customer . getAttribute === 'function' ) {
49+ return customer . getAttribute ( 'meta.ebarimt_registration_no' , '' ) ;
50+ }
51+ return '' ;
52+ } , [ customer ] ) ;
53+ const [ isPersonal , setIsPersonal ] = useState ( isBlank ( companyRegistrationNumber ) ) ;
5054 const listenerRef = useRef ( ) ;
5155 const hasOrderCompleted = useRef ( false ) ;
5256 const cartContentsString = JSON . stringify ( cart . contents ( ) || [ ] ) ;
@@ -141,7 +145,7 @@ export default function useQPayCheckout({ onOrderComplete }) {
141145 const debouncedUpdateRegistration = useMemo (
142146 ( ) =>
143147 debounce ( ( registrationNumber ) => {
144- setCheckoutOptions ( ( prev ) => ( { ... prev , ebarimt_registration_no : registrationNumber } ) ) ;
148+ updateCustomerMeta ( { ebarimt_registration_no : registrationNumber } ) ;
145149 } , 500 ) , // 500ms delay
146150 [ ]
147151 ) ;
@@ -372,7 +376,7 @@ export default function useQPayCheckout({ onOrderComplete }) {
372376 isPersonal,
373377 setIsPersonal,
374378 isCompany : ! isPersonal ,
375- companyRegistrationNumber : customer ?. getAttribute ( 'meta.ebarimt_registration_no' , '' ) ?? '' ,
379+ companyRegistrationNumber,
376380 setCompanyRegistrationNumber,
377381 } ) ,
378382 [
@@ -397,6 +401,7 @@ export default function useQPayCheckout({ onOrderComplete }) {
397401 isServiceQuoteUnavailable ,
398402 isPersonal ,
399403 setIsPersonal ,
404+ companyRegistrationNumber ,
400405 setCompanyRegistrationNumber ,
401406 ]
402407 ) ;
0 commit comments