From d80bba8a499469b6ae08811a7fa29d53126e5eec Mon Sep 17 00:00:00 2001 From: nkdengineer Date: Fri, 28 Jun 2024 10:21:47 +0700 Subject: [PATCH 1/2] fix: strips the spaces away before sending it to the api call --- src/libs/actions/PaymentMethods.ts | 2 +- src/pages/settings/Subscription/PaymentCard/index.tsx | 2 +- src/pages/workspace/members/WorkspaceOwnerPaymentCardForm.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libs/actions/PaymentMethods.ts b/src/libs/actions/PaymentMethods.ts index 60efc55f37a4..f4dfbef06e66 100644 --- a/src/libs/actions/PaymentMethods.ts +++ b/src/libs/actions/PaymentMethods.ts @@ -162,7 +162,7 @@ function addPaymentCard(params: PaymentCardParams) { const cardYear = CardUtils.getYearFromExpirationDateString(params.expirationDate); const parameters: AddPaymentCardParams = { - cardNumber: params.cardNumber, + cardNumber: params.cardNumber.split(' ').join(''), cardYear, cardMonth, cardCVV: params.securityCode, diff --git a/src/pages/settings/Subscription/PaymentCard/index.tsx b/src/pages/settings/Subscription/PaymentCard/index.tsx index 0e92194d8d8f..84507451b90d 100644 --- a/src/pages/settings/Subscription/PaymentCard/index.tsx +++ b/src/pages/settings/Subscription/PaymentCard/index.tsx @@ -56,7 +56,7 @@ function AddPaymentCard() { const addPaymentCard = useCallback((values: FormOnyxValues) => { const cardData = { - cardNumber: values.cardNumber, + cardNumber: values.cardNumber.split(' ').join(''), cardMonth: CardUtils.getMonthFromExpirationDateString(values.expirationDate), cardYear: CardUtils.getYearFromExpirationDateString(values.expirationDate), cardCVV: values.securityCode, diff --git a/src/pages/workspace/members/WorkspaceOwnerPaymentCardForm.tsx b/src/pages/workspace/members/WorkspaceOwnerPaymentCardForm.tsx index da9ecd8c1664..d939c1856074 100644 --- a/src/pages/workspace/members/WorkspaceOwnerPaymentCardForm.tsx +++ b/src/pages/workspace/members/WorkspaceOwnerPaymentCardForm.tsx @@ -61,7 +61,7 @@ function WorkspaceOwnerPaymentCardForm({policy}: WorkspaceOwnerPaymentCardFormPr const addPaymentCard = useCallback( (values: FormOnyxValues) => { const cardData = { - cardNumber: values.cardNumber, + cardNumber: values.cardNumber.split(' ').join(''), cardMonth: CardUtils.getMonthFromExpirationDateString(values.expirationDate), cardYear: CardUtils.getYearFromExpirationDateString(values.expirationDate), cardCVV: values.securityCode, From adda93b35d9161d3b0a99a3caa5c2521bfe18bb3 Mon Sep 17 00:00:00 2001 From: nkdengineer Date: Mon, 1 Jul 2024 16:22:58 +0700 Subject: [PATCH 2/2] Add a new function cardutils --- src/libs/CardUtils.ts | 5 +++++ src/libs/actions/PaymentMethods.ts | 2 +- src/pages/settings/Subscription/PaymentCard/index.tsx | 2 +- .../workspace/members/WorkspaceOwnerPaymentCardForm.tsx | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/libs/CardUtils.ts b/src/libs/CardUtils.ts index 106debd0a7e5..6f80a8a20a6b 100644 --- a/src/libs/CardUtils.ts +++ b/src/libs/CardUtils.ts @@ -139,6 +139,10 @@ function hasDetectedFraud(cardList: Record): boolean { return Object.values(cardList).some((card) => card.fraud !== CONST.EXPENSIFY_CARD.FRAUD_TYPES.NONE); } +function getMCardNumberString(cardNumber: string): string { + return cardNumber.replace(/\s/g, ''); +} + export { isExpensifyCard, isCorporateCard, @@ -150,4 +154,5 @@ export { getCardDescription, findPhysicalCard, hasDetectedFraud, + getMCardNumberString, }; diff --git a/src/libs/actions/PaymentMethods.ts b/src/libs/actions/PaymentMethods.ts index f4dfbef06e66..971845d3fc0d 100644 --- a/src/libs/actions/PaymentMethods.ts +++ b/src/libs/actions/PaymentMethods.ts @@ -162,7 +162,7 @@ function addPaymentCard(params: PaymentCardParams) { const cardYear = CardUtils.getYearFromExpirationDateString(params.expirationDate); const parameters: AddPaymentCardParams = { - cardNumber: params.cardNumber.split(' ').join(''), + cardNumber: CardUtils.getMCardNumberString(params.cardNumber), cardYear, cardMonth, cardCVV: params.securityCode, diff --git a/src/pages/settings/Subscription/PaymentCard/index.tsx b/src/pages/settings/Subscription/PaymentCard/index.tsx index 84507451b90d..d752d15b1186 100644 --- a/src/pages/settings/Subscription/PaymentCard/index.tsx +++ b/src/pages/settings/Subscription/PaymentCard/index.tsx @@ -56,7 +56,7 @@ function AddPaymentCard() { const addPaymentCard = useCallback((values: FormOnyxValues) => { const cardData = { - cardNumber: values.cardNumber.split(' ').join(''), + cardNumber: CardUtils.getMCardNumberString(values.cardNumber), cardMonth: CardUtils.getMonthFromExpirationDateString(values.expirationDate), cardYear: CardUtils.getYearFromExpirationDateString(values.expirationDate), cardCVV: values.securityCode, diff --git a/src/pages/workspace/members/WorkspaceOwnerPaymentCardForm.tsx b/src/pages/workspace/members/WorkspaceOwnerPaymentCardForm.tsx index d939c1856074..ad16587f6ab9 100644 --- a/src/pages/workspace/members/WorkspaceOwnerPaymentCardForm.tsx +++ b/src/pages/workspace/members/WorkspaceOwnerPaymentCardForm.tsx @@ -61,7 +61,7 @@ function WorkspaceOwnerPaymentCardForm({policy}: WorkspaceOwnerPaymentCardFormPr const addPaymentCard = useCallback( (values: FormOnyxValues) => { const cardData = { - cardNumber: values.cardNumber.split(' ').join(''), + cardNumber: CardUtils.getMCardNumberString(values.cardNumber), cardMonth: CardUtils.getMonthFromExpirationDateString(values.expirationDate), cardYear: CardUtils.getYearFromExpirationDateString(values.expirationDate), cardCVV: values.securityCode,