{"version":3,"sources":["shared/utils/base64.util.ts","shared/enums/PaymentMode.enum.ts","shared/interfaces/interfaces.interface.ts","components/payment-mode-button/payment-mode-button.tsx","shared/utils/browser-info.util.ts","shared/enums/PaymayaPayResultStatus.ts","shared/enums/TransactionResult.ts","shared/enums/AuthStatus3DS.enum.ts","shared/utils/datetime.util.ts","shared/utils/j.util.ts","Pages/Payment/PaymentForm/components.tsx","Pages/Payment/PaymentForm/Ecom/CreditCard/index.tsx","Pages/Payment/PaymentForm/Ecom/ThreeDsFormModal.tsx","shared/enums/MinAmount.enum.ts","Pages/Payment/PaymentForm/Ecom/index.tsx","Pages/Payment/PaymentForm/QR/index.tsx","Pages/Payment/index.tsx","Pages/qrph-banks-wallets/index.tsx","components/Layout/components.ts","components/Layout/index.tsx","App/App.tsx","reportWebVitals.ts","index.tsx","Pages/Payment/PaymentForm/classes.module.css"],"names":["EncodeToBase64","value","Buffer","from","toString","PaymentMode","Currency","PaymentModeButton","props","buttonIcon","paymentType","paymentMode","paymentModeSelected","setPaymentMode","isDisabled","buttonTextColor","buttonBackgroundColor","CARD","size","QR","Button","variant","leftIcon","sx","backgroundColor","borderRadius","border","color","fontWeight","width","onClick","disabled","PaymayaPayResultStatus","TransactionResult","AuthStatus3DS","GenerateDateTimeSystemTrace","DateTime","now","toFormat","createJYek","jYek","a","process","importJWK","kty","use","k","encJ","payload","encoder","TextEncoder","CompactEncrypt","encode","setProtectedHeader","alg","enc","encrypt","decJ","token","decoder","TextDecoder","compactDecrypt","plaintext","decode","Input","styled","button","input","Select","select","CardGroup","div","CardItem","CardItemFull","PayButton","Label","label","CreditCardGroup","CreditCardInput","MaskedStyledCardInput","IMaskMixin","inputRef","ref","MaskedStyledInput","panMask","mask","regex","cardTypeName","CreditCard","paymentData","setPaymentData","useState","cardDisplay","setCardDisplay","expiryDateInput","useRef","cvcInput","className","classes","space","type","card","cardNumber","id","cardnumber","pattern","inputMode","placeholder","style","backgroundImage","backgroundRepeat","backgroundSize","backgroundPosition","dispatch","appended","dynamicMasked","number","replace","compiledMasks","item","re","RegExp","match","onAccept","masked","currentMask","visa","jcb","jcb15","mastercard","unknown","prev","onComplete","current","focus","expirationdate","el","expiryMonth","expiryYear","undefined","blocks","YY","IMask","MaskedRange","to","MM","split","month","year","cvc","securitycode","MinAmount","ThreeDsFormModal","threeDsFormModalConfig","setThreeDsFormModalConfig","createEcomPayment","useEffect","challengeLifecycle","Spreedly","ThreeDS","Lifecycle","environmentKey","hiddenIframeLocation","challengeIframeLocation","transactionToken","challengeIframeClasses","statusUpdates","event","threeDsParam","errorMessage","context","authenticationStatus","AUTHENTICATION_FAILED","action","SUCCESSFUL_AUTHENTICATION","isLoading","document","getElementById","classList","remove","on","start","Modal","opened","isOpened","onClose","padding","hideCloseButton","closeOnClickOutside","closeOnEscape","LoadingOverlay","visible","position","EcomPaymentForm","inputHandler","browserInfo","httpRequestIsLoading","setHttpRequestIsLoading","openAlert","message","httpRequestIsError","setHttpRequestIsError","threeDSecure","validateInputs","EcomPaymentApiUrl","merchantBase64Credentials","trimmedCardNumber","amountNumberInString","amount","replaceAll","createEcomPaymentReqPayload","request","merchant","paymentFacilitator","subMerchants","payer","fundingInstrument","csc","firstName","name","lastName","transaction","total","currency","options","requestThreeDs","JSON","stringify","j","reqBody","Token","axios","post","headers","Authorization","then","res","data","response","decryptedRes","parse","paymentTransactionReferenceNo","status","threeDs","APPROVED","initialPaymentData","window","location","href","SUCCESS","CHALLENGE_REQUIRED","catch","err","decryptedErr","error","DECLINED","FAILED","encodeURIComponent","finally","email","iconRelative","onChange","far","Number","radix","min","thousandsSeparator","PHP","USD","mb","Collapse","in","Alert","marginBottom","severity","IconButton","fontSize","Text","Space","h","Group","spacing","src","height","alt","title","QRPaymentForm","Box","Center","Image","mt","direction","fit","Anchor","Payment","setBrowserInfo","innerWidth","innerHeight","windowSize","setWindowSize","generateBrowserInfo","newSize","chosenSize","dynamicStyles","browser_size","documentElement","setProperty","serialize","GenerateBrowserInfo","checkWindowSize","addEventListener","removeEventListener","Divider","Ecom","e","target","QRPHBanksWallet","rows","map","bank","index","Container","Title","Paper","shadow","Table","PaymentContainer","Header","DescriptionContainer","Content","Layout","maxWidth","margin","background","display","justifyContent","boxShadow","top","left","transform","children","align","textDecoration","rel","App","path","element","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode","module","exports"],"mappings":"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","file":"static/js/main.c6b8cb1a.chunk.js","sourcesContent":["export const EncodeToBase64 = (value: string) => {\n return Buffer.from(value).toString('base64');\n};\n\nexport const DecodeFromBase64 = (value: string) => {\n return Buffer.from(value, 'base64').toString('ascii');\n};\n","export enum PaymentMode {\n\tCARD = 'CARD',\n\tQR = 'QR'\n}","export interface PaymentData {\n amount: number;\n card: {\n cardNumber: string;\n expiryMonth: string;\n expiryYear: string;\n cvc: string;\n };\n currency: Currency;\n email: string;\n name: string;\n}\n\nexport enum Currency {\n PHP = 'PHP',\n USD = 'USD',\n}\n","import { Button } from '@mantine/core';\nimport { AiOutlineCreditCard, AiOutlineScan } from 'react-icons/ai';\nimport { PaymentMode } from '../../shared/enums/PaymentMode.enum';\n\ninterface IPaymentModeButtonProps {\n paymentMode: PaymentMode;\n paymentModeSelected: PaymentMode;\n setPaymentMode: (param: PaymentMode) => void;\n isDisabled?: boolean;\n}\n\nconst PaymentModeButton = (props: IPaymentModeButtonProps) => {\n const { paymentMode, paymentModeSelected, setPaymentMode, isDisabled } =\n props;\n\n let buttonIcon,\n paymentType,\n buttonTextColor = '#9c9c9c',\n buttonBackgroundColor = '#ffffff';\n\n if (paymentMode === PaymentMode.CARD) {\n buttonIcon = ;\n paymentType = 'Card';\n\n if (paymentModeSelected === PaymentMode.CARD) {\n buttonTextColor = '#000000';\n buttonBackgroundColor = '#f8f8f8';\n }\n } else {\n buttonIcon = ;\n paymentType = 'QR';\n\n if (paymentModeSelected === PaymentMode.QR) {\n buttonTextColor = '#000000';\n buttonBackgroundColor = '#f8f8f8';\n }\n }\n\n return (\n ({\n backgroundColor: buttonBackgroundColor,\n borderRadius: 0,\n border: '1px solid #dddcdc',\n color: buttonTextColor,\n fontWeight: 'normal',\n width: '100%',\n '&:hover': {\n color: '#000000',\n backgroundColor: '#f8f8f8',\n },\n })}\n onClick={() => setPaymentMode(paymentMode)}\n disabled={isDisabled ? true : false}\n >\n Pay with {paymentType}\n \n );\n};\n\nexport default PaymentModeButton;\n","export const GenerateBrowserInfo = (newSize: { height: number, width: number }) => {\n // Choose a browser size for your application.\n // This will be the size of the challenge iframe that will be presented\n // to a user.\n //\n // Note: If you're creating a modal, you should make the surrounding DOM node a\n // little larger than the option selected below.\n //\n // '01' - 250px x 400px\n // '02' - 390px x 300px\n // '03' - 500px x 600px\n // '04' - 600px x 400px\n // '05' - fullscreen\n\n const dynamicStyles = {\n '--iframe-width': `${newSize.width}px`,\n '--iframe-height': `${newSize.height}px`,\n };\n\n let chosenSize;\n if (newSize.width <= 512) {\n dynamicStyles[\"--iframe-height\"] = '400px';\n dynamicStyles[\"--iframe-width\"] = '250px';\n chosenSize = '01'; // Mobile\n } else if (newSize.width <= 768) {\n dynamicStyles[\"--iframe-height\"] = '300px';\n dynamicStyles[\"--iframe-width\"] = '390px';\n chosenSize = '02'; // Tablet\n } else if (newSize.width <= 1024) {\n dynamicStyles[\"--iframe-height\"] = '400px';\n dynamicStyles[\"--iframe-width\"] = '600px';\n chosenSize = '03'; // Desktop\n } else if (newSize.width <= 1920) {\n dynamicStyles[\"--iframe-height\"] = '400px';\n dynamicStyles[\"--iframe-width\"] = '600px';\n chosenSize = '03'; // Desktop\n } else if (newSize.width <= 2560) {\n dynamicStyles[\"--iframe-height\"] = '600px';\n dynamicStyles[\"--iframe-width\"] = '500px';\n chosenSize = '04'; // Large Desktop\n } else {\n chosenSize = '05'; // Fullscreen\n }\n const browser_size = chosenSize;\n\n document.documentElement.style.setProperty('--iframe-height', dynamicStyles[\"--iframe-height\"]);\n document.documentElement.style.setProperty('--iframe-width', dynamicStyles[\"--iframe-width\"]);\n\n\n // The accept header from your server side rendered page.\n // You'll need to inject it into the page. Below is an example.\n const acceptHeader = 'text/html,application/xhtml+xml;q=0.9,*/*;q=0.8';\n\n // Capture browser data by using `Spreedly.ThreeDS.serialize().\n //@ts-ignore\n const browser_info = Spreedly.ThreeDS.serialize(browser_size, acceptHeader);\n\n return browser_info;\n};\n","export enum PaymayaPayResultStatus {\n APPROVED = 'Approved',\n DECLINED = 'Declined',\n CHALLENGE_REQUIRED = 'CHALLENGE_REQUIRED',\n}\n","export enum TransactionResult {\n\tSUCCESS = 'success',\n\tFAILED = 'failed',\n}\n","export enum AuthStatus3DS {\n SUCCESSFUL_AUTHENTICATION = 'Y',\n AUTHENTICATION_ATTEMPTED = 'A',\n AUTHENTICATION_FAILED = 'N',\n UNAVAILABLE_FOR_CHECKING = 'U',\n CHALLENGE_REQUIRED = 'C',\n}\n","import { DateTime } from 'luxon';\n\nexport const GenerateDateTimeSystemTrace = (): string => {\n\treturn DateTime.now().toFormat('MMddyyyyhhmm').toString();\n};\n","import {\n CompactDecryptResult,\n CompactEncrypt,\n KeyLike,\n compactDecrypt,\n importJWK,\n} from 'jose';\n\nexport const createJYek = async (\n jYek: string\n): Promise => {\n const J_GLA = process.env.REACT_APP_J_GLA || '';\n\n return importJWK(\n {\n kty: 'oct',\n use: 'enc',\n k: jYek,\n },\n J_GLA\n );\n};\n\nexport const encJ = async (\n payload: string,\n jYek: KeyLike | Uint8Array\n): Promise => {\n const J_GLA = process.env.REACT_APP_J_GLA || '';\n const J_CNE = process.env.REACT_APP_J_CNE || '';\n const encoder = new TextEncoder();\n\n return new CompactEncrypt(encoder.encode(payload))\n .setProtectedHeader({\n alg: J_GLA,\n enc: J_CNE,\n })\n .encrypt(jYek);\n};\n\nexport const decJ = async (\n token: string,\n jYek: KeyLike | Uint8Array\n): Promise => {\n const decoder = new TextDecoder();\n const { plaintext }: CompactDecryptResult = await compactDecrypt(token, jYek);\n\n return decoder.decode(plaintext);\n};\n","import { IMaskMixin } from 'react-imask';\nimport styled from 'styled-components';\n\nexport const PaymentModeButton = styled.button`\n background-color: #ffffff;\n border: 1px solid #dddcdc;\n padding: 10px;\n width: 50%;\n\n :hover {\n background-color: #efefef;\n cursor: pointer;\n }\n`;\n\n// PaymentForm Components\nexport const Input = styled.input`\n padding: 8px 8px 8px 50px;\n width: 100%;\n border: 1px solid #dddcdc;\n outline: none;\n font-size: 15px;\n color: #555555;\n background-color: #ffffff;\n`;\n\nexport const InputNoIcon = styled.input`\n padding: 8px;\n width: 100%;\n border: 1px solid #dddcdc;\n outline: none;\n font-size: 15px;\n color: #555555;\n background-color: #ffffff;\n margin-top: 6px;\n`;\n\nexport const Select = styled.select`\n padding: 8px;\n width: 100%;\n border: 1px solid #dddcdc;\n outline: none;\n font-size: 15px;\n color: #555555;\n background-color: #ffffff;\n`;\n\nexport const CardGroup = styled.div`\n display: flex;\n justify-content: space-between;\n\n @media screen and (max-width: 420px) {\n flex-direction: column;\n }\n`;\n\nexport const CardItem = styled.div`\n display: flex;\n align-items: center;\n width: 48%;\n\n @media screen and (max-width: 420px) {\n width: 100%;\n margin-bottom: 20px;\n }\n`;\n\nexport const CardItemFull = styled.div`\n display: flex;\n align-items: center;\n width: 100%;\n`;\n\nexport const PayButton = styled.button`\n margin-top: 20px;\n background: #00afe7;\n padding: 12px;\n text-align: center;\n color: #f8f8f8;\n border-radius: 5px;\n width: 100%;\n cursor: pointer;\n border: 1px solid #00afe7;\n\n :hover:enabled {\n background: #009dcf;\n }\n\n :disabled {\n cursor: not-allowed;\n background-color: #e9ecef;\n color: #adb5bd;\n border-color: transparent;\n }\n\n @media screen and (max-width: 420px) {\n margin-top: 20px;\n }\n`;\n\n// Credit Card Components\nexport const Label = styled.label`\n display: block;\n color: #555555;\n margin-bottom: 13px;\n`;\n\nexport const StepsLabel = styled.label`\n display: block;\n color: #000000;\n font-size: 14px;\n`;\n\nexport const StepsLabelSecondary = styled.label`\n display: block;\n color: #555555;\n font-size: 14px;\n`;\n\nexport const CreditCardGroup = styled.div`\n display: flex;\n justify-content: space-between;\n border: 1px solid #dddcdc;\n`;\n\nexport const CreditCardInput = styled.input`\n padding: 8px 8px 8px 50px;\n width: 100%;\n border: none;\n outline: none;\n font-size: 15px;\n color: #555555;\n background-color: #ffffff;\n`;\n\nexport const MaskedStyledCardInput = IMaskMixin(\n ({ inputRef, ...props }: { inputRef: any; props: any }) => (\n \n )\n);\n\nexport const MaskedStyledInput = IMaskMixin(\n ({ inputRef, ...props }: { inputRef: any; props: any }) => (\n \n )\n);\n","import IMask from 'imask';\nimport { useRef, useState } from 'react';\nimport { PaymentData } from '../../../../../shared/interfaces/interfaces.interface';\nimport classes from '../../classes.module.css';\nimport {\n CreditCardGroup,\n Label,\n MaskedStyledCardInput,\n} from '../../components';\n\nconst panMask = [\n {\n mask: '0000 000000 00000',\n regex: '^3[47]\\\\d{0,13}',\n cardTypeName: 'american express',\n },\n {\n mask: '0000 0000 0000 0000',\n regex: '^(5[1-5]\\\\d{0,2}|22[2-9]\\\\d{0,1}|2[3-7]\\\\d{0,2})\\\\d{0,12}',\n cardTypeName: 'mastercard',\n },\n {\n mask: '0000 000000 00000',\n regex: '^(?:2131|1800)\\\\d{0,11}',\n cardTypeName: 'jcb15',\n },\n {\n mask: '0000 0000 0000 0000',\n regex: '^(?:35\\\\d{0,2})\\\\d{0,12}',\n cardTypeName: 'jcb',\n },\n {\n mask: '0000 0000 0000 0000',\n regex: '^4\\\\d{0,15}',\n cardTypeName: 'visa',\n },\n {\n mask: '0000 0000 0000 0000',\n cardTypeName: 'unknown',\n },\n];\n\ninterface CreditCardProps {\n paymentData: PaymentData;\n setPaymentData: (param: any) => any;\n}\n\nconst CreditCard = (props: CreditCardProps) => {\n const { paymentData, setPaymentData } = props;\n\n const [cardDisplay, setCardDisplay] = useState('cc-unknown');\n // @ref https://www.designcise.com/web/tutorial/how-to-fix-useref-react-hook-cannot-assign-to-read-only-property-typescript-error\n let expiryDateInput = useRef(null);\n let cvcInput = useRef(null);\n\n return (\n
\n \n \n {/* PAN */}\n {\n var number = (dynamicMasked.value + appended).replace(/\\D/g, '');\n\n for (let item of dynamicMasked.compiledMasks) {\n let re = new RegExp(item.regex);\n\n if (number.match(re) != null) {\n return item;\n }\n }\n }}\n onAccept={(value: any, mask: any) => {\n const cardTypeName: string = mask.masked.currentMask.cardTypeName;\n\n const tempCardType: { [key: string]: string } = {\n 'american express': 'cc-amex',\n visa: 'cc-visa',\n jcb: 'cc-jcb',\n jcb15: 'cc-jcb',\n mastercard: 'cc-mastercard',\n unknown: 'cc-unknown',\n };\n\n setCardDisplay(tempCardType[cardTypeName]);\n\n setPaymentData((prev: any) => {\n return {\n ...prev,\n card: {\n ...prev.card,\n cardNumber: value,\n },\n };\n });\n }}\n onComplete={() => {\n expiryDateInput.current?.focus();\n expiryDateInput.current?.select();\n }}\n />\n\n {/* Expiry Date */}\n (expiryDateInput.current = el)} // access to nested input\n value={\n paymentData.card.expiryMonth + '/' + paymentData.card.expiryYear ||\n undefined\n }\n // IMask Props\n mask={'MM{/}YY'}\n blocks={{\n YY: {\n mask: IMask.MaskedRange,\n from: 0,\n to: 99,\n },\n MM: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 12,\n },\n }}\n onAccept={(value: any, mask: any) => {\n const [month, year] = value.split('/');\n\n setPaymentData((prev: any) => {\n return {\n ...prev,\n card: {\n ...prev.card,\n expiryMonth: month,\n expiryYear: year,\n },\n };\n });\n }}\n onComplete={() => {\n cvcInput.current?.focus();\n cvcInput.current?.select();\n }}\n />\n\n {/* CVC */}\n (cvcInput.current = el)}\n // IMask Props\n mask={'0000'}\n onAccept={(value: any, mask: any) => {\n setPaymentData((prev: any) => {\n return {\n ...prev,\n card: {\n ...prev.card,\n cvc: value,\n },\n };\n });\n }}\n />\n \n
\n );\n};\n\nexport default CreditCard;\n","import { LoadingOverlay, Modal } from '@mantine/core';\nimport { useEffect } from 'react';\nimport { AuthStatus3DS } from '../../../../shared/enums/AuthStatus3DS.enum';\nimport {\n ThreeDSMessage,\n ThreeDSMessageContext,\n ThreeDsFormModalConfig,\n} from '../../../../shared/interfaces/ThreeDsFormModalConfig.interface';\n\n// const vSafe3dsOrigin = process.env.NEXT_PUBLIC_VESTA_3DS_ORIGIN;\n\ninterface ThreeDsFormModalProps {\n threeDsFormModalConfig: ThreeDsFormModalConfig;\n setThreeDsFormModalConfig: (params: any) => void;\n createEcomPayment: (threeDSecure: {\n authenticationStatus: string | undefined;\n errorMessage: ThreeDSMessageContext;\n transactionToken: string | undefined;\n }) => void;\n}\n\nconst ThreeDsFormModal = (props: ThreeDsFormModalProps) => {\n const {\n threeDsFormModalConfig,\n setThreeDsFormModalConfig,\n createEcomPayment,\n } = props;\n\n useEffect(() => {\n //@ts-ignore\n const challengeLifecycle = new Spreedly.ThreeDS.Lifecycle({\n environmentKey: '1TMW3B0AAJ9GPV3BKCTZBKGTVP',\n hiddenIframeLocation: 'device-fingerprint',\n challengeIframeLocation: 'challenge',\n transactionToken: threeDsFormModalConfig.transactionToken,\n challengeIframeClasses: 'challenge_iframe_size',\n });\n\n //@ts-ignore\n const statusUpdates = async (event: ThreeDSMessage) => {\n const threeDsParam = {\n transactionToken:\n event.token || threeDsFormModalConfig.transactionToken,\n errorMessage: event.context,\n authenticationStatus: AuthStatus3DS.AUTHENTICATION_FAILED,\n };\n\n if (\n event.action === 'succeeded' ||\n event.action === 'error' ||\n event.action === 'finalization-timeout' ||\n event.action === 'trigger-completion'\n ) {\n if (event.action === 'succeeded') {\n threeDsParam.authenticationStatus =\n AuthStatus3DS.SUCCESSFUL_AUTHENTICATION;\n } else if (event.action === 'error') {\n threeDsParam.errorMessage = event.context;\n } else if (event.action === 'finalization-timeout') {\n threeDsParam.errorMessage =\n '3DS authentication was not completed within the expected timeframe.';\n } else if (event.action === 'trigger-completion') {\n // TODO - Improve error message\n threeDsParam.errorMessage = 'trigger-completion';\n }\n\n setThreeDsFormModalConfig((prev: ThreeDsFormModalConfig) => ({\n ...prev,\n isLoading: true,\n }));\n\n createEcomPayment(threeDsParam);\n } else if (event.action === 'challenge') {\n document.getElementById('challenge-modal')?.classList.remove('hidden');\n }\n };\n // @ts-ignore\n Spreedly.on('3ds:status', statusUpdates);\n\n challengeLifecycle.start();\n }, []);\n\n return (\n <>\n {\n setThreeDsFormModalConfig((prev: ThreeDsFormModalConfig) => ({\n ...prev,\n isOpened: false,\n }));\n }}\n size='auto'\n padding='sm'\n hideCloseButton\n closeOnClickOutside={false}\n closeOnEscape={false}\n >\n \n\n
\n
\n
\n
\n \n \n );\n};\n\nexport default ThreeDsFormModal;\n","export enum MinAmount {\n PHP = 15.00,\n USD = 1.00\n}\n ","import { Group, Space, Text } from '@mantine/core';\nimport Box from '@material-ui/core/Box';\nimport Collapse from '@material-ui/core/Collapse';\nimport IconButton from '@material-ui/core/IconButton';\nimport CloseIcon from '@material-ui/icons/Close';\nimport Alert from '@material-ui/lab/Alert';\nimport axios from 'axios';\nimport { KeyLike } from 'jose';\nimport { useState } from 'react';\nimport { initialPaymentData } from '../..';\nimport { AuthStatus3DS } from '../../../../shared/enums/AuthStatus3DS.enum';\nimport { PaymayaPayResultStatus } from '../../../../shared/enums/PaymayaPayResultStatus';\nimport { TransactionResult } from '../../../../shared/enums/TransactionResult';\nimport { CreateEcomPaymentReqPayload } from '../../../../shared/interfaces/P3.request.interface';\nimport {\n ThreeDSMessageContext,\n ThreeDsFormModalConfig,\n} from '../../../../shared/interfaces/ThreeDsFormModalConfig.interface';\nimport {\n Currency,\n PaymentData,\n} from '../../../../shared/interfaces/interfaces.interface';\nimport { EncodeToBase64 } from '../../../../shared/utils/base64.util';\nimport { GenerateDateTimeSystemTrace } from '../../../../shared/utils/datetime.util';\nimport { createJYek, decJ, encJ } from '../../../../shared/utils/j.util';\nimport classes from '../classes.module.css';\nimport {\n CardGroup,\n CardItem,\n CardItemFull,\n Input,\n MaskedStyledInput,\n PayButton,\n Select,\n} from '../components';\nimport CreditCard from './CreditCard/index';\nimport ThreeDsFormModal from './ThreeDsFormModal';\nimport { MinAmount } from '../../../../shared/enums/MinAmount.enum';\n\ninterface EcomPaymentFormProps {\n paymentData: PaymentData;\n setPaymentData: (param: any) => any;\n inputHandler: (param: any) => any;\n browserInfo: string;\n}\n\nconst EcomPaymentForm = (props: EcomPaymentFormProps) => {\n const { paymentData, setPaymentData, inputHandler, browserInfo } = props;\n\n const [httpRequestIsLoading, setHttpRequestIsLoading] = useState(false);\n const [httpRequestIsError, setHttpRequestIsError] = useState({\n openAlert: false,\n message: '',\n });\n const [threeDsFormModalConfig, setThreeDsFormModalConfig] =\n useState({\n isOpened: false,\n isLoading: false,\n transactionToken: undefined,\n });\n\n const createEcomPayment = async (threeDSecure?: {\n authenticationStatus?: string;\n errorMessage?: ThreeDSMessageContext;\n transactionToken?: string;\n }) => {\n if (!validateInputs()) {\n return;\n }\n\n setHttpRequestIsLoading(true);\n\n const EcomPaymentApiUrl = `${process.env.REACT_APP_API_DOMAIN}/v1/payments/paymaya/ecom/direct`;\n const merchantBase64Credentials = EncodeToBase64(\n `${process.env.REACT_APP_CA}:${process.env.REACT_APP_PA}`\n );\n\n // Remove whitespaces from string\n const trimmedCardNumber = paymentData.card.cardNumber.replace(/\\s/g, '');\n const amountNumberInString = paymentData.amount\n .toString()\n .replaceAll(',', '');\n\n const createEcomPaymentReqPayload: CreateEcomPaymentReqPayload = {\n request: {\n merchant: {\n paymentFacilitator: {\n subMerchants: [\n {\n id: process.env.REACT_APP_CA || '',\n },\n ],\n },\n },\n payer: {\n fundingInstrument: {\n card: {\n cardNumber: trimmedCardNumber,\n expiryMonth: paymentData.card.expiryMonth,\n expiryYear: paymentData.card.expiryYear,\n csc: paymentData.card.cvc,\n firstName: paymentData.name.split(' ')[0],\n lastName: paymentData.name.split(' ')[1] || '',\n },\n },\n },\n transaction: {\n amount: {\n total: {\n currency: paymentData.currency,\n value: amountNumberInString,\n },\n },\n },\n options: {\n requestThreeDs: true,\n threeDSecure: {\n browserInfo,\n },\n },\n },\n };\n\n // Initial Checkout will not have acsUrl\n // Re-trigger of Checkout w/ 3DS will have acsUrl. This block will execute by then\n if (threeDsFormModalConfig.transactionToken) {\n if (threeDSecure) {\n createEcomPaymentReqPayload.request.options.threeDSecure = {\n ...createEcomPaymentReqPayload.request.options.threeDSecure,\n transactionToken: threeDSecure.transactionToken,\n authenticationStatus:\n threeDSecure.authenticationStatus as AuthStatus3DS,\n };\n\n if (threeDSecure.errorMessage) {\n createEcomPaymentReqPayload.request.options = {\n ...createEcomPaymentReqPayload.request.options,\n errorMessage:\n typeof threeDSecure.errorMessage === 'string'\n ? threeDSecure.errorMessage\n : undefined,\n };\n }\n }\n }\n\n let j: string;\n let jYek: KeyLike | Uint8Array;\n try {\n jYek = await createJYek(process.env.REACT_APP_KS || '');\n\n j = await encJ(JSON.stringify(createEcomPaymentReqPayload), jYek);\n } catch (err) {\n setHttpRequestIsError({\n openAlert: true,\n message: `Something went wrong. Please contact support. Reference: XPTKN${GenerateDateTimeSystemTrace()}`,\n });\n\n setHttpRequestIsLoading(false);\n return;\n }\n\n const reqBody = {\n request: {\n Token: j,\n },\n };\n\n axios\n .post(EcomPaymentApiUrl, reqBody, {\n headers: {\n Authorization: `Basic ${merchantBase64Credentials}`,\n },\n })\n .then((res: any) => {\n decJ(res.data.response.Token, jYek).then((decryptedRes: any) => {\n const { paymentTransactionReferenceNo, status, threeDs } =\n JSON.parse(decryptedRes);\n\n if (status === PaymayaPayResultStatus.APPROVED) {\n setPaymentData(initialPaymentData);\n setThreeDsFormModalConfig({\n isOpened: false,\n isLoading: false,\n transactionToken: undefined,\n });\n window.location.href = `https://status.xpay.world/transaction/${TransactionResult.SUCCESS}?id=${paymentTransactionReferenceNo}&callback_url=${process.env.REACT_APP_FOODBANK_CALLBACK_URL}`;\n } else if (status === PaymayaPayResultStatus.CHALLENGE_REQUIRED) {\n const { transactionToken } = threeDs;\n\n setThreeDsFormModalConfig({\n isOpened: true,\n isLoading: false,\n transactionToken: transactionToken,\n });\n }\n });\n })\n .catch((err: any) => {\n if (err.response?.data.response?.Token) {\n decJ(err.response.data.response.Token, jYek).then(\n (decryptedErr: any) => {\n const { status, error } = JSON.parse(decryptedErr);\n\n if (status === PaymayaPayResultStatus.DECLINED) {\n setPaymentData(initialPaymentData);\n setThreeDsFormModalConfig({\n isOpened: false,\n isLoading: false,\n transactionToken: undefined,\n });\n window.location.href = `https://status.xpay.world/transaction/${\n TransactionResult.FAILED\n }?error=${encodeURIComponent(error)}`;\n }\n }\n );\n } else if (err.response?.data.status) {\n setPaymentData(initialPaymentData);\n setThreeDsFormModalConfig({\n isOpened: false,\n isLoading: false,\n transactionToken: undefined,\n });\n window.location.href = `https://status.xpay.world/transaction/${\n TransactionResult.FAILED\n }?error=${encodeURIComponent(err.response?.data.error)}`;\n setHttpRequestIsError({\n openAlert: true,\n message: err.response?.data.error,\n });\n } else {\n setPaymentData(initialPaymentData);\n setThreeDsFormModalConfig({\n isOpened: false,\n isLoading: false,\n transactionToken: undefined,\n });\n window.location.href = `https://status.xpay.world/transaction/${\n TransactionResult.FAILED\n }?error=${encodeURIComponent(\n `Something went wrong. Please contact support. Reference: XPNTWRK${GenerateDateTimeSystemTrace()}`\n )}`;\n setHttpRequestIsError({\n openAlert: true,\n message: `Something went wrong. Please contact support.`,\n });\n }\n })\n .finally(() => {\n setHttpRequestIsLoading(false);\n });\n };\n\n const validateInputs = () => {\n if (!paymentData.name) {\n setHttpRequestIsError({\n openAlert: true,\n message: 'Please enter your name.',\n });\n\n return false;\n } else if (!paymentData.email) {\n setHttpRequestIsError({\n openAlert: true,\n message: 'Please enter your email.',\n });\n\n return false;\n } else if (paymentData.amount <= 0) {\n setHttpRequestIsError({\n openAlert: true,\n message: 'Please enter a valid amount.',\n });\n\n return false;\n } else if (!paymentData.card.cardNumber) {\n setHttpRequestIsError({\n openAlert: true,\n message: 'Please enter your card number.',\n });\n\n return false;\n } else if (!paymentData.card.expiryMonth || !paymentData.card.expiryYear) {\n setHttpRequestIsError({\n openAlert: true,\n message: 'Please enter your card expiry month/year.',\n });\n\n return false;\n } else if (!paymentData.card.cvc) {\n setHttpRequestIsError({\n openAlert: true,\n message: 'Please enter your CSC/CVC.',\n });\n\n return false;\n } else if (paymentData.amount < MinAmount[paymentData.currency]) {\n setHttpRequestIsError({\n openAlert: true,\n message: `Minimum amount is ${paymentData.currency} ${\n MinAmount[paymentData.currency]\n }`,\n });\n\n return false;\n }\n return true;\n };\n\n return (\n
\n {threeDsFormModalConfig.isOpened && (\n \n )}\n\n {/* Full Name, Email Address */}\n \n \n \n \n \n \n \n \n \n \n\n {/* Amount, Currency */}\n \n \n \n setPaymentData((prev: any) => {\n return {\n ...prev,\n amount: value,\n };\n })\n }\n />\n \n \n \n \n \n \n \n \n \n\n {/* PAN, Expiry Date, CVC */}\n \n\n \n createEcomPayment()}\n disabled={httpRequestIsLoading || httpRequestIsError.openAlert}\n >\n {httpRequestIsLoading\n ? 'Loading...'\n : `Pay ${paymentData.currency} ${paymentData.amount || '0'}`}\n \n \n\n {/* Error Alert */}\n \n {\n setHttpRequestIsError((prev) => ({\n ...prev,\n openAlert: false,\n }));\n }}\n >\n \n \n }\n >\n {httpRequestIsError.message}\n \n \n\n \n We Accept:\n\n \n\n \n \n \n \n \n
\n );\n};\n\nexport default EcomPaymentForm;\n","import { Anchor, Box, Center, Group, Image, Space, Text } from '@mantine/core';\n\nconst QRPaymentForm = () => {\n return (\n \n \n\n \n
\n \n
\n\n \n\n \n We Accept:\n \n \n \n \n Click here to view all QRPH participating banks and wallets\n \n \n \n
\n
\n );\n};\n\nexport default QRPaymentForm;\n","import { Box, Divider, Group, Space } from '@mantine/core';\nimport { useEffect, useState } from 'react';\nimport PaymentModeButton from '../../components/payment-mode-button/payment-mode-button';\nimport { PaymentMode } from '../../shared/enums/PaymentMode.enum';\nimport {\n Currency,\n PaymentData,\n} from '../../shared/interfaces/interfaces.interface';\nimport { GenerateBrowserInfo } from '../../shared/utils/browser-info.util';\nimport EcomPaymentForm from './PaymentForm/Ecom';\nimport QRPaymentForm from './PaymentForm/QR';\n\nexport const initialPaymentData = {\n amount: 0,\n card: {\n cardNumber: '',\n expiryMonth: '',\n expiryYear: '',\n cvc: '',\n },\n currency: Currency.PHP,\n email: '',\n name: '',\n};\n\nconst Payment = () => {\n const [paymentMode, setPaymentMode] = useState(PaymentMode.CARD);\n const [paymentData, setPaymentData] =\n useState(initialPaymentData);\n\n const [browserInfo, setBrowserInfo] = useState('');\n\n const [windowSize, setWindowSize] = useState<{ width: number; height: number }>({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n\n const inputHandler = (e: any) => {\n const { value, name } = e.target;\n\n setPaymentData((prev: any) => {\n return {\n ...prev,\n [name]: value,\n };\n });\n };\n\n const resetPaymentData = () => {\n setPaymentData(initialPaymentData);\n };\n\n const generateBrowserInfo = () => {\n setBrowserInfo(GenerateBrowserInfo(windowSize));\n };\n\n const checkWindowSize = () => {\n setWindowSize({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n }\n\n useEffect(() => {\n window.addEventListener('resize', checkWindowSize);\n resetPaymentData();\n generateBrowserInfo();\n return () => {\n window.removeEventListener('resize', checkWindowSize);\n };\n }, []);\n\n return (\n <>\n \n \n \n \n \n \n \n \n\n \n \n \n\n {paymentMode === PaymentMode.CARD ? (\n \n ) : (\n \n )}\n \n );\n};\n\nexport default Payment;\n","import {\n Anchor,\n Container,\n Group,\n Paper,\n Table,\n Text,\n Title,\n} from '@mantine/core';\n\nfunction QRPHBanksWallet() {\n const banks = [\n 'Asia United Bank Corporation (AUB)',\n 'Bank of Commerce (BOC)',\n 'Bank of the Philippine Islands (BPI)',\n 'Bank of China (Hong Kong) Limited - Manila Branch',\n 'Banco de Oro Unibank, Inc. (BDO)',\n 'China Banking Corporation (CBC)',\n 'China Trust Banking Corporation (CTBC)',\n 'CIMB Bank Philippines, Inc. (CIMB)',\n 'Development Bank of the Philippines (DBP)',\n 'East West Banking Corporation (EWBC)',\n 'Land Bank of the Philippines (LBP)',\n 'Maybank Philippines (MP)',\n 'Metropolitan Bank and Trust Company (Metrobank)',\n 'Philippine Bank of Communications (PBC)',\n 'Philippine National Bank (PNB)',\n 'Philippine Trust Company (PTC)',\n 'Rizal Commercial Banking Corporation (RCBC)',\n 'Robinsons Bank Corporation (RBC)',\n 'Security Bank Corporation (SBC)',\n 'Standard Chartered Bank (SCB)',\n 'Union Bank of the Philippines (UBP)',\n 'AllBank (A Thrift Bank), Inc.',\n 'BPI Direct BanKO, Inc., A Savings Bank',\n 'Card SME Bank, Inc., A Thrift Bank',\n 'China Bank Savings, Inc.',\n 'Equicom Savings Bank, Inc.',\n 'Legazpi Savings Bank, Inc.',\n 'Malayan Savings Bank, Inc.',\n 'Queen City Development Bank, Inc. or Queenbank, A Thrift Bank',\n 'Pacific Ace Savings Bank, Inc.',\n 'Philippine Savings Bank',\n 'Producers Savings Bank Corporation',\n 'Sterling Bank of Asia, Inc. (A Savings Bank)',\n 'Sun Savings Bank, Inc.',\n 'Wealth Development Bank Corporation',\n 'Binangonan Rural Bank, Inc.',\n 'Camalig Rural Bank, Inc. (A Rural Bank)',\n 'Card Bank, Inc. (A Microfinance-Oriented Rural Bank)',\n 'Cebuana Lhuillier Rural Bank, Inc.',\n 'Dungganon Bank (A Microfinance Rural Bank), Inc.',\n 'East West Rural Bank, Inc.',\n 'Partner Rural Bank (Cotabato), Inc.',\n 'Rural Bank of Guinobatan, Inc.',\n 'Mindanao Consolidated Cooperative Bank',\n 'Netbank (A Rural Bank), Inc.',\n 'SeaBank Philippines, Inc. (A Rural Bank)',\n 'GoTyme Bank Corporation',\n 'Maya Bank, Inc.',\n 'Tonik Digital Bank, Inc.',\n 'Union Digital Bank, Inc.',\n 'CIS Bayad Center, Inc.',\n 'DCPay Philippines, Inc. (Coins PH)',\n 'GPay Network PH, Inc.',\n 'G-XChange, Inc. (GCash)',\n 'Infoserve, Inc.',\n 'Maya Philippines, Inc. (Maya, previously Paymaya)',\n 'PPS-PEPP Financial Services Corporation',\n 'ShopeePay Philippines, Inc. (Shopee Pay)',\n 'StarPay Corporation',\n 'TayoCash, Inc.',\n 'Traxion Pay, Inc.',\n 'USSC Money Services, Inc. (Western Union)',\n 'Zybi Tech, Inc.',\n ];\n const rows = banks.map((bank, index) => {\n return (\n \n {index + 1}\n {bank}\n \n );\n });\n return (\n \n \n \n Click here to go back to Payment\n \n \n Full list of QRPH participating banks and wallets\n \n Last updated: Feb 6, 2024\n \n \n \n \n \n \n \n \n \n {rows}\n
#Bank/Wallet name
\n
\n
\n );\n}\n\nexport default QRPHBanksWallet;\n","import styled from 'styled-components';\n\nexport const PaymentContainer = styled.div`\n background: #f9f8f8;\n border: 1px solid #dddcdc;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07), 0 2px 4px rgba(0, 0, 0, 0.07),\n 0 4px 8px rgba(0, 0, 0, 0.07), 0 8px 16px rgba(0, 0, 0, 0.07),\n 0 16px 32px rgba(0, 0, 0, 0.07), 0 32px 64px rgba(0, 0, 0, 0.07);\n border-radius: 15px;\n`;\n\nexport const Header = styled.div`\n padding-top: 70px;\n padding-bottom: 15px;\n border-bottom: 1px solid #dddcdc;\n text-align: center;\n\n h2 {\n margin: 0;\n }\n`;\n\nexport const DescriptionContainer = styled.div`\n width: 80%;\n margin: auto auto;\n\n p {\n text-align: center;\n font-size: 0.857143em;\n margin-top: 5px;\n }\n\n a {\n text-decoration: none;\n color: #00afe7;\n\n :hover {\n text-decoration: underline;\n }\n }\n`;\n\nexport const Content = styled.div`\n background: #ffffff;\n padding: 35px;\n`;\n","import { Anchor, Container, Group, Image, Paper, Text } from '@mantine/core';\nimport {\n Content,\n DescriptionContainer,\n Header,\n PaymentContainer,\n} from './components';\n\nconst Layout = (props: any) => {\n return (\n <>\n \n \n \n \n \n
\n

Philippine FoodBank Foundation, Inc.

\n\n \n

\n Thank you for being our valuable donor. We truly appreciate your\n contribution and support.\n

\n
\n
\n {props.children}\n
\n\n \n
\n \n
\n \n Powered by{' '}\n \n Xpay\n \n \n
\n \n \n );\n};\n\nexport default Layout;\n","import { Route, BrowserRouter as Router, Routes } from 'react-router-dom';\nimport Payment from '../Pages/Payment/index';\nimport QRPHBanksWallet from '../Pages/qrph-banks-wallets';\nimport Layout from '../components/Layout/index';\nimport './App.css';\n\nfunction App() {\n return (\n
\n \n \n \n \n \n }\n >\n }\n >\n \n \n
\n );\n}\n\nexport default App;\n","import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App/App';\nimport reportWebVitals from './reportWebVitals';\n\nReactDOM.render(\n\t\n\t\t\n\t,\n\tdocument.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"space\":\"classes_space__3n6dD\",\"iconRelative\":\"classes_iconRelative__3NV9d\",\"fas\":\"classes_fas__2wHyC\",\"far\":\"classes_far__1bFU2\",\"cardnumber\":\"classes_cardnumber__15NE_\",\"expirationdate\":\"classes_expirationdate__2ErvH\",\"securitycode\":\"classes_securitycode__30U76\",\"currency\":\"classes_currency__1AOgU\",\"input\":\"classes_input__Rmxdj\",\"creditCardInput\":\"classes_creditCardInput__162pV\"};"],"sourceRoot":""}