{"version":3,"file":"main.f9e6145735fba9d0.js","mappings":"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","sources":["./projects/googlepay-plugin/src/environments/prod/environment.ts","./projects/googlepay-plugin/src/app/models/common.model.ts","./projects/googlepay-plugin/src/app/models/google-pay.model.ts","./projects/googlepay-plugin/src/app/components/app.component.ts","./projects/googlepay-plugin/src/app/components/app-routing.module.ts","./projects/googlepay-plugin/src/app/services/app-config.service.ts","./projects/googlepay-plugin/src/app/components/app.module.ts","./projects/googlepay-plugin/src/main.ts"],"sourcesContent":["export const environment = {\n production: true,\n paynetmdURL: 'https://paynet.md',\n skipOnReadyToPayChange: false,\n};\n","import { Observable } from 'rxjs';\r\n\r\nexport enum PM_ACTIONS {\r\n GOOGLEPAY_RENDER_STYLE = 'GOOGLEPAY-RENDER-STYLE',\r\n GOOGLEPAY_TOKENIZED = 'GOOGLEPAY-TOKENIZED',\r\n GOOGLEPAY_PAYMENT_OBJ = 'GOOGLEPAY-PAYMENT-OBJ',\r\n GOOGLEPAY_PATCH_PAYMENT_OBJ = 'GOOGLEPAY-PATCH-PAYMENT-OBJ',\r\n GOOGLEPAY_VIEWINIT = 'GOOGLEPAY-VIEWINIT',\r\n GOOGLEPAY_ISREADYTOPAY = 'GOOGLEPAY-ISREADYTOPAY',\r\n GOOGLEPAY_FREEZE = 'GOOGLEPAY-FREEZE',\r\n GOOGLEPAY_UNFREEZE = 'GOOGLEPAY-UNFREEZE',\r\n}\r\n\r\nexport function waitForElementToAppear(element, _fn?) {\r\n return new Observable(function (observer) {\r\n var el_ref;\r\n let intervalId;\r\n\r\n var f = () => {\r\n el_ref = document.querySelector(element);\r\n // if (elementId === 'SenderCardNr') {\r\n // console.log('==============================>>>>>>>>> SenderCardNr');\r\n // }\r\n if (el_ref) {\r\n clearInterval(intervalId);\r\n observer.next({ el_ref, _fn } as any);\r\n observer.complete();\r\n return;\r\n }\r\n\r\n //window.requestAnimationFrame(f);\r\n intervalId = setInterval(f, 100);\r\n };\r\n f();\r\n });\r\n}\r\n\r\nexport const inIframe = () => {\r\n try {\r\n return window.self !== window.top;\r\n } catch (e) {\r\n return true;\r\n }\r\n};\r\n\r\nexport function AmountGetString(pAmount): string {\r\n return evenRound(parseFloat((pAmount / 100).toString())).toFixed(2);\r\n}\r\nexport function AmountGetAsLong(amountStr) {\r\n amountStr = ['', ',', '.'].includes(amountStr) ? '0.00' : amountStr;\r\n amountStr = amountStr.replace(',', '.');\r\n var amountRaw = parseFloat(amountStr).toFixed(2);\r\n return parseInt(evenRound(Number(amountRaw) * 100).toString());\r\n}\r\nexport function FormatAmountString(pAmount): string {\r\n const intl = Intl.NumberFormat('en-US', {\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2,\r\n });\r\n\r\n return intl.format(pAmount);\r\n}\r\nfunction evenRound(num, decimalPlaces = 2) {\r\n var d = decimalPlaces || 0;\r\n var m = Math.pow(10, d);\r\n var n = +(d ? num * m : num).toFixed(8); // Avoid rounding errors\r\n var i = Math.floor(n),\r\n f = n - i;\r\n var e = 1e-8; // Allow for rounding errors in f\r\n var r = f > 0.5 - e && f < 0.5 + e ? (i % 2 == 0 ? i : i + 1) : Math.round(n);\r\n return d ? r / m : r;\r\n}\r\n","import { environment } from '../../environments/environment';\r\nimport { AmountGetString, PM_ACTIONS, inIframe } from './common.model';\r\n\r\nexport namespace GooglePayNamespace {\r\n export class UI {\r\n paynetWindow = window.parent as Window;\r\n buttonColor: buttonColor = buttonColor.BLACK;\r\n buttonType: buttonType = buttonType.BUY;\r\n buttonSizeMode: buttonSizeMode = buttonSizeMode.FILL;\r\n Width: number = 360;\r\n Height: number = 58;\r\n cssroot: any;\r\n InProgress: boolean = true;\r\n get styleString() {\r\n return `width: ${this.cssroot.width.value};height: ${this.cssroot.height.value}`;\r\n }\r\n constructor() {\r\n this.initStyles();\r\n }\r\n\r\n private resize() {\r\n //console.log('window.innerWidth', window.innerWidth);\r\n if (window.innerWidth < 781) {\r\n this.cssroot = {\r\n width: {\r\n var: '--pp-googlepay-width',\r\n value: `100%`,\r\n },\r\n height: {\r\n var: '--pp-googlepay-height',\r\n value: `${this.Height}px`,\r\n },\r\n };\r\n } else {\r\n this.Width = 360;\r\n this.cssroot = {\r\n width: {\r\n var: '--pp-googlepay-width',\r\n value: `${this.Width}px`,\r\n },\r\n height: {\r\n var: '--pp-googlepay-height',\r\n value: `${this.Height}px`,\r\n },\r\n };\r\n }\r\n }\r\n\r\n initStyles() {\r\n this.resize();\r\n this.postMessage(PM_ACTIONS.GOOGLEPAY_RENDER_STYLE);\r\n }\r\n\r\n postMessage(action: PM_ACTIONS, obj?: any) {\r\n if (inIframe()) {\r\n console.log(action);\r\n switch (action) {\r\n // case PM_ACTIONS.PSP_VGS_LOADED:\r\n // case PM_ACTIONS.PSP_READY:\r\n // this.paynetWindow.postMessage(\r\n // {\r\n // action: action,\r\n // },\r\n // environment.paynetmdURL\r\n // );\r\n // break;\r\n\r\n // case PM_ACTIONS.PSP_EXCEPTION:\r\n // case PM_ACTIONS.PSP_TOKENIZED:\r\n // case PM_ACTIONS.PSP_LINKEDCARDS_SET_CARDTOKEN:\r\n // case PM_ACTIONS.PSP_LINKEDCARDS_REMOVE_CARD_POPUP:\r\n // case PM_ACTIONS.PSP_VALIDATE_OUT:\r\n // this.paynetWindow.postMessage(\r\n // {\r\n // action: action,\r\n // state: obj,\r\n // },\r\n // environment.paynetmdURL\r\n // );\r\n // break;\r\n case PM_ACTIONS.GOOGLEPAY_VIEWINIT:\r\n case PM_ACTIONS.GOOGLEPAY_FREEZE:\r\n case PM_ACTIONS.GOOGLEPAY_UNFREEZE:\r\n this.paynetWindow.postMessage(\r\n {\r\n action,\r\n },\r\n environment.paynetmdURL\r\n );\r\n break;\r\n case PM_ACTIONS.GOOGLEPAY_RENDER_STYLE:\r\n this.paynetWindow.postMessage(\r\n {\r\n action,\r\n state: this.cssroot,\r\n },\r\n environment.paynetmdURL\r\n );\r\n break;\r\n case PM_ACTIONS.GOOGLEPAY_ISREADYTOPAY:\r\n case PM_ACTIONS.GOOGLEPAY_TOKENIZED:\r\n this.paynetWindow.postMessage(\r\n {\r\n action,\r\n state: obj,\r\n },\r\n environment.paynetmdURL\r\n );\r\n break;\r\n }\r\n } else if (!environment.production) this.InProgress = false;\r\n }\r\n }\r\n\r\n export class DATA {\r\n environment: envGPay;\r\n PaymentDataRequest: PaymentDataRequest = new PaymentDataRequest();\r\n ExternalPaymentRequest: ExternalPaymentRequest;\r\n\r\n PaymentDataResponse: any;\r\n constructor() {\r\n this.environment = environment.production\r\n ? envGPay.PRODUCTION\r\n : envGPay.TEST;\r\n }\r\n }\r\n\r\n // export function WS2MPI_MOCK(paymentToken, amount, currency, url, merchant) {\r\n // return {\r\n // merchant: merchant,\r\n // amount: amount,\r\n // currencyCode: currency,\r\n // returnUrl: url,\r\n // paymentToken: {\r\n // ...JSON.parse(paymentToken),\r\n // },\r\n // };\r\n // }\r\n\r\n export function WS2MPI_OUT(\r\n PaymentDataResponse: IPaymentDataResponse,\r\n ExternalPaymentRequest: ExternalPaymentRequest\r\n ) {\r\n return {\r\n opid: ExternalPaymentRequest.opid,\r\n issuer: ExternalPaymentRequest.issuer,\r\n checkoutcurrency: ExternalPaymentRequest.checkoutcurrency,\r\n customerInfo: {\r\n FirstName: (\r\n PaymentDataResponse.paymentMethodData.info.billingAddress.name ?? ''\r\n ).split(' ')[0],\r\n LastName: (\r\n PaymentDataResponse.paymentMethodData.info.billingAddress.name ?? ''\r\n )\r\n .split(' ')\r\n .slice(1)\r\n .join(' '),\r\n Email: PaymentDataResponse.email,\r\n Gsm: (\r\n PaymentDataResponse.paymentMethodData.info.billingAddress\r\n .phoneNumber ?? ''\r\n )\r\n .split(' ')\r\n .join(''),\r\n },\r\n paymentToken: {\r\n ...JSON.parse(\r\n PaymentDataResponse.paymentMethodData.tokenizationData.token\r\n ),\r\n },\r\n };\r\n }\r\n\r\n export class ExternalPaymentRequest {\r\n amount: number;\r\n checkoutcurrency: number;\r\n issuer: number;\r\n opid: number;\r\n merchant: string;\r\n merchantId: string;\r\n gateway: string;\r\n gatewayMerchantId: string;\r\n constructor(IN: any) {\r\n this.opid = IN.opid;\r\n this.issuer = IN.issuer;\r\n this.checkoutcurrency = IN.checkoutcurrency;\r\n this.amount = IN.amount;\r\n IN.paramInfo.forEach((element) => {\r\n switch (element.Key) {\r\n case 'GPayMerchantName':\r\n this.merchant = element.Value;\r\n break;\r\n\r\n case 'GPayMerchantId':\r\n this.merchantId = element.Value;\r\n break;\r\n\r\n case 'GPayGateway':\r\n this.gateway = element.Value;\r\n break;\r\n\r\n case 'GPayGatewayMerchantId':\r\n this.gatewayMerchantId = element.Value;\r\n break;\r\n // case 'GPayReturnUrl': {\r\n // this.ReturnUrl = IN.Value;\r\n // break;\r\n // }\r\n // case 'GPayMerchant': {\r\n // this.Merchant = IN.Value;\r\n // break;\r\n // }\r\n }\r\n });\r\n }\r\n }\r\n\r\n export enum envGPay {\r\n TEST = 'TEST',\r\n PRODUCTION = 'PRODUCTION',\r\n }\r\n\r\n export enum buttonType {\r\n BUY = 'buy',\r\n PLAIN = 'plain',\r\n DONATE = 'donate',\r\n }\r\n\r\n export enum buttonColor {\r\n DEFAULT = 'default',\r\n BLACK = 'black',\r\n WHITE = 'white',\r\n }\r\n\r\n export enum buttonSizeMode {\r\n FILL = 'fill',\r\n STATIC = 'static',\r\n }\r\n ////////////////////////////PaymentDataRequest/////////////////////\r\n\r\n export class PaymentDataRequest implements IPaymentDataRequest {\r\n apiVersion: number;\r\n apiVersionMinor: number;\r\n allowedPaymentMethods: IallowedPaymentMethods[];\r\n transactionInfo: ItransactionInfo;\r\n merchantInfo: ImerchantInfo;\r\n emailRequired: boolean;\r\n\r\n initPaymentDataRequest(IN: ExternalPaymentRequest) {\r\n this.merchantInfo.merchantName = IN.merchant;\r\n this.merchantInfo.merchantId = IN.merchantId;\r\n this.allowedPaymentMethods[0].tokenizationSpecification.parameters.gateway =\r\n IN.gateway;\r\n this.allowedPaymentMethods[0].tokenizationSpecification.parameters.gatewayMerchantId =\r\n IN.gatewayMerchantId;\r\n this.patchTransactionInfo(IN);\r\n\r\n console.log('PaymentDataRequest', this);\r\n }\r\n\r\n patchPaymentDataRequest(IN: ExternalPaymentRequest) {\r\n this.patchTransactionInfo(IN);\r\n\r\n console.log('PaymentDataRequest', this);\r\n }\r\n\r\n private patchTransactionInfo(IN) {\r\n this.transactionInfo.totalPrice = AmountGetString(IN.amount);\r\n this.transactionInfo.currencyCode =\r\n IN.checkoutcurrency == 498\r\n ? 'MDL'\r\n : IN.checkoutcurrency == 840\r\n ? 'USD'\r\n : IN.checkoutcurrency == 978\r\n ? 'EUR'\r\n : '';\r\n }\r\n\r\n constructor() {\r\n this.apiVersion = 2;\r\n this.apiVersionMinor = 0;\r\n this.allowedPaymentMethods = [\r\n {\r\n type: 'CARD',\r\n parameters: {\r\n allowedAuthMethods: ['PAN_ONLY', 'CRYPTOGRAM_3DS'],\r\n allowedCardNetworks: ['MASTERCARD'], // [\"AMEX\", \"DISCOVER\", \"INTERAC\", \"JCB\", \"MASTERCARD\", \"VISA\"]\r\n assuranceDetailsRequired: true,\r\n billingAddressRequired: true,\r\n billingAddressParameters: {\r\n format: 'FULL',\r\n phoneNumberRequired: true,\r\n },\r\n },\r\n tokenizationSpecification: {\r\n type: 'PAYMENT_GATEWAY',\r\n parameters: {\r\n gateway: 'ukrcardpay',\r\n gatewayMerchantId: 'googletest',\r\n },\r\n },\r\n },\r\n ];\r\n this.transactionInfo = {\r\n totalPriceStatus: 'FINAL',\r\n totalPriceLabel: 'Total',\r\n totalPrice: '100.00',\r\n currencyCode: 'MDL',\r\n countryCode: 'MD',\r\n };\r\n this.merchantInfo = {\r\n merchantName: 'Paynet Services LLC',\r\n merchantId: 'BCR2DN4T4273BCKR',\r\n };\r\n this.emailRequired = true;\r\n }\r\n }\r\n\r\n interface IPaymentDataRequest {\r\n apiVersion: number;\r\n apiVersionMinor: number;\r\n allowedPaymentMethods: IallowedPaymentMethods[];\r\n transactionInfo: ItransactionInfo;\r\n merchantInfo: ImerchantInfo;\r\n emailRequired?: boolean;\r\n }\r\n\r\n interface IallowedPaymentMethods {\r\n type: string;\r\n parameters: ICardParameters;\r\n tokenizationSpecification: ItokenizationSpecification;\r\n }\r\n\r\n interface ICardParameters {\r\n allowedAuthMethods: string[];\r\n allowedCardNetworks: string[];\r\n assuranceDetailsRequired?: boolean;\r\n billingAddressRequired?: boolean;\r\n billingAddressParameters?: IbillingAddressParameters;\r\n }\r\n\r\n interface IbillingAddressParameters {\r\n format?: string; //'MIN',\r\n phoneNumberRequired?: boolean;\r\n }\r\n\r\n interface ItokenizationSpecification {\r\n type: string;\r\n parameters: ItokenizationSpecification_parameters;\r\n }\r\n\r\n interface ItokenizationSpecification_parameters {\r\n gateway: string;\r\n gatewayMerchantId: string;\r\n }\r\n\r\n interface ItransactionInfo {\r\n totalPriceStatus: string;\r\n totalPriceLabel: string;\r\n totalPrice: string;\r\n currencyCode: string;\r\n countryCode?: string;\r\n }\r\n interface ImerchantInfo {\r\n merchantName: string;\r\n merchantId: string;\r\n }\r\n ////////////////////////////PaymentDataRequest/////////////////////\r\n\r\n ////////////////////////////PaymentDataResponse/////////////////////\r\n export class PaymentDataResponse implements IPaymentDataResponse {\r\n email: string;\r\n paymentMethodData: IpaymentMethodData;\r\n constructor(IN: IPaymentDataResponse) {\r\n this.email = IN.email;\r\n this.paymentMethodData = IN.paymentMethodData;\r\n }\r\n }\r\n\r\n /*\r\n {\r\n \"apiVersion\": 2,\r\n \"apiVersionMinor\": 0,\r\n \"email\": \"i.antropov@paynet.md\",\r\n \"paymentMethodData\": {\r\n \"description\": \"Test Card: Mastercard •••• 4444\",\r\n \"info\": {\r\n \"assuranceDetails\": {\r\n \"accountVerified\": true,\r\n \"cardHolderAuthenticated\": false\r\n },\r\n \"billingAddress\": {\r\n \"address1\": \"1600 Amphitheatre Parkway\",\r\n \"address2\": \"\",\r\n \"address3\": \"\",\r\n \"administrativeArea\": \"CA\",\r\n \"countryCode\": \"US\",\r\n \"locality\": \"Mountain View\",\r\n \"name\": \"Card Holder Name\",\r\n \"phoneNumber\": \"6505555555\",\r\n \"postalCode\": \"94043\",\r\n \"sortingCode\": \"\"\r\n },\r\n \"cardDetails\": \"4444\",\r\n \"cardNetwork\": \"MASTERCARD\"\r\n },\r\n \"tokenizationData\": {\r\n \"token\": \"{\\\"signature\\\":\\\"MEUCIQC0z9Wq3jl4jWQJuTmNoWrCv9bGmw8XJoYJIccwIbUJyAIgEPrN6/pXIHn6MxR4G1xf15d3no5Qj1X/CMuHO9zTrq0\\\\u003d\\\",\\\"intermediateSigningKey\\\":{\\\"signedKey\\\":\\\"{\\\\\\\"keyValue\\\\\\\":\\\\\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE4k4EdEC0TPTiEy1wf9gQkf8M2kS8djjCeHPQThI6MvwgBhIckwj8c9ABbb5Jd0WOdVIEFcQfEYSOybNjRIu0Cg\\\\\\\\u003d\\\\\\\\u003d\\\\\\\",\\\\\\\"keyExpiration\\\\\\\":\\\\\\\"1705028591577\\\\\\\"}\\\",\\\"signatures\\\":[\\\"MEYCIQD+dpKtIf9F5coQ4++WvmikQdm/Z6Y41gPbtZQvLSr0kAIhAIgHaCYMzVjYTPWcspDqYYBQ43VOvbMEP1lMGuWat229\\\"]},\\\"protocolVersion\\\":\\\"ECv2\\\",\\\"signedMessage\\\":\\\"{\\\\\\\"encryptedMessage\\\\\\\":\\\\\\\"bZOXdTkBLoExKLeP7trdn4UiYWoL3pSRjz53oGsK39LlZu05gDGSEaa19MbXxjGY5plvbro29eTXoEPArbn0AVdvRG94s8GqoU2aWM82PMuQpNedttSts12k9k0B8xmH5GAIRqMqHD8+dXV5+ING/1tUiqcyy1h0WV5tMS4wiwAx0GXpXrgK007lLbRDdXtdW9rCcgtCjBdlTY4vY1jlQkB1rdHGvhTqImhmXzjcsQ/N1xKBwtnpbCtzNgLxW9aeNhYwp1hCm+bRouKuIDiCG+68IDkhi7qD3XCdbfNkjkRSSQO6czSxhJyjn9ki39a9TpqbZhroxqrR/1SsKlB/Q9L4D3iRCWm9jYPMgFOnhp38Hk79FFHQVKqBJBbDmSMrDduRlcB7X6oVQAjxeAgPdVF60huVw3hP2Z8jOQMSa/aK+Hxa/ZrVNEUKNcWahT76dYAE1e1dupqP+2gOzcgFNQpIWtwJjin7w1GUvPIQJ6knmhCrCVB0iZifLRjBK+uRVDYP1Zf2iTNxjWJA52lXjGrndtCCfUDcdOFxM+/vWRCKs+VwuXQP6IBOzuQdLdQD4AnscduS9lrT\\\\\\\",\\\\\\\"ephemeralPublicKey\\\\\\\":\\\\\\\"BPYAESiQ+JLMd8Yrch+FNd+mO6UviKAJaYul/QFO7hU527B60H21qpDFWKNbJmzo5agQ/MX7J7hLDODvVRgUnMY\\\\\\\\u003d\\\\\\\",\\\\\\\"tag\\\\\\\":\\\\\\\"KlMUabFetakFyR01w3dCI0CI315b1HFpi2+ucdSCYEM\\\\\\\\u003d\\\\\\\"}\\\"}\",\r\n \"type\": \"PAYMENT_GATEWAY\"\r\n },\r\n \"type\": \"CARD\"\r\n }\r\n}\r\n */\r\n interface IPaymentDataResponse {\r\n email: string;\r\n paymentMethodData: IpaymentMethodData;\r\n }\r\n\r\n interface IpaymentMethodData {\r\n info: Iinfo;\r\n tokenizationData: ItokenizationData;\r\n }\r\n\r\n interface ItokenizationData {\r\n token: string;\r\n type: string;\r\n }\r\n\r\n interface Iinfo {\r\n billingAddress: IbillingAddress;\r\n }\r\n\r\n interface IbillingAddress {\r\n address1?: string;\r\n address2?: string;\r\n address3?: string;\r\n administrativeArea?: string;\r\n countryCode?: string;\r\n locality?: string;\r\n name?: string;\r\n phoneNumber?: string;\r\n postalCode?: string;\r\n sortingCode?: string;\r\n }\r\n ////////////////////////////PaymentDataResponse/////////////////////\r\n}\r\n","import { AfterViewInit, Component, HostListener, OnInit } from '@angular/core';\nimport { GooglePayNamespace } from '../models/google-pay.model';\nimport { environment } from '../../environments/environment';\nimport { PM_ACTIONS } from '../models/common.model';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n})\nexport class AppComponent implements AfterViewInit {\n private static Zone = GooglePayNamespace;\n UI = new AppComponent.Zone.UI();\n DATA = new AppComponent.Zone.DATA();\n // amount: number;\n // currency: number;\n // opid: number;\n // issuer: string;\n // //paramInfo: GooglePayNamespace.ParamInfo;\n // url: string;\n // merchant: string;\n\n constructor() {\n // console.log(this.UI);\n // console.log(this.DATA);\n }\n\n ngAfterViewInit(): void {\n this.UI.postMessage(PM_ACTIONS.GOOGLEPAY_VIEWINIT);\n }\n\n onReadyToPayChange(event) {\n console.log('EVENT', event);\n this.UI.postMessage(\n PM_ACTIONS.GOOGLEPAY_ISREADYTOPAY,\n !environment.skipOnReadyToPayChange ? event.detail.isButtonVisible : true\n );\n }\n\n onLoadPaymentData(event) {\n console.log('load payment data', event.detail);\n if (event.detail.paymentMethodData.tokenizationData.token)\n console.log(\n '================================WS2MPI==================================='\n );\n // this.DATA.PaymentDataResponse = GooglePayNamespace.WS2MPI_MOCK(\n // event.detail.paymentMethodData.tokenizationData.token,\n // this.amount,\n // this.currency,\n // this.url,\n // this.merchant\n // );\n\n const IN = new GooglePayNamespace.PaymentDataResponse(event.detail);\n\n this.DATA.PaymentDataResponse = GooglePayNamespace.WS2MPI_OUT(\n IN,\n this.DATA.ExternalPaymentRequest\n );\n //console.log('event', event);\n this.UI.postMessage(\n PM_ACTIONS.GOOGLEPAY_TOKENIZED,\n this.DATA.PaymentDataResponse\n );\n }\n\n clickCallback(event) {\n this.UI.postMessage(PM_ACTIONS.GOOGLEPAY_FREEZE);\n }\n\n errorCallback(event) {\n console.log(event);\n this.UI.postMessage(PM_ACTIONS.GOOGLEPAY_UNFREEZE);\n }\n\n cancelCallback(event) {\n //console.log(event);\n this.UI.postMessage(PM_ACTIONS.GOOGLEPAY_UNFREEZE);\n }\n\n paymentDataChangedCallback(event) {\n // this.UI.postMessage(PM_ACTIONS.GOOGLEPAY_FREEZE);\n // this.UI.postMessage(PM_ACTIONS.GOOGLEPAY_UNFREEZE);\n }\n\n @HostListener('window:message', ['$event'])\n onPostMessage(event: MessageEvent) {\n if (event.origin === environment.paynetmdURL) {\n if (!!event.data) {\n switch (event.data.action) {\n case PM_ACTIONS.GOOGLEPAY_PAYMENT_OBJ:\n console.log(event.data);\n this.DATA.ExternalPaymentRequest =\n new GooglePayNamespace.ExternalPaymentRequest(event.data.state);\n this.DATA.PaymentDataRequest.initPaymentDataRequest(\n this.DATA.ExternalPaymentRequest\n );\n console.log(this.DATA);\n this.UI.InProgress = false;\n break;\n case PM_ACTIONS.GOOGLEPAY_PATCH_PAYMENT_OBJ:\n console.log(event.data);\n this.DATA.ExternalPaymentRequest =\n new GooglePayNamespace.ExternalPaymentRequest(event.data.state);\n // this.DATA.PaymentDataRequest.patchTransactionInfo(event.data.state);\n this.DATA.PaymentDataRequest.patchPaymentDataRequest(\n this.DATA.ExternalPaymentRequest\n );\n console.log(this.DATA);\n console.log('this.DATA', this.DATA);\n\n break;\n }\n }\n }\n }\n\n @HostListener('window:resize', ['$event'])\n onWindowResize() {\n this.UI.Height = (\n document.querySelector('html') as HTMLElement\n ).getBoundingClientRect().height;\n this.UI.Width = (\n document.querySelector('app-root') as HTMLElement\n ).getBoundingClientRect().width;\n this.UI.initStyles();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nconst routes: Routes = [];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { Observable, throwError } from 'rxjs';\r\n\r\ntype AppConfig = {\r\n [key: string]: T;\r\n};\r\n\r\n@Injectable()\r\nexport class AppRuntimeConfigService {\r\n private appConfig: AppConfig;\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n loadAppConfig(): Observable {\r\n return this.http\r\n .get>('runtimeConfig.json', {\r\n headers: {\r\n 'Cache-Control': 'no-cache',\r\n },\r\n })\r\n .pipe(\r\n map((response) => {\r\n this.appConfig = response;\r\n }),\r\n catchError((error) => {\r\n console.log('Error (loadAppConfig): ', error.message);\r\n return throwError(() => error);\r\n })\r\n );\r\n }\r\n\r\n getConfig() {\r\n return this.appConfig;\r\n }\r\n}\r\n","import { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { GooglePayButtonModule } from '@google-pay/button-angular';\nimport { AppComponent } from './app.component';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppRuntimeConfigService } from '../services/app-config.service';\nimport { HttpClientModule } from '@angular/common/http';\n\nconst appInitializerFn = (appConfig: AppRuntimeConfigService) => {\n return () => {\n return appConfig.loadAppConfig();\n };\n};\n\n@NgModule({\n declarations: [AppComponent],\n imports: [\n BrowserModule,\n AppRoutingModule,\n HttpClientModule,\n GooglePayButtonModule,\n ],\n providers: [\n AppRuntimeConfigService,\n {\n provide: APP_INITIALIZER,\n useFactory: appInitializerFn,\n multi: true,\n deps: [AppRuntimeConfigService],\n },\n ],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { AppModule } from './app/components/app.module';\n\nplatformBrowserDynamic()\n .bootstrapModule(AppModule)\n .catch((err) => console.error(err));\n"],"names":["environment","production","paynetmdURL","skipOnReadyToPayChange","Observable","PM_ACTIONS","waitForElementToAppear","element","_fn","observer","el_ref","intervalId","f","document","querySelector","clearInterval","next","complete","setInterval","inIframe","window","self","top","e","AmountGetString","pAmount","evenRound","parseFloat","toString","toFixed","AmountGetAsLong","amountStr","includes","replace","amountRaw","parseInt","Number","FormatAmountString","intl","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","format","num","decimalPlaces","d","m","Math","pow","n","i","floor","r","round","GooglePayNamespace","UI","styleString","cssroot","width","value","height","constructor","paynetWindow","parent","buttonColor","BLACK","buttonType","BUY","buttonSizeMode","FILL","Width","Height","InProgress","initStyles","resize","innerWidth","var","postMessage","GOOGLEPAY_RENDER_STYLE","action","obj","console","log","GOOGLEPAY_VIEWINIT","GOOGLEPAY_FREEZE","GOOGLEPAY_UNFREEZE","state","GOOGLEPAY_ISREADYTOPAY","GOOGLEPAY_TOKENIZED","DATA","PaymentDataRequest","envGPay","PRODUCTION","TEST","WS2MPI_OUT","PaymentDataResponse","ExternalPaymentRequest","opid","issuer","checkoutcurrency","customerInfo","FirstName","paymentMethodData","info","billingAddress","name","split","LastName","slice","join","Email","email","Gsm","phoneNumber","paymentToken","JSON","parse","tokenizationData","token","IN","amount","paramInfo","forEach","Key","merchant","Value","merchantId","gateway","gatewayMerchantId","initPaymentDataRequest","merchantInfo","merchantName","allowedPaymentMethods","tokenizationSpecification","parameters","patchTransactionInfo","patchPaymentDataRequest","transactionInfo","totalPrice","currencyCode","apiVersion","apiVersionMinor","type","allowedAuthMethods","allowedCardNetworks","assuranceDetailsRequired","billingAddressRequired","billingAddressParameters","phoneNumberRequired","totalPriceStatus","totalPriceLabel","countryCode","emailRequired","Component","HostListener","AppComponent","_","Zone","AppComponent_1","ngAfterViewInit","onReadyToPayChange","event","detail","isButtonVisible","onLoadPaymentData","clickCallback","errorCallback","cancelCallback","paymentDataChangedCallback","onPostMessage","origin","data","GOOGLEPAY_PAYMENT_OBJ","GOOGLEPAY_PATCH_PAYMENT_OBJ","onWindowResize","getBoundingClientRect","_3","args","__decorate","selector","template","__NG_CLI_RESOURCE__0","NgModule","RouterModule","routes","AppRoutingModule","imports","forRoot","exports","Injectable","HttpClient","catchError","map","throwError","AppRuntimeConfigService","http","loadAppConfig","get","headers","pipe","response","appConfig","error","message","getConfig","APP_INITIALIZER","BrowserModule","GooglePayButtonModule","HttpClientModule","appInitializerFn","AppModule","declarations","providers","provide","useFactory","multi","deps","bootstrap","platformBrowserDynamic","bootstrapModule","catch","err"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}