@@ -106,7 +106,7 @@ const SFPaymentsSheet = forwardRef((props, ref) => {
106106 const { mutateAsync : removePaymentInstrumentFromBasket } = useShopperBasketsMutation (
107107 'removePaymentInstrumentFromBasket'
108108 )
109-
109+ const { mutateAsync : failOrder } = useShopperOrdersMutation ( 'failOrder' )
110110
111111 const { step, STEPS , goToStep} = useCheckout ( )
112112
@@ -389,13 +389,15 @@ const SFPaymentsSheet = forwardRef((props, ref) => {
389389 // Update the redirect return URL to include the related order no
390390 config . current . options . returnUrl += '?orderNo=' + updatedOrder . orderNo
391391
392+ // Store orderNo before confirm in case confirm fails
393+ const orderNo = updatedOrder . orderNo
394+
392395 // Confirm the payment
393396 const result = await checkoutComponent . current . confirm (
394397 ( ) => paymentIntent ,
395398 billingDetails ,
396399 shippingDetails
397400 )
398-
399401 if ( result . responseCode !== STATUS_SUCCESS ) {
400402 throw new Error ( result . data ?. error )
401403 }
@@ -423,7 +425,6 @@ const SFPaymentsSheet = forwardRef((props, ref) => {
423425 namespace : 'SFPaymentsSheet.confirmPayment' ,
424426 additionalProperties : { orderNo : updatedOrder . orderNo }
425427 } )
426-
427428 // Show error message to user - order was failed and basket reopened
428429 const message = formatMessage ( {
429430 defaultMessage :
@@ -440,21 +441,7 @@ const SFPaymentsSheet = forwardRef((props, ref) => {
440441 failOrderError
441442 }
442443 } )
443- const message = formatMessage ( {
444- defaultMessage :
445- 'Payment confirmation failed. Please try again or select a different payment method.' ,
446- id : 'checkout.message.payment_confirm_failure'
447- } )
448- onError ( message )
449- error . message = message
450444 }
451- const message = formatMessage ( {
452- defaultMessage :
453- 'Payment confirmation failed. Please try again or select a different payment method.' ,
454- id : 'checkout.message.payment_confirm_failure'
455- } )
456- onError ( message )
457- error . message = message
458445 }
459446 throw error
460447 } finally {
0 commit comments