Skip to content

Commit 7637f34

Browse files
W-20394105: enable save payment method for future use for registered users
1 parent c01aabd commit 7637f34

File tree

2 files changed

+6
-19
lines changed

2 files changed

+6
-19
lines changed

packages/template-retail-react-app/app/pages/checkout/partials/sf-payments-sheet.jsx

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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 {

packages/template-retail-react-app/app/utils/sf-payments-utils.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ export const transformAddressDetails = (billingDetails, shippingDetails) => {
5757
return address
5858
}
5959

60-
// For PayPal/Venmo, billing address might not be available or incomplete.
61-
// Use shipping address as billing address if billing details are missing or incomplete.
60+
// For PayPal/Venmo, billing address might not be available or incomplete
61+
// Use shipping address as billing address if billing details are missing or incomplete
6262
const billingAddr = billingDetails?.address
6363
const hasBillingDetails = billingDetails?.name && billingAddr?.city
6464
const billingSource = hasBillingDetails ? billingDetails : shippingDetails

0 commit comments

Comments
 (0)