From 2ad879629ddf40b72e604915642febd811b51947 Mon Sep 17 00:00:00 2001 From: m4tewoosh Date: Wed, 8 Jan 2025 16:39:11 +0100 Subject: [PATCH] feat/MSSDK-2090: Add support for GCash payment method --- src/api/Customer/types/getPaymentDetails.types.ts | 3 ++- src/appRedux/types/publisherConfigSlice.types.ts | 3 ++- src/assets/images/paymentMethods/gcash.svg | 6 ++++++ src/components/PaymentCard/Payment.const.ts | 6 ++++++ src/components/PaymentMethod/PaymentMethod.tsx | 1 + src/util/paymentMethodHelper.js | 13 +++++++++---- 6 files changed, 26 insertions(+), 6 deletions(-) create mode 100644 src/assets/images/paymentMethods/gcash.svg diff --git a/src/api/Customer/types/getPaymentDetails.types.ts b/src/api/Customer/types/getPaymentDetails.types.ts index 7c6144b14..104f2c253 100644 --- a/src/api/Customer/types/getPaymentDetails.types.ts +++ b/src/api/Customer/types/getPaymentDetails.types.ts @@ -21,7 +21,8 @@ type PaymentDetailCardGooglePay = GeneralPaymentDetail & { | 'android' | 'ideal' | 'bancontact_card' - | 'bancontact_mobile'; + | 'bancontact_mobile' + | 'gcash'; paymentMethodSpecificParams: { holderName: string; diff --git a/src/appRedux/types/publisherConfigSlice.types.ts b/src/appRedux/types/publisherConfigSlice.types.ts index 25eaeff44..932ee7fb9 100644 --- a/src/appRedux/types/publisherConfigSlice.types.ts +++ b/src/appRedux/types/publisherConfigSlice.types.ts @@ -36,7 +36,8 @@ export type PaymentMethodName = | 'ideal' | 'bancontact_card' | 'bancontact_mobile' - | 'free-offer'; + | 'free-offer' + | 'gcash'; export type PaymentGateway = 'adyen' | 'paypal' | 'free-offer'; diff --git a/src/assets/images/paymentMethods/gcash.svg b/src/assets/images/paymentMethods/gcash.svg new file mode 100644 index 000000000..2434b3bb1 --- /dev/null +++ b/src/assets/images/paymentMethods/gcash.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/components/PaymentCard/Payment.const.ts b/src/components/PaymentCard/Payment.const.ts index 44437a884..7968ce33e 100644 --- a/src/components/PaymentCard/Payment.const.ts +++ b/src/components/PaymentCard/Payment.const.ts @@ -12,6 +12,7 @@ import Discover from 'assets/images/paymentMethods/discover.svg'; import Diners from 'assets/images/paymentMethods/diners.svg'; import Ideal from 'assets/images/paymentMethods/ideal.svg'; import Bancontact from 'assets/images/paymentMethods/bancontact.svg'; +import GCash from 'assets/images/paymentMethods/gcash.svg'; // eslint-disable-next-line import/prefer-default-export export const CardTypes = { @@ -94,6 +95,11 @@ export const CardTypes = { icon: Bancontact, caption: 'Bancontact Mobile', title: 'Bancontact Mobile' + }, + gcash: { + icon: GCash, + caption: 'GCash', + title: 'GCash' } }; diff --git a/src/components/PaymentMethod/PaymentMethod.tsx b/src/components/PaymentMethod/PaymentMethod.tsx index c06922920..b1de5bdc6 100644 --- a/src/components/PaymentMethod/PaymentMethod.tsx +++ b/src/components/PaymentMethod/PaymentMethod.tsx @@ -37,6 +37,7 @@ const PaymentMethod = () => { case 'ideal': case 'bancontact_card': case 'bancontact_mobile': + case 'gcash': return ; default: return ( diff --git a/src/util/paymentMethodHelper.js b/src/util/paymentMethodHelper.js index a98fb5ea1..a8637942e 100644 --- a/src/util/paymentMethodHelper.js +++ b/src/util/paymentMethodHelper.js @@ -9,6 +9,7 @@ import GiftLogo from 'assets/images/gift.svg'; import RokuLogo from 'assets/images/paymentMethods/roku_color.svg'; import AmazonLogo from 'assets/images/paymentMethods/amazon_color.svg'; import AndroidLogo from 'assets/images/paymentMethods/android_color.svg'; +import GCashLogo from 'assets/images/paymentMethods/gcash.svg'; import store from 'appRedux/store'; import { currencyFormat, isPeriod, periodMapper } from './planHelper'; @@ -21,13 +22,15 @@ export const supportedPaymentMethods = [ 'googlepay', 'ideal', 'bancontact_card', - 'bancontact_mobile' + 'bancontact_mobile', + 'gcash' ]; export const bankPaymentMethods = [ 'ideal', 'bancontact_mobile', // Bancontact Mobile name in cleeng-admin - 'bcmc_mobile' // Bancontact Mobile name in Adyen + 'bcmc_mobile', // Bancontact Mobile name in Adyen + 'gcash' ]; export const standardPaymentMethods = [ @@ -51,7 +54,8 @@ export const readablePaymentMethodNames = { googlepay: 'GooglePay', ideal: 'iDEAL', bancontact_card: 'Bancontact Card', - bancontact_mobile: 'Bancontact Mobile' + bancontact_mobile: 'Bancontact Mobile', + gcash: 'GCash' }; export const supportedPaymentGateways = ['adyen', 'paypal']; @@ -68,7 +72,8 @@ export const logos = { gift: GiftLogo, roku: RokuLogo, amazon: AmazonLogo, - android: AndroidLogo + android: AndroidLogo, + gcash: GCashLogo }; export default logos;