{"version":3,"sources":["components/Layout/Layout.tsx","dataprovider/Common.ts","dataprovider/HttpService.ts","dataprovider/DataProvider.ts","interfaces/Enums.ts","components/CustomerInfo/CustomerInfo.tsx","components/SuccessMessageComponent.tsx","components/InvalidPaymentLinkComponent.tsx","App.tsx","registerServiceWorker.js","index.tsx","images/str-group-white.svg"],"names":["Layout","props","year","Date","getFullYear","className","onClick","window","location","href","origin","src","logo","alt","children","Stack","horizontal","horizontalAlign","verticalAlign","Common","this","_applicationLabels","applicationLabels","scriptURL","callbackFunction","script","document","createElement","async","body","appendChild","onload","Promise","resolve","reject","type","onerror","err","logErrorInConsole","extractErrorMessageFromErrorObject","errorArea","errorObj","logError","message","console","log","stack","msg","email","test","String","toLowerCase","error","errorMessage","indexOf","JSON","parse","substring","trim","value","payload","country","currencyCode","customerEmail","customerName","sorg","customerSAPId","PageHeading_CustomerInfo","Label_Name","Label_Email","Label_ContactNumber","Label_MobileNumber","Label_Address","Label_Consent","Label_Spinner_InProgress","Label_Button_Submit","Error_Message_InvalidEmail","Error_Message_ConsentNotGiven","Error_Message_Required","Error_Message_UnableToValidatePaymentLink","Error_Message_UnableToLoadPaymentGateway","Error_Message_TokenExpired","Error_Message_InvalidToken","Error_Message_MissingCardDetails","Error_Message_RequestSubmissionFailed","Error_Message_InvalidPaymentLink","Success_Message_RequestSubmissionSuccessfull","msalConfig","auth","clientId","authority","loginRequest","scopes","graphConfig","graphMeEndpoint","HttpService","SPSiteUrl","QueryString","url","fetch","method","cache","headers","getHeaders","stringify","response","handleResponse","ok","json","errorString","text","Error","PaymentSteps","Country","DataProvider","apiEndpointPayment","apiEndpointAppSettings","language","get","applicationSettings","paymentSettings","paymentAccessTokenResponse","token","tokenID","decodedToken","encodeURIComponent","validateTokenResult","customerInfo","paymentDetailsRequest","Locale","navigator","Token","CustomerCardInfo","CardExpiryDate","customerCardInfo","cardExpiryDate","CardToken","cardToken","CardholderName","cardholderName","CardType","cardType","CustomerInfo","CustomerName","CustomerEmail","CustomerContactNumber","customerContactNumber","CustomerMobileNumber","customerMobileNumber","CustomerAddress","customerAddress","post","result","useShortToken","dataProvider","setErrorMessage","setSuccessMessage","ApplicationLabels","search","useLocation","searchParams","URLSearchParams","has","history","useHistory","useState","showSubmitButton","setShowSubmitButton","setCountry","setSORG","setCurrencyCode","isFormValid","setIsFormValid","showPaymentSectionLoadingText","setShowPaymentSectionLoadingText","setCustomerInfo","getInitialValidationState","validationInfo","setValidationInfo","showWaitingSpinner","setShowWaitingSpinner","setRapidPay","setTokenResponse","setTokenizeResponse","setSignedTokenizeResponse","setPaymentCardDetails","refCustomerInfo","useRef","refValidationInfo","refCountry","initializeData","useCallback","promises","push","loadScriptPromise","paymentURL","validatePaymentLinkToken","validatePaymentLinkTokenOld","all","then","scriptLoaded","isValid","formatInfoPayload","customerInfoNew","validationInfoNew","current","initialiseDelegoPaymentWindow","catch","generalMessage","useEffect","fieldName","currency","a","getPaymentAccessToken","tokenResponse","rapidPay","openRapidPay","DelegoRapidPay","Show","Checkout","onTokenizeSuccess","tokenizeResponse","signedTokenizeResponse","cardInfo","payment","cardExpiration","month","validationResult","validateForm","submitRequest","authorizationToken","show","open","locale","paymentRequest","total","element","iframeclass","appclass","events","onApplicationInitialized","onFailure","onChangeTextField","event","newValue","emails","split","hasInvalidEmail","validEmail","onSubmit","submitPaymentDetails","submitPaymentDetailsOld","USA","BRAZIL","verticalFill","tokens","childrenGap","wrap","StackItem","shrink","grow","Label","required","htmlFor","TextField","id","onChange","undefined","Text","Checkbox","label","styles","fontWeight","checked","consentProvided","ev","multiline","rows","css","Spinner","size","SpinnerSize","large","ariaLive","ActionButton","Dialog","hidden","dialogContentProps","DialogType","normal","showCloseButton","modalProps","isBlocking","currentValidationInfo","key","mappedKey","SuccessMessageComponent","state","InvalidPaymentLinkComponent","App","pathname","siteUrl","useMemo","matchInfo","matchPath","decodeURIComponent","escape","atob","loadingApplicationSetting","setLoadingApplicationSetting","successMessage","setApplicationSettings","getApplicationSettings","setApplicationLabels","onDismiss","MessageBar","messageBarType","MessageBarType","success","info","isMultiline","truncated","dismissButtonAriaLabel","path","exact","Boolean","hostname","match","initializeIcons","baseUrl","getElementsByTagName","getAttribute","rootElement","getElementById","ReactDOM","render","basename","serviceWorker","ready","registration","unregister","module","exports"],"mappings":"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","file":"static/js/main.ee87b54c.chunk.js","sourcesContent":["import * as React from 'react';\r\nimport './Layout.css';\r\nimport logo from '../../images/str-group-white.svg';\r\nimport { Stack } from '@fluentui/react/lib/components/Stack/Stack';\r\n\r\nexport const Layout: React.FunctionComponent = (props: any) => {\r\n const year = new Date().getFullYear();\r\n\r\n return (\r\n <>\r\n
\r\n { window.location.href = window.location.origin; }}>Payment App™\r\n \"Straumann\r\n
\r\n
\r\n
{props.children}
\r\n
\r\n \r\n \r\n\r\n );\r\n\r\n}","import { Configuration, PopupRequest } from \"@azure/msal-browser\";\r\nimport { IApplicationLabels, IPaymentLinkRequest } from \"../interfaces\";\r\n\r\nexport class Common {\r\n public static _applicationLabels: IApplicationLabels = {\r\n PageHeading_CustomerInfo: \"Customer Details\",\r\n Label_Name: \"Name\",\r\n Label_Email: \"Email\",\r\n Label_ContactNumber: \"Contact Number\",\r\n Label_MobileNumber: \"Mobile Number\",\r\n Label_Address: \"Address\",\r\n Label_Consent: \"I allow Straumann to store my Credit Card information for future purchases\",\r\n Label_Spinner_InProgress: \"Working on it...\",\r\n Label_Button_Submit: \"Submit\",\r\n Error_Message_InvalidEmail: \"Invalid Email Address\",\r\n Error_Message_ConsentNotGiven: \"Please provide your consent to proceed\",\r\n Error_Message_Required: \"Required\",\r\n Error_Message_UnableToValidatePaymentLink: \"Unable to validate payment link.\",\r\n Error_Message_UnableToLoadPaymentGateway: \"Unable to load payment gateway.\",\r\n Error_Message_TokenExpired: \"Payment link expired. Please ask Straumann representative to generate new one for you.\",\r\n Error_Message_InvalidToken: \"Payment link not originated from Straumann. (Malformed link)\",\r\n Error_Message_MissingCardDetails: \"Please enter card details and click on Submit button.\",\r\n Error_Message_RequestSubmissionFailed: \"Failed to submit request.\",\r\n Error_Message_InvalidPaymentLink: \"Invalid payment link.\",\r\n Success_Message_RequestSubmissionSuccessfull: \"Payment details submitted successfully.\"\r\n };\r\n\r\n static get ApplicationLabels() {\r\n return this._applicationLabels;\r\n }\r\n\r\n public static setApplicationLabels(applicationLabels: IApplicationLabels) {\r\n this._applicationLabels = {\r\n ...this._applicationLabels, ...applicationLabels\r\n };\r\n }\r\n\r\n public static msalConfig: Configuration = {\r\n auth: {\r\n clientId: \"31a7837e-9bfe-4c4d-ae2e-4482e661e36e\",\r\n authority: \"https://login.microsoftonline.com/4274e8da-b2ee-444a-a6c8-249ffcfc1e74\",\r\n }\r\n };\r\n\r\n // Add here scopes for id token to be used at MS Identity Platform endpoints.\r\n public static loginRequest: PopupRequest = {\r\n scopes: [\"User.Read\"]\r\n };\r\n\r\n // Add here the endpoints for MS Graph API services you would like to use.\r\n public static graphConfig = {\r\n graphMeEndpoint: \"https://graph.microsoft.com/v1.0/me\"\r\n };\r\n\r\n public static loadScript(scriptURL: string, callbackFunction?: Function) {\r\n const script = document.createElement(\"script\");\r\n\r\n script.src = scriptURL;\r\n script.async = true;\r\n\r\n document.body.appendChild(script);\r\n if (callbackFunction) {\r\n script.onload = () => {\r\n return callbackFunction();\r\n }\r\n }\r\n\r\n }\r\n\r\n public static loadScriptPromise(scriptURL: string) {\r\n return new Promise((resolve, reject) => {\r\n const script = document.createElement(\"script\");\r\n\r\n script.type = 'text/javascript';\r\n script.src = scriptURL;\r\n script.async = true;\r\n\r\n document.body.appendChild(script);\r\n script.onerror = (err) => {\r\n Common.logErrorInConsole(\"Error occured while loading script from URL: \", scriptURL);\r\n Common.logErrorInConsole(\"\", Common.extractErrorMessageFromErrorObject(err));\r\n resolve(false);\r\n };\r\n\r\n script.onload = () => {\r\n resolve(true);\r\n }\r\n });\r\n }\r\n\r\n public static logErrorInConsole(errorArea: string, errorObj: any) {\r\n this.logError(errorObj.message);\r\n console.log(`Error message ${errorArea}: `, errorObj.message);\r\n console.log(`Error Stack Trace ${errorArea}: `, errorObj.stack);\r\n }\r\n\r\n public static logError(msg: any) {\r\n if (console) {\r\n console.log(`%cERROR:`, \"color:red;font-weight:bold;font-size:16px\");\r\n console.log(msg);\r\n }\r\n }\r\n\r\n public static validEmail(email: string) {\r\n var re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return re.test(String(email).toLowerCase());\r\n }\r\n\r\n public static extractErrorMessageFromErrorObject(error: any): string {\r\n\r\n let errorMessage = error.message ? error.message as string : error as string;\r\n\r\n if (errorMessage.indexOf(\"::>\") >= 0) {\r\n try {\r\n let errorObj = JSON.parse(errorMessage.substring(errorMessage.indexOf(\"::>\") + 3).trim());\r\n\r\n if (errorObj[\"odata.error\"] && errorObj[\"odata.error\"].message && errorObj[\"odata.error\"].message.value)\r\n errorMessage = errorObj[\"odata.error\"].message.value;\r\n\r\n } catch (error) {\r\n errorMessage = errorMessage.substring(errorMessage.indexOf(\"::>\") + 3).trim();\r\n }\r\n }\r\n\r\n return errorMessage;\r\n }\r\n\r\n public static formatInfoPayload(payload:any): IPaymentLinkRequest {\r\n return {\r\n country: payload[\"country\"] ?? payload[\"Country\"],\r\n currencyCode: payload[\"currencyCode\"] ?? payload[\"CurrencyCode\"],\r\n customerEmail: payload[\"customerEmail\"] ?? payload[\"CustomerEmail\"],\r\n customerName: payload[\"customerName\"] ?? payload[\"CustomerName\"],\r\n sorg: payload[\"sorg\"] ?? payload[\"SORG\"],\r\n customerSAPId: payload[\"customerSAPId\"] ?? payload[\"CustomerSAPId\"],\r\n }\r\n }\r\n\r\n}","export class HttpService {\r\n public static SPSiteUrl: string;\r\n public static QueryString: string;\r\n\r\n private static getHeaders(): HeadersInit {\r\n if (HttpService.SPSiteUrl) {\r\n return {\r\n 'Accept': 'application/json',\r\n 'Site-URL': HttpService.SPSiteUrl,\r\n 'QueryParameter': HttpService.QueryString,\r\n 'Content-Type': 'application/json',\r\n };\r\n }\r\n else {\r\n return {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n };\r\n }\r\n }\r\n\r\n public static async get(url: string, body?: any): Promise {\r\n let response: Response;\r\n\r\n if (body)\r\n response = await fetch(url, {\r\n method: 'GET',\r\n cache: 'no-cache',\r\n headers: HttpService.getHeaders(),\r\n body: JSON.stringify(body)\r\n });\r\n else\r\n response = await fetch(url, {\r\n method: 'GET',\r\n cache: 'no-cache',\r\n headers: HttpService.getHeaders(),\r\n });\r\n\r\n return HttpService.handleResponse(response);\r\n\r\n }\r\n\r\n public static async post(url: string, body: any): Promise {\r\n const response = await fetch(url, {\r\n method: 'POST',\r\n headers: HttpService.getHeaders(),\r\n body: JSON.stringify(body)\r\n });\r\n\r\n return HttpService.handleResponse(response);\r\n }\r\n\r\n public static async handleResponse(response: Response) {\r\n\r\n if (response.ok)\r\n return response.json();\r\n else {\r\n let errorString: string = \"\";\r\n try {\r\n errorString = await response.text();\r\n const error = JSON.parse(errorString);\r\n throw Error(error);\r\n } catch (error) {\r\n throw Error(errorString);\r\n }\r\n\r\n }\r\n }\r\n\r\n}","import { IDataProvider } from \"./IDataProvider\";\r\nimport { HttpService } from \"./HttpService\";\r\nimport { IApplicationLabels, IApplicationSettings, ICustomerInfo, IPaymentSettings, IPaymentTokenResponse, IValidateTokenResult, PaymentDetailsRequest } from \"../interfaces\";\r\n\r\nexport class DataProvider implements IDataProvider {\r\n\r\n public apiEndpointPayment = `/api/Payment`;\r\n public apiEndpointAppSettings = `/api/Application`;\r\n\r\n public async getApplicationSettings(language: string | null): Promise {\r\n const applicationSettings: IApplicationSettings = await HttpService.get(`${this.apiEndpointAppSettings}/GetApplicationSettings/${language}`);\r\n return applicationSettings;\r\n }\r\n\r\n public async getApplicationLables(language: string | null): Promise {\r\n const applicationLabels: IApplicationLabels = await HttpService.get(`${this.apiEndpointAppSettings}/GetApplicationLabels/${language}`);\r\n return applicationLabels;\r\n }\r\n\r\n public async getPaymentSettings(): Promise {\r\n const paymentSettings: IPaymentSettings = await HttpService.get(`${this.apiEndpointPayment}/GetPaymentSettings`);\r\n return paymentSettings;\r\n }\r\n\r\n public async getPaymentAccessToken(): Promise {\r\n const paymentAccessTokenResponse: IPaymentTokenResponse = await HttpService.get(`${this.apiEndpointPayment}/GetAccessToken`);\r\n return paymentAccessTokenResponse;\r\n }\r\n\r\n public async validatePaymentToken(token: string, tokenID: string): Promise {\r\n const decodedToken: any = await HttpService.get(`${this.apiEndpointPayment}/ValidateToken/${token}/${tokenID}`);\r\n return decodedToken;\r\n }\r\n\r\n public async validatePaymentLinkTokenOld(token: string): Promise {\r\n const validateTokenResult: IValidateTokenResult = await HttpService.get(`${this.apiEndpointAppSettings}/ValidatePaymentLinkTokenOld?token=${encodeURIComponent(token)}`);\r\n return validateTokenResult;\r\n }\r\n\r\n public async validatePaymentLinkToken(token: string): Promise {\r\n const validateTokenResult: IValidateTokenResult = await HttpService.get(`${this.apiEndpointAppSettings}/ValidatePaymentLinkToken?token=${encodeURIComponent(token)}`);\r\n return validateTokenResult;\r\n }\r\n\r\n public async submitPaymentDetailsOld(customerInfo: ICustomerInfo, token: string): Promise {\r\n const paymentDetailsRequest: PaymentDetailsRequest = {\r\n Locale: navigator.language,\r\n Token: token,\r\n CustomerCardInfo: {\r\n CardExpiryDate: customerInfo.customerCardInfo!.cardExpiryDate,\r\n CardToken: customerInfo.customerCardInfo!.cardToken,\r\n CardholderName: customerInfo.customerCardInfo!.cardholderName,\r\n CardType: customerInfo.customerCardInfo!.cardType,\r\n },\r\n CustomerInfo: {\r\n CustomerName: customerInfo.customerName,\r\n CustomerEmail: customerInfo.customerEmail,\r\n CustomerContactNumber: customerInfo.customerContactNumber,\r\n CustomerMobileNumber: customerInfo.customerMobileNumber,\r\n CustomerAddress: customerInfo.customerAddress\r\n }\r\n }\r\n \r\n const result: boolean = await HttpService.post(`${this.apiEndpointAppSettings}/SubmitCustomerDetailsOld`, paymentDetailsRequest);\r\n\r\n return result;\r\n }\r\n\r\n public async submitPaymentDetails(customerInfo: ICustomerInfo, token: string): Promise {\r\n const paymentDetailsRequest: PaymentDetailsRequest = {\r\n Locale: navigator.language,\r\n Token: token,\r\n CustomerCardInfo: {\r\n CardExpiryDate: customerInfo.customerCardInfo!.cardExpiryDate,\r\n CardToken: customerInfo.customerCardInfo!.cardToken,\r\n CardholderName: customerInfo.customerCardInfo!.cardholderName,\r\n CardType: customerInfo.customerCardInfo!.cardType,\r\n },\r\n CustomerInfo: {\r\n CustomerName: customerInfo.customerName,\r\n CustomerEmail: customerInfo.customerEmail,\r\n CustomerContactNumber: customerInfo.customerContactNumber,\r\n CustomerMobileNumber: customerInfo.customerMobileNumber,\r\n CustomerAddress: customerInfo.customerAddress\r\n }\r\n }\r\n\r\n const result: boolean = await HttpService.post(`${this.apiEndpointAppSettings}/SubmitCustomerDetails`, paymentDetailsRequest);\r\n\r\n return result;\r\n }\r\n}","export enum PaymentSteps {\r\n Tokenize,\r\n Authenticate,\r\n Authorize,\r\n CreateSalesOrder,\r\n}\r\n\r\nexport enum Country {\r\n USA = \"USA\",\r\n JAPAN = \"Japan\",\r\n BRAZIL = \"Brazil\"\r\n}","import React, { useCallback, useEffect, useRef, useState } from 'react';\r\nimport { useHistory, useLocation } from 'react-router-dom'\r\nimport { ActionButton, Dialog, DialogType, Label, TextField, Text, Checkbox } from '@fluentui/react';\r\nimport { Spinner, SpinnerSize } from '@fluentui/react/lib/components/Spinner';\r\nimport { Stack, StackItem } from '@fluentui/react/lib/components/Stack';\r\nimport { css } from '@fluentui/react/lib/Utilities';\r\n\r\nimport { Common, DataProvider, HttpService, IDataProvider } from '../../dataprovider';\r\nimport { CardInfo, Country, IApplicationSettings, ICustomerInfo, IPaymentSettings, IPaymentTokenResponse, IValidateTokenResult, ValidationInfo } from '../../interfaces';\r\n\r\nimport './CustomerInfo.css';\r\n\r\nexport type PaymentProviderProps = {\r\n useShortToken?: boolean;\r\n paymentSettings: IPaymentSettings | undefined;\r\n dataProvider: IDataProvider;\r\n setErrorMessage: (message: string) => void;\r\n setSuccessMessage: (message: string) => void;\r\n}\r\n\r\nexport const CustomerInfo: React.FunctionComponent = (props: PaymentProviderProps) => {\r\n const { useShortToken, paymentSettings, dataProvider, setErrorMessage, setSuccessMessage } = props;\r\n const ApplicationLabels = Common.ApplicationLabels;\r\n\r\n const { search } = useLocation();\r\n let searchParams = new URLSearchParams(search);\r\n let token = searchParams.has('token') ? searchParams.get('token') : null;\r\n\r\n const history = useHistory();\r\n const [showSubmitButton, setShowSubmitButton] = useState(false);\r\n const [country, setCountry] = useState(null);\r\n const [sorg, setSORG] = useState(null);\r\n const [currencyCode, setCurrencyCode] = useState(null);\r\n const [isFormValid, setIsFormValid] = useState(false);\r\n const [showPaymentSectionLoadingText, setShowPaymentSectionLoadingText] = useState(true);\r\n const [customerInfo, setCustomerInfo] = useState(null);\r\n const [validationInfo, setValidationInfo] = useState(() => getInitialValidationState());\r\n const [showWaitingSpinner, setShowWaitingSpinner] = useState(false);\r\n const [rapidPay, setRapidPay] = useState(null);\r\n const [tokenResponse, setTokenResponse] = useState(null);\r\n const [tokenizeResponse, setTokenizeResponse] = useState(null);\r\n const [signedTokenizeResponse, setSignedTokenizeResponse] = useState(null);\r\n const [paymentCardDetails, setPaymentCardDetails] = useState(null);\r\n const refCustomerInfo = useRef(customerInfo);\r\n const refValidationInfo = useRef(validationInfo);\r\n const refCountry = useRef(country);\r\n\r\n const initializeData = useCallback(() => {\r\n let promises: Promise[] = [];\r\n\r\n if (!token) {\r\n history.push(`/invalidLink`);\r\n }\r\n else {\r\n\r\n promises.push(Common.loadScriptPromise(`${paymentSettings?.paymentURL}/sdk/sdk.bundle.js`));\r\n if (useShortToken) {\r\n promises.push(dataProvider.validatePaymentLinkToken(token));\r\n }\r\n else {\r\n promises.push(dataProvider.validatePaymentLinkTokenOld(token));\r\n }\r\n\r\n Promise.all(promises).then((result: any[]) => {\r\n\r\n const scriptLoaded: boolean = result[0];\r\n const validateTokenResult: IValidateTokenResult = result[1];\r\n\r\n if (validateTokenResult?.isValid && scriptLoaded) {\r\n\r\n let payload = Common.formatInfoPayload(validateTokenResult.payload);\r\n console.log(\"payload\", payload);\r\n\r\n let customerInfoNew = customerInfo ? { ...customerInfo } : {};\r\n let validationInfoNew = validationInfo ? { ...validationInfo } : {};\r\n\r\n if (payload.customerName) {\r\n customerInfoNew.customerName = payload.customerName;\r\n validationInfoNew.customerName!.isValid = true;\r\n }\r\n\r\n if (payload.customerEmail) {\r\n customerInfoNew.customerEmail = payload.customerEmail;\r\n validationInfoNew.customerEmail!.isValid = true;\r\n }\r\n\r\n setCurrencyCode(payload.currencyCode);\r\n setCountry(payload.country);\r\n setSORG(payload.sorg);\r\n\r\n refCountry.current = payload.country;\r\n refCustomerInfo.current = customerInfoNew;\r\n refValidationInfo.current = validationInfoNew;\r\n\r\n setCustomerInfo(customerInfoNew);\r\n setValidationInfo(validationInfoNew);\r\n initialiseDelegoPaymentWindow(payload.country, payload.sorg, payload.currencyCode);\r\n setIsFormValid(true);\r\n }\r\n else {\r\n if (!scriptLoaded)\r\n setErrorMessage(ApplicationLabels.Error_Message_UnableToLoadPaymentGateway);\r\n else if (validateTokenResult?.errorMessage)\r\n setErrorMessage(ApplicationLabels[validateTokenResult.errorMessage] ?? validateTokenResult.errorMessage);\r\n }\r\n }).catch(error => {\r\n const errorMessage = Common.extractErrorMessageFromErrorObject(error);\r\n const generalMessage = `${ApplicationLabels.Error_Message_UnableToValidatePaymentLink}.\\n Error Message: ${errorMessage}`;\r\n\r\n setShowWaitingSpinner(false);\r\n setErrorMessage(generalMessage);\r\n });\r\n\r\n\r\n }\r\n }, [useShortToken, paymentSettings, dataProvider, setErrorMessage, setSuccessMessage])\r\n\r\n useEffect(() => {\r\n initializeData();\r\n }, []);\r\n\r\n const initialiseDelegoPaymentWindow = async (country: string, sorg: string, currency: string) => {\r\n\r\n setShowPaymentSectionLoadingText(true);\r\n\r\n if (paymentSettings) {\r\n const tokenResponse: IPaymentTokenResponse = await dataProvider.getPaymentAccessToken?.();\r\n setTokenResponse(tokenResponse);\r\n const rapidPay = openRapidPay(paymentSettings, tokenResponse.token, country, sorg, currency, (window as any).DelegoRapidPay.Show.Checkout);\r\n setRapidPay(rapidPay);\r\n }\r\n }\r\n\r\n const onTokenizeSuccess = (tokenizeResponse: any, signedTokenizeResponse: any) => {\r\n const customerInfoNew: ICustomerInfo = refCustomerInfo.current ? { ...refCustomerInfo.current } : {};\r\n /*\r\n * Actions to take once RapidPay has tokenized a payment card\r\n */\r\n console.log(\"Tokenize Success...\");\r\n console.log(\"tokenizeResponse: \", tokenizeResponse);\r\n console.log(\"signedTokenizeResponse: \", signedTokenizeResponse);\r\n\r\n let cardInfo: CardInfo = {\r\n cardToken: tokenizeResponse.payment.token,\r\n cardType: tokenizeResponse.payment.cardType,\r\n cardExpiryDate: `${tokenizeResponse.payment.cardExpiration.month}/${tokenizeResponse.payment.cardExpiration.year}`,\r\n cardholderName: tokenizeResponse.payment.cardholderName\r\n };\r\n\r\n customerInfoNew.customerCardInfo = { ...cardInfo };\r\n\r\n setTokenizeResponse(tokenizeResponse);\r\n setSignedTokenizeResponse(signedTokenizeResponse);\r\n setPaymentCardDetails(cardInfo);\r\n setCustomerInfo(customerInfoNew);\r\n refCustomerInfo.current = customerInfoNew;\r\n\r\n const validationResult = validateForm(customerInfoNew, refValidationInfo.current, refCountry.current!);\r\n\r\n setValidationInfo(validationResult.validationInfo);\r\n\r\n if (validationResult.isValid) {\r\n submitRequest(customerInfoNew);\r\n } else {\r\n setShowSubmitButton(true);\r\n }\r\n }\r\n\r\n const openRapidPay = (paymentSettings: IPaymentSettings, authorizationToken: string | undefined, country: string, sorg: string, currency: string, show: number) => {\r\n\r\n setShowPaymentSectionLoadingText(false);\r\n\r\n return (window as any).DelegoRapidPay.open({\r\n url: paymentSettings?.paymentURL,\r\n token: authorizationToken,\r\n show: show,\r\n sorg: sorg,\r\n locale: navigator.language,\r\n paymentRequest: {\r\n /*\r\n * Payment request object\r\n */\r\n currencyCode: currency,\r\n total: 0\r\n },\r\n element: '#paymentInfoContainer',\r\n iframeclass: 'paymentGatewayIframe',\r\n appclass: 'straumann-dentogo-payment-app',\r\n events: {\r\n onApplicationInitialized: () => {\r\n /*\r\n * Actions to take once RapidPay is displayed\r\n */\r\n\r\n console.log(\"Application Initialized...\");\r\n\r\n setShowPaymentSectionLoadingText(false);\r\n },\r\n onTokenizeSuccess: onTokenizeSuccess,\r\n onFailure: (error: any) => {\r\n /*\r\n * Actions to take if RapidPay fails to tokenize a payment card (typically a system error)\r\n */\r\n console.log(\"Tokenize Failure...\", error);\r\n setShowPaymentSectionLoadingText(false);\r\n }\r\n },\r\n /*\r\n * Additional optional parameters, as desired.\r\n */\r\n });\r\n }\r\n\r\n const onChangeTextField = (fieldName: keyof ICustomerInfo) => (event: React.FormEvent, newValue?: string | undefined) => {\r\n const customerInfoNew: ICustomerInfo = customerInfo ? { ...customerInfo } : {};\r\n const validationInfoNew: ValidationInfo = validationInfo ? { ...validationInfo } : {};\r\n\r\n if (fieldName !== \"customerCardInfo\" && fieldName != \"consentProvided\") {\r\n customerInfoNew[fieldName] = newValue;\r\n\r\n if (!customerInfoNew[fieldName] || !(customerInfoNew[fieldName] as string).trim()) {\r\n validationInfoNew[fieldName] = {\r\n isValid: false,\r\n errorMessage: Common.ApplicationLabels.Error_Message_Required\r\n }\r\n }\r\n else {\r\n if (fieldName.toLowerCase().indexOf(\"email\") >= 0) {\r\n const emails = (customerInfoNew[fieldName] as string).split(\",\");\r\n let hasInvalidEmail = false;\r\n for (const email of emails) {\r\n if (!Common.validEmail(email.trim())) {\r\n hasInvalidEmail = true;\r\n validationInfoNew[fieldName] = {\r\n isValid: false,\r\n errorMessage: Common.ApplicationLabels.Error_Message_InvalidEmail\r\n }\r\n }\r\n }\r\n\r\n if (!hasInvalidEmail) {\r\n validationInfoNew[fieldName] = {\r\n isValid: true,\r\n errorMessage: null\r\n }\r\n }\r\n \r\n }\r\n else {\r\n validationInfoNew[fieldName] = {\r\n isValid: true,\r\n errorMessage: null\r\n }\r\n }\r\n }\r\n\r\n setCustomerInfo(customerInfoNew);\r\n refCustomerInfo.current = customerInfoNew;\r\n setValidationInfo(validationInfoNew);\r\n }\r\n\r\n };\r\n\r\n const onChangeCheckbox = (fieldName: keyof ICustomerInfo) => (ev?: React.FormEvent, checked?: boolean) => {\r\n const customerInfoNew: ICustomerInfo = customerInfo ? { ...customerInfo } : {};\r\n const validationInfoNew: ValidationInfo = validationInfo ? { ...validationInfo } : {};\r\n\r\n switch (fieldName) {\r\n case \"consentProvided\":\r\n customerInfoNew[fieldName] = checked;\r\n\r\n if (checked) {\r\n validationInfoNew[fieldName] = {\r\n isValid: true,\r\n errorMessage: null\r\n }\r\n }\r\n else {\r\n validationInfoNew[fieldName] = {\r\n isValid: false,\r\n errorMessage: Common.ApplicationLabels.Error_Message_ConsentNotGiven\r\n }\r\n }\r\n\r\n setCustomerInfo(customerInfoNew);\r\n refCustomerInfo.current = customerInfoNew;\r\n setValidationInfo(validationInfoNew);\r\n }\r\n\r\n };\r\n\r\n\r\n const onSubmit = async () => {\r\n const validationResult = validateForm(customerInfo, validationInfo, country!);\r\n\r\n setValidationInfo(validationResult.validationInfo);\r\n\r\n if (validationResult.isValid) {\r\n submitRequest(customerInfo!);\r\n } else {\r\n setShowSubmitButton(true);\r\n }\r\n }\r\n\r\n const submitRequest = async (customerInfo: ICustomerInfo) => {\r\n try {\r\n setShowWaitingSpinner(true);\r\n if (useShortToken)\r\n await dataProvider.submitPaymentDetails(customerInfo, token!);\r\n else\r\n await dataProvider.submitPaymentDetailsOld(customerInfo, token!);\r\n\r\n setShowWaitingSpinner(false);\r\n history.push(`/success`, { isValid: true });\r\n } catch (error) {\r\n const errorMessage = Common.extractErrorMessageFromErrorObject(error);\r\n const generalMessage = `${ApplicationLabels.Error_Message_RequestSubmissionFailed}.\\n Error Message: ${errorMessage}`;\r\n\r\n setErrorMessage(generalMessage);\r\n }\r\n }\r\n\r\n if (!country)\r\n return (\r\n \r\n \r\n \r\n );\r\n else\r\n return (\r\n <>\r\n
\r\n \r\n {\r\n country !== Country.USA && country !== Country.BRAZIL &&\r\n \r\n \r\n

{ApplicationLabels.PageHeading_CustomerInfo}

\r\n
\r\n
\r\n }\r\n \r\n \r\n \r\n \r\n \r\n {\r\n country !== Country.USA && country !== Country.BRAZIL ?\r\n \r\n :\r\n {customerInfo?.customerName}\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n country !== Country.USA && country !== Country.BRAZIL ?\r\n \r\n :\r\n {customerInfo?.customerEmail}\r\n }\r\n \r\n \r\n {\r\n country === Country.BRAZIL &&\r\n \r\n \r\n \r\n \r\n {\r\n !validationInfo?.consentProvided?.isValid &&\r\n \r\n {validationInfo?.consentProvided?.errorMessage}\r\n \r\n }\r\n\r\n \r\n }\r\n {\r\n country !== Country.USA && country !== Country.BRAZIL &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n
\r\n {\r\n isFormValid &&\r\n
\r\n
\r\n {\r\n showPaymentSectionLoadingText &&\r\n \r\n }\r\n
\r\n {\r\n validationInfo.customerCardInfo?.errorMessage ?\r\n
\r\n {ApplicationLabels.Error_Message_MissingCardDetails}\r\n
\r\n : null\r\n }\r\n
\r\n }\r\n {\r\n showSubmitButton &&\r\n \r\n \r\n \r\n }\r\n
\r\n\r\n