vk-payments 0.2.28 → 0.2.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"vk-payments.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://vk-payments/lib/mercadopago/services/mercadopago.api.service.ts","ng://vk-payments/lib/mercadopago/components/mercadopago.component.ts","ng://vk-payments/lib/mercadopago/components/promotion-bank.component.ts","ng://vk-payments/lib/mercadopago/mercadopago.module.ts","ng://vk-payments/lib/paypal/components/paypal-new.component.ts","ng://vk-payments/lib/paypal/paypal.module.ts","ng://vk-payments/lib/sps-decidir/services/sps-decidir.api.service.ts","ng://vk-payments/lib/sps-decidir/components/sps-decidir.component.ts","ng://vk-payments/lib/sps-decidir/sps-decidir.module.ts","ng://vk-payments/lib/go-cuotas/services/go-cuotas.api.service.ts","ng://vk-payments/lib/go-cuotas/components/modal/modal.component.ts","ng://vk-payments/lib/go-cuotas/components/go-cuotas.component.ts","ng://vk-payments/lib/go-cuotas/go-cuotas.module.ts","ng://vk-payments/lib/modo/services/modo-api.service.ts","ng://vk-payments/lib/modo/components/modo/modo.component.ts","ng://vk-payments/lib/modo/modo.module.ts","ng://vk-payments/lib/bank-transfer/services/bank-transfer.api.service.ts","ng://vk-payments/lib/bank-transfer/components/bank-transfer.component.ts","ng://vk-payments/lib/bank-transfer/bank-transfer.module.ts","ng://vk-payments/lib/vk-payments.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { CardPayment } from '../models/mercadopago.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MercadopagoApiService {\r\n private authHeaders: HttpHeaders;\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n makePayment(cardPayment: CardPayment, access_token: string, url: string): Observable<any> {\r\n this._setAuthHeaders(access_token);\r\n return this.httpClient.post(this.normalizeUrl(url) + '/Payment', cardPayment, { headers: this.authHeaders });\r\n }\r\n\r\n getMercadoPagoPromotions(url: string): Observable<any> {\r\n return this.httpClient.get(url);\r\n }\r\n\r\n normalizeUrl(url: string): string {\r\n if (url.length > 0 && url.charAt(url.length - 1) == '/') {\r\n url = url.substr(0, url.length - 1);\r\n }\r\n return url;\r\n }\r\n\r\n private _setAuthHeaders(access_token: string) {\r\n const userToken = 'Bearer ' + access_token;\r\n this.authHeaders = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': userToken });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { Router } from '@angular/router';\n\nimport { CardPayment, CreateTokenResponse, PaymentResult, ResponseInstallment } from '../models/mercadopago.model';\nimport { MercadopagoApiService } from '../services/mercadopago.api.service';\nimport sha256 from 'sha256';\n\n\ndeclare var Mercadopago: any;\n\n@Component({\n selector: 'mp-form-pay',\n templateUrl: './mercadopago.component.html',\n styleUrls: ['./mercadopago.component.scss']\n})\nexport class MercadoPagoComponent implements OnInit, OnChanges {\n\n totalAmount: number;\n totalFinancedAmount: number;\n currentBin: string;\n recommendedLabel: string;\n currentTEA: string;\n currentCFT: string;\n ticket: string;\n defaultName: string;\n defaultDocType: string;\n issuerId: string;\n currentPaymentMethod: any;\n currentIssuers: any[];\n currentInstallments: any[];\n cardPayment: CardPayment;\n\n // input bind\n yearText: string;\n monthText: string;\n dniText: string;\n cvcText: string;\n cardText: string;\n errorMessage: string;\n\n paymentState = 'unsubmitted';\n tokenId = '';\n disabled = false;\n addScript = false;\n requiredIssuer = false;\n submitted = false;\n\n paymentResult: PaymentResult = { success: false, paymentId: '', integrator: 'MP' };\n\n @Input() paymentAmount: number;\n @Input() payerName: string;\n @Input() payerEmail: string;\n @Input() accessToken: string;\n @Input() vkUrlApi: string;\n @Input() description: string;\n @Input() publishableKey: string;\n @Input() successUrl: string;\n @Input() failureUrl: string;\n @Input() imgCreditCards: string;\n @Input() imgMercadoPago: string;\n @Input() iconExpandMore: string;\n @Input() debugLog: boolean;\n @Input() storeId: string;\n @Input() idVen: number;\n @Input() data: string;\n @Output() statusPay = new EventEmitter<PaymentResult>();\n\n @ViewChild('f', { static: false }) checkOutForm: NgForm;\n\n constructor(private router: Router, private mercadopagoApiService: MercadopagoApiService) { }\n\n ngOnInit() {\n this.initMercadoPago();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!changes.paymentAmount.isFirstChange()) {\n this.disabled = false;\n this.checkOutForm.reset();\n }\n }\n\n private initMercadoPago() {\n this.addMercadopagoScript()\n .then(() => {\n Mercadopago.setPublishableKey(this.publishableKey);\n Mercadopago.getIdentificationTypes();\n\n this.totalAmount = this.paymentAmount;\n this.defaultName = this.payerName;\n this.defaultDocType = 'DNI';\n });\n }\n\n private addMercadopagoScript() {\n this.addScript = true;\n return new Promise((resolve, reject) => {\n const scripttagElement = document.createElement('script');\n scripttagElement.src = 'https://secure.mlstatic.com/sdk/javascript/v1/mercadopago.js?2345';\n scripttagElement.onload = resolve;\n document.body.appendChild(scripttagElement);\n });\n }\n\n private createToken(sendForm: any) {\n this.paymentState = 'processing';\n Mercadopago.createToken(sendForm, (status, response: any) => {\n \n if (status !== 200 && status !== 201) {\n this.paymentState = 'error';\n this.statusPay.emit(this.paymentResult);\n this.errorMessage = 'Revisa los datos del formulario.';\n // const causes: Cause[] = (response as ErrorTokenResponse).cause;\n // if (causes !== null && causes.length > 0) {\n // causes.forEach((item) => {\n // this.errorMessage += this.getErrorMessage(item.code) + '\\n';\n // });\n // }\n } else {\n this.tokenId = (response as CreateTokenResponse).id;\n this.makePayment();\n }\n });\n }\n\n private makePayment() {\n const hashedCard = this.hashText(this.cardText,100000);\n this.cardPayment = {\n tokenId: this.tokenId,\n transactionAmount: this.totalAmount,\n description: this.description,\n installments: Number(this.checkOutForm.value.installments),\n issuerId: this.checkOutForm.value.issuer,\n paymentMethodId: this.currentPaymentMethod[0].id,\n codCP: this.idVen,\n docNumber: this.checkOutForm.value.docNumber,\n additionalData: this.data,\n storeId: this.storeId,\n hash: hashedCard\n };\n this.mercadoPagoPayment();\n }\n\n private hashText(text: string, iterations:number): string{\n let hashedtext = text;\n for (let i = 0; i < iterations; i++) {\n hashedtext = sha256(hashedtext);\n }\n return hashedtext\n }\n\n private paymentResponseHandler(response: any) {\n if (response.success) {\n this.paymentState = response.data.statusDetails;\n this.ticket = response.data.transactionId;\n this.paymentResult = { success: true, paymentId: this.ticket, integrator: 'MP' };\n this.statusPay.emit(this.paymentResult);\n this.disabled = true;\n\n this.logger('paymentResponseHandler:', response);\n if (this.successUrl && this.successUrl.length > 0) {\n this.router.navigate([`${this.successUrl}`]);\n }\n } else {\n this.paymentState = 'apiError';\n this.statusPay.emit(this.paymentResult);\n if (this.successUrl && this.failureUrl.length > 0) {\n this.router.navigate([`${this.failureUrl}`]).then();\n }\n }\n }\n\n checkPaymentMethod() {\n if (this.checkOutForm.value.cardNumber != null) {\n this.currentInstallments = null;\n this.currentIssuers = null;\n if (this.checkOutForm.value.cardNumber.toString().length >= 6) {\n this.currentBin = this.checkOutForm.value.cardNumber.toString().substring(0, 6);\n const self = this;\n Mercadopago.getPaymentMethod(\n {\n 'bin': this.checkOutForm.value.cardNumber.toString()\n }, function (respCode, respBody) {\n if (respCode === 200) {\n self.setCurrentMethod(respBody);\n }\n });\n }\n if (this.checkOutForm.value.cardNumber.toString().length < 6) {\n this.requiredIssuer = false;\n }\n }\n }\n\n setCurrentMethod(res: any) {\n if (res) {\n this.logger('setCurrentMethod:', res);\n\n const additionalInfo: String[] = res[0].additional_info_needed;\n const issuerIdKey = 'issuer_id';\n\n if (additionalInfo.find(x => x == issuerIdKey) == undefined) {\n this.requiredIssuer = false;\n }\n else {\n this.requiredIssuer = true;\n }\n \n this.logger('requiredIssuer:', this.requiredIssuer);\n\n this.currentPaymentMethod = res;\n const self = this;\n Mercadopago.getIssuers(res[0].id, function (respCode, respBody) {\n if (respCode === 200) {\n self.setIssuers(respBody);\n }\n });\n\n self.checkInstallments(this.requiredIssuer);\n }\n }\n\n checkInstallments(requiredIssuer: boolean) {\n if (this.currentBin == undefined || this.currentBin.length < 6) {\n return;\n }\n const self = this;\n self.currentInstallments = null;\n\n let requestObject:any\n \n if (requiredIssuer) {\n requestObject = {\n 'bin': this.currentBin,\n 'amount': this.totalAmount,\n 'issuer_id': this.issuerId\n } \n }\n else {\n requestObject = {\n 'bin': this.currentBin,\n 'amount': this.totalAmount\n } \n }\n\n Mercadopago.getInstallments(requestObject, function (respCode, respBody) {\n if (respCode === 200) {\n self.setInstallments(respBody);\n } else {\n self.currentInstallments = null;\n }\n });\n }\n\n setInstallments(res: ResponseInstallment[]) {\n //this.logger('setInstallments:', res);\n\n if (res.length > 0) {\n if (this.issuerId != undefined && res.length > 1 && this.currentPaymentMethod.length > 0) {\n const result = res.filter(card => card.issuer.id === this.issuerId && card.payment_method_id === this.currentPaymentMethod[0].id);\n this.currentInstallments = result[0].payer_costs;\n this.issuerId = result[0].issuer.id;\n }\n else {\n this.currentInstallments = res[0].payer_costs;\n this.issuerId = res[0].issuer.id;\n }\n }\n }\n\n setIssuers(res: any) {\n //this.logger('setIssuers res', res);\n this.currentIssuers = res;\n }\n\n onDuesSelection(res: any) {\n for (const ins of this.currentInstallments) {\n if (ins.installments === Number(res.value.installments)) {\n this.totalFinancedAmount = ins.total_amount;\n for (const label of ins.labels) {\n if (label.includes('CFT')) {\n this.recommendedLabel = label.replace(/_/g, ': ').split('|', 2);\n this.currentTEA = this.recommendedLabel[1];\n this.currentCFT = this.recommendedLabel[0];\n }\n }\n }\n }\n }\n\n onSubmit(form: NgForm) {\n this.submitted = true;\n this.paymentResult = { success: false, paymentId: '', integrator: 'MP' };\n if (this.checkOutForm.valid) {\n const sendForm = {\n cardNumber: this.cardText,\n securityCode: this.cvcText,\n cardExpirationMonth: this.monthText,\n cardExpirationYear: this.yearText,\n cardholderName: this.defaultName,\n docType: this.defaultDocType,\n docNumber: this.dniText\n };\n\n if (this.debugLog) {\n console.log('sendForm', sendForm);\n }\n\n if (this.tokenId !== '') {\n Mercadopago.clearSession();\n }\n\n this.createToken(sendForm);\n }\n }\n\n // Input controls\n onYearChange() {\n if (isNaN(+this.yearText)) {\n setTimeout(() => {\n this.yearText = '';\n });\n }\n }\n\n onMonthLostFocus() {\n if (+this.monthText > 0 && !isNaN(+this.monthText)) {\n if (this.monthText == '1') {\n this.monthText = '01';\n }\n }\n }\n\n onMonthChange() {\n if (+this.monthText >= 0 && +this.monthText < 13 && !isNaN(+this.monthText)) {\n switch (this.monthText) {\n case '2': {\n this.monthText = '02';\n break;\n }\n case '3': {\n this.monthText = '03';\n break;\n }\n case '4': {\n this.monthText = '04';\n break;\n }\n case '5': {\n this.monthText = '05';\n break;\n }\n case '6': {\n this.monthText = '06';\n break;\n }\n case '7': {\n this.monthText = '07';\n break;\n }\n case '8': {\n this.monthText = '08';\n break;\n }\n case '9': {\n this.monthText = '09';\n break;\n }\n }\n } else {\n setTimeout(() => {\n this.monthText = '';\n });\n }\n }\n\n onCodeChange() {\n if (isNaN(+this.cvcText)) {\n setTimeout(() => {\n this.cvcText = '';\n });\n }\n }\n onDniChange() {\n if (isNaN(+this.dniText)) {\n setTimeout(() => {\n this.dniText = '';\n });\n }\n }\n\n onPayerNameChange() {\n if (!isNaN(+this.defaultName)) {\n setTimeout(() => {\n this.defaultName = '';\n });\n }\n }\n\n onCardChange() {\n if (isNaN(+this.cardText)) {\n setTimeout(() => {\n this.cardText = '';\n });\n }\n }\n\n onPaste(): boolean {\n return false;\n }\n\n logger(message: string, data: any): void {\n if (this.debugLog) {\n console.log(message, JSON.stringify(data));\n }\n }\n\n mercadoPagoPayment(){\n this.mercadopagoApiService.makePayment(this.cardPayment, this.accessToken, this.vkUrlApi)\n .subscribe(res => {\n this.paymentResponseHandler(res);\n }, error => {\n this.statusPay.emit(this.paymentResult);\n this.paymentState = 'apiError';\n console.log(error);\n });\n }\n\n resetForm() {\n this.disabled = false;\n this.totalAmount\n this.totalFinancedAmount = undefined;\n this.currentBin = undefined;\n this.recommendedLabel = undefined;\n this.currentTEA = undefined;\n this.currentCFT = undefined;\n this.ticket = undefined;\n this.defaultName = undefined;\n this.defaultDocType = undefined;\n this.issuerId = undefined;\n this.currentPaymentMethod = undefined;\n this.currentIssuers = null;\n this.currentInstallments = null;\n this.cardPayment = undefined;\n\n this.paymentResult = { success: false, paymentId: '', integrator: 'MP' };\n \n // Form bind\n this.monthText = undefined;\n this.yearText = undefined;\n this.cvcText = undefined;\n this.dniText = undefined;\n this.cardText = undefined;\n this.requiredIssuer = false;\n this.submitted = false;\n this.addScript = false;\n this.paymentState = 'unsubmitted';\n this.payerName = undefined;\n this.tokenId = '';\n this.errorMessage = undefined;\n\n this.checkOutForm.reset()\n\n this.initMercadoPago();\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { MercadopagoApiService } from '../services/mercadopago.api.service';\r\n\r\n\r\n@Component({\r\n selector: 'mp-promotion',\r\n templateUrl: './promotion-bank.component.html',\r\n styleUrls: ['./promotion-bank.component.scss']\r\n})\r\nexport class PromotionBankComponent implements OnInit {\r\n @Input() url: string;\r\n @Input() contentSource: string;\r\n\r\n cardPromotions: any;\r\n\r\n constructor(private mercadoPagoService: MercadopagoApiService) { }\r\n\r\n ngOnInit() {\r\n this.mercadoPagoService\r\n .getMercadoPagoPromotions(this.url)\r\n .subscribe(res => this.cardPromotions = res);\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { MercadoPagoComponent } from './components/mercadopago.component';\nimport { PromotionBankComponent } from './components/promotion-bank.component';\n\nconst COMPONENTS = [\n MercadoPagoComponent,\n PromotionBankComponent\n];\n\n@NgModule({\n declarations: COMPONENTS,\n exports: COMPONENTS,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule\n ]\n})\nexport class MercadopagoModule { }\n","import { AfterViewChecked, Component, Input, OnInit } from '@angular/core';\n\nimport { PaypalResponse } from '../models/response-paypal.model';\n\ndeclare let paypal: any;\n\n@Component({\n selector: 'paypal-new-form-pay',\n templateUrl: './paypal-new.component.html',\n styleUrls: ['./paypal-new.component.scss']\n})\nexport class PayPalNewComponent implements OnInit, AfterViewChecked {\n @Input() accessToken: string;\n @Input() clientId: string;\n @Input() vkUrlApi: string;\n @Input() storeId: string;\n @Input() userId: string;\n @Input() transactionId: string;\n @Input() amount: string;\n @Input() currency: string;\n @Input() cancelUrl: string;\n @Input() successUrl: string;\n @Input() data: string;\n @Input() urlSignout: string;\n\n private addScript = false;\n\n errorsMessage: any;\n\n showError = false;\n loading = true;\n status = '';\n linkToPay = '';\n linkExecutePay = '';\n\n constructor() {\n // if (this.urlSignout === '') {\n // const wnd = window.open(this.urlSignout, 'myWindow', 'width=100,height=100');\n // setTimeout(function () { wnd.close(); }, 1000);\n // }\n }\n\n ngOnInit(): void {\n\n }\n\n ngAfterViewChecked(): void {\n if (!this.addScript) {\n this.addPaypalScript().then(() => {\n\n const paypalConfig = {\n style: {\n color: 'blue',\n shape: 'pill',\n label: 'pay',\n height: 40\n },\n commit: true,\n createOrder: function (data, actions) {\n return actions.order.create({\n purchase_units: [{\n amount: { value: (<HTMLInputElement>document.getElementById('amount')).value },\n reference_id: '\\'' + (<HTMLInputElement>document.getElementById('transactionId')).value + '\\'',\n custom_id: '\\'' + (<HTMLInputElement>document.getElementById('storeId')).value + '\\''\n }],\n application_context: {\n shipping_preference: 'NO_SHIPPING'\n }\n });\n },\n\n // Finalize the transaction\n onApprove: function (data, actions) {\n return actions.order.capture().then(function (details: PaypalResponse) {\n details.data = (<HTMLInputElement>document.getElementById('data')).value;\n details.userid = (<HTMLInputElement>document.getElementById('userId')).value;\n\n fetch((<HTMLInputElement>document.getElementById('vkUrlApi')).value, {\n method: 'post',\n headers: {\n 'content-type': 'application/json',\n 'Authorization': 'Bearer ' + (<HTMLInputElement>document.getElementById('accessToken')).value\n },\n body: JSON.stringify({ details })\n }).then((response) => {\n console.log('response-> api', response);\n }).then(() => {\n window.location.href = (<HTMLInputElement>document.getElementById('successUrl')).value;\n });\n });\n },\n onError: function (error) {\n window.location.reload();\n },\n onCancel: (data, actions) => {\n window.location.href = (<HTMLInputElement>document.getElementById('cancelUrl')).value;\n }\n };\n\n paypal.Buttons(paypalConfig).render('#paypal-button-container');\n this.loading = false;\n });\n }\n }\n\n private addPaypalScript() {\n this.addScript = true;\n return new Promise((resolve, reject) => {\n const scripttagElement = document.createElement('script');\n scripttagElement.src = `https://www.paypal.com/sdk/js?client-id=${this.clientId}&currency=${this.currency}`;\n scripttagElement.onload = resolve;\n document.body.appendChild(scripttagElement);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { PayPalNewComponent } from './components/paypal-new.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n HttpClientModule,\n RouterModule\n ],\n declarations: [\n PayPalNewComponent\n ],\n exports: [\n PayPalNewComponent\n ]\n})\nexport class PaypalModule { }\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { CreditCard, CreditCardPlans, Payment, ResponseApi } from '../models/payment.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SpsDecidirApiService {\r\n private authHeaders: HttpHeaders;\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n public makePayment(payment: Payment, access_token: string, url: string): Observable<any> {\r\n this._setAuthHeaders(access_token);\r\n return this.httpClient.post(this.normalizeUrl(url) + '/Payment', payment, { headers: this.authHeaders });\r\n }\r\n\r\n public getDecidirConfigByBin(bin: string, url: string,): Observable<any> {\r\n return this.httpClient.get<ResponseApi>(this.normalizeUrl(url) +`/GetDecidirConfigByBin?bin=${bin}`);\r\n }\r\n\r\n\r\n public normalizeUrl(url: string): string {\r\n if (url.length > 0 && url.charAt(url.length - 1) == '/') {\r\n url = url.substr(0, url.length - 1);\r\n }\r\n return url;\r\n }\r\n\r\n public getCreditCards(access_token: string, url: string, domainId: number): Observable<ResponseApi> {\r\n this._setAuthHeaders(access_token);\r\n return this.httpClient.get<ResponseApi>(this.normalizeUrl(url) + '/GetCreditCardsEnable?domainId='+ domainId, { headers: this.authHeaders });\r\n }\r\n\r\n public getPlansByCreditCardId(access_token: string, url: string, amount: string, creditCardId: number, domainId: number, bin: string): Observable<ResponseApi> {\r\n this._setAuthHeaders(access_token);\r\n const body = { amount: amount, creditCardId: creditCardId, domainId: domainId, bin: bin};\r\n return this.httpClient.post<ResponseApi>(this.normalizeUrl(url) + '/CalculateAmountInInstallments', body, { headers: this.authHeaders });\r\n }\r\n\r\n private _setAuthHeaders(access_token: string) {\r\n const userToken = 'Bearer ' + access_token;\r\n this.authHeaders = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': userToken });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport sha256 from 'sha256';\n\nimport {\n CreditCard,\n CreditCardPlans,\n ErrorToken,\n Payment,\n PaymentResponseInfo,\n PaymentResult,\n ResponseApi,\n SpsResponsePayment,\n} from '../models/payment.model';\nimport { SpsDecidirApiService } from '../services/sps-decidir.api.service';\n\ndeclare var Decidir: any;\n\n@Component({\n selector: 'sps-form-pay',\n templateUrl: './sps-decidir.component.html',\n styleUrls: ['./sps-decidir.component.scss']\n})\nexport class SpsDecidirComponent implements OnInit, OnChanges {\n\n @ViewChild('f', { static: false }) checkOutForm: NgForm;\n @Input() accessToken: string;\n @Input() spsUrlApi: string;\n @Input() vkUrlApi: string;\n @Input() paymentAmount: string;\n @Input() logoSps: string;\n @Input() currency: string;\n @Input() defaultPublishableKey: string;\n @Input() superviellePublishableKey: string;\n @Input() successUrl: string;\n @Input() failureUrl: string;\n @Input() useCybersource: boolean;\n @Input() debugLog: boolean;\n @Input() storeId: string;\n @Input() domainId: number;\n @Input() idVen: number;\n @Input() data: string;\n @Input() labelButton: string;\n @Input() language = 'es';\n @Output() statusPay = new EventEmitter<PaymentResult>();\n\n disabled = false;\n disableSelect = false;\n totalAmount: string;\n totalFinancedAmount: string;\n currentTEA: string;\n currentCFT: string;\n\n creditCards: CreditCard[];\n selectCreditCardPlan: CreditCardPlans = null;\n creditCardPlans: CreditCardPlans[];\n paymentResult: PaymentResult = { success: false, paymentId: '', integrator: 'DECIDIR' };\n\n // Form bind\n monthText: string;\n yearText: string;\n cvcText: string;\n dniText: string;\n payerNameText: string;\n cardText: string;\n submitPressed = false;\n invalidDate = false;\n\n private decidir: any;\n addScript = true;\n\n paymentState = 'unsubmitted';\n payerName: string;\n issuer?: number = null;\n payment: Payment;\n paymentSuccessInfo: PaymentResponseInfo;\n errorMessage: string;\n\n constructor(private router: Router, public spsDecidirApiService: SpsDecidirApiService) { }\n\n ngOnInit() {\n this.initDecidir();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!changes.paymentAmount.isFirstChange()) {\n this.checkOutForm.reset();\n this.disabled = false;\n this.disableSelect = false;\n }\n }\n\n private initDecidir() {\n this.addDecidirScript()\n .then(() => {\n this.getCreditCards();\n this.initializeSpsDecidir();\n });\n }\n\n addDecidirScript() {\n this.addScript = true;\n return new Promise((resolve) => {\n const scripttagElement = document.createElement('script');\n scripttagElement.src = 'https://live.decidir.com/static/v2.4/decidir.js';\n scripttagElement.onload = resolve;\n document.body.appendChild(scripttagElement);\n });\n }\n\n private getCreditCards() {\n this.spsDecidirApiService.getCreditCards(this.accessToken, this.vkUrlApi, this.domainId)\n .subscribe((res: ResponseApi) => {\n this.creditCards = res.data as CreditCard[];\n this.logger('getCreditCards', this.creditCards);\n }, _ => this.paymentState = 'apiError');\n }\n\n private getPlansByCreditCardId(amount: string, creditCardId: number, domainId: number, bin: string) {\n this.spsDecidirApiService.getPlansByCreditCardId(this.accessToken, this.vkUrlApi, amount, creditCardId, domainId, bin)\n .subscribe((res: ResponseApi) => {\n this.creditCardPlans = res.data as CreditCardPlans[];\n this.logger('getPlansByCreditCardId', this.creditCardPlans);\n }, _ => this.paymentState = 'apiError');\n }\n\n private initializeSpsDecidir() {\n this.decidir = new Decidir(this.spsDecidirApiService.normalizeUrl(this.spsUrlApi), !this.useCybersource);\n this.decidir.setTimeout(15000);\n this.decidir.setPublishableKey(this.defaultPublishableKey);\n }\n\n private logger(message: string, data: any): void {\n if (!this.debugLog) { return; }\n console.log(message, data);\n }\n\n public selectedCreditCard() {\n if (!this.issuer) { return; }\n\n this.selectCreditCardPlan = null;\n if (this.currency === 'ARS' && this.cardText.substring(0,8) !== '00000000') {\n this.getPlansByCreditCardId(this.paymentAmount, this.issuer, this.domainId, this.cardText.substring(0,8));\n return;\n } else {\n this.cardText ='';\n }\n\n if (this.currency === 'USD') {\n this.totalAmount = this.totalFinancedAmount = this.paymentAmount;\n }\n }\n\n selectedCreditCardPlan() {\n if (this.selectCreditCardPlan === null) { return; }\n\n this.totalFinancedAmount = this.selectCreditCardPlan.totalAmount;\n this.totalAmount = this.paymentAmount;\n this.currentTEA = this.selectCreditCardPlan.tna;\n this.currentCFT = this.selectCreditCardPlan.cft;\n }\n\n onSubmit(event) {\n event.preventDefault();\n this.submitPressed = true;\n this.paymentResult = { success: false, paymentId: '', integrator: 'DECIDIR' };\n\n if (!this.checkOutForm.valid) { return; }\n\n this.paymentState = 'processing';\n\n this.spsDecidirApiService.getDecidirConfigByBin(this.cardText.substring(0, 8), this.vkUrlApi)\n .subscribe(config => {\n if(config =='SPS-Decidir-Supervielle'){\n this.decidir.setPublishableKey(this.superviellePublishableKey);\n } else {\n this.decidir.setPublishableKey(this.defaultPublishableKey);\n }\n\n const form = document.querySelector('#formulario');\n this.decidir.createToken(form, (status: number, response: SpsResponsePayment) => {\n if (status !== 200 && status !== 201) {\n this.paymentState = 'error';\n this.statusPay.emit(this.paymentResult);\n this.processErrorToken(response);\n } else {\n this.makePayment(form, response);\n }\n });\n\n });\n }\n\n makePayment(form: any, paymentResponse: SpsResponsePayment): void {\n this.logger('makePayment:', JSON.stringify(paymentResponse));\n const hashedCard = this.hashText(this.cardText,100000);\n this.payment = {\n token: paymentResponse.id,\n amount: this.totalAmount,\n totalFinancedAmount: this.totalFinancedAmount,\n bin: paymentResponse.bin,\n currency: 'ARS',\n documentNumber: this.currency === 'USD' ? '0' : paymentResponse.cardholder.identification.number,\n idVen: this.idVen,\n paymentType: 'single',\n installments: this.currency === 'USD' ? 1 : this.selectCreditCardPlan.installments,\n creditCardPlanId: this.currency === 'USD' ? 0 : this.selectCreditCardPlan.id,\n paymentMethodId: this.issuer,\n cardholder: this.payerNameText,\n storeId: this.storeId,\n data: this.data,\n subPayments: [],\n creditCardHash: hashedCard,\n lastFourDigits: this.cardText.slice(-4)\n };\n \n\n this.logger('payment:', JSON.stringify(this.payment));\n this.spsDecidirApiService.makePayment(this.payment, this.accessToken, this.vkUrlApi)\n .subscribe((res: ResponseApi) => {\n this.paymentResponseHandler(res);\n }, error => {\n this.statusPay.emit(this.paymentResult);\n this.paymentState = 'apiError';\n console.error(error);\n });\n }\n\n private hashText(text: string, iterations:number): string{\n let hashedtext = text;\n for (let i = 0; i < iterations; i++) {\n hashedtext = sha256(hashedtext);\n }\n return hashedtext\n }\n\n paymentResponseHandler(response: ResponseApi) {\n this.logger('paymentResponseHandler:', JSON.stringify(response));\n\n if (response.success) {\n this.paymentState = 'success';\n this.paymentSuccessInfo = response.data as PaymentResponseInfo;\n this.paymentResult = { success: true, paymentId: this.paymentSuccessInfo.payment_id, integrator: 'DECIDIR' };\n this.statusPay.emit(this.paymentResult);\n this.disabled = true;\n this.disableSelect = true;\n\n if (this.successUrl && this.successUrl.length > 0) {\n this.router.navigate([`${this.successUrl}`]).then();\n return;\n }\n } else {\n this.paymentState = 'error';\n this.statusPay.emit(this.paymentResult);\n this.processErrorMessage(response.data);\n\n if (this.failureUrl && this.failureUrl.length > 0) {\n this.router.navigate([`${this.failureUrl}`]).then()\n return;\n }\n }\n }\n\n processErrorToken(response: any): void {\n this.disabled = true;\n this.disableSelect = true;\n\n const error: ErrorToken = response as ErrorToken;\n\n // obtenemos mensajes de error\n error.error.forEach((x) => {\n if (x.error.type === 'invalid_expiry_date') {\n this.errorMessage = 'Revisá la fecha de vencimiento.';\n } else {\n this.errorMessage = JSON.stringify(error);\n }\n });\n }\n\n // diferentes tipos de error nos devuelve decidir\n processErrorMessage(responseError: PaymentResponseInfo): void {\n this.disabled = true;\n this.disableSelect = true;\n\n if (responseError.error) {\n this.errorMessage = responseError.error.reason.description;\n\n if (responseError.error.reason.additional_description) {\n this.errorMessage = this.errorMessage + ' - ' + responseError.error.reason.additional_description;\n }\n\n if (this.errorMessage == '' || this.errorMessage == undefined) {\n this.errorMessage = JSON.stringify(responseError);\n }\n }\n else if (responseError.error_type) {\n switch (responseError.error_type) {\n case 'invalid_request_error':\n if (responseError.validation_errors.length > 0) {\n if (responseError.validation_errors[0].code === 'invalid_param') {\n switch (responseError.validation_errors[0].param) {\n case 'card_number':\n this.errorMessage = 'Tarjeta inválida';\n break;\n case 'bin':\n this.errorMessage = 'Tarjeta inválida';\n break;\n default:\n this.errorMessage = responseError.error.reason.description;\n if (this.errorMessage == '' || this.errorMessage == undefined) {\n this.errorMessage = JSON.stringify(responseError);\n }\n break;\n }\n }\n }\n break;\n case 'not_found_error':\n this.errorMessage = 'Datos no encontrados (404).';\n break;\n case 'authentication_error':\n this.errorMessage = 'Error (401).';\n break;\n case 'malformed_request_error':\n this.errorMessage = 'Error al enviar los datos (400).';\n break;\n case 'api_error':\n this.errorMessage = 'Error interno (409).';\n break;\n default:\n this.errorMessage = JSON.stringify(responseError);\n break;\n }\n }\n }\n\n compareDate(year: number, month: number, day: number): number {\n const d1: Date = new Date(year, month, day);\n const d2: Date = new Date();\n\n const same = d1.getTime() === d2.getTime();\n if (same) { return 0; }\n if (d1 > d2) { return 1; }\n if (d1 < d2) { return -1; }\n }\n\n // Input controls\n onYearChange() {\n if (Number.isNaN(+this.yearText)) {\n setTimeout(() => {\n this.yearText = '';\n });\n }\n }\n\n onYearBlur(element: any) {\n if (this.compareDate(\n Number(`20${this.yearText}`),\n Number(this.monthText),\n new Date().getDate()) < 0) {\n setTimeout(() => {\n this.yearText = '';\n this.invalidDate = true;\n element.target.focus();\n });\n } else {\n this.invalidDate = false;\n }\n\n }\n\n onMonthLostFocus() {\n if (+this.monthText > 0 && !isNaN(+this.monthText)) {\n if (this.monthText === '1') {\n this.monthText = '01';\n }\n }\n }\n\n onMonthChange() {\n if (+this.monthText >= 0 && +this.monthText < 13 && !isNaN(+this.monthText)) {\n switch (this.monthText) {\n case '2': {\n this.monthText = '02';\n break;\n }\n case '3': {\n this.monthText = '03';\n break;\n }\n case '4': {\n this.monthText = '04';\n break;\n }\n case '5': {\n this.monthText = '05';\n break;\n }\n case '6': {\n this.monthText = '06';\n break;\n }\n case '7': {\n this.monthText = '07';\n break;\n }\n case '8': {\n this.monthText = '08';\n break;\n }\n case '9': {\n this.monthText = '09';\n break;\n }\n }\n } else {\n setTimeout(() => {\n this.monthText = '';\n });\n }\n }\n\n onCodeChange() {\n if (Number.isNaN(+this.cvcText)) {\n setTimeout(() => {\n this.cvcText = '';\n });\n }\n\n if (this.cvcText.search(' ') > -1) {\n setTimeout(() => {\n this.cvcText = '';\n });\n }\n }\n\n onDniChange() {\n if (Number.isNaN(+this.dniText)) {\n setTimeout(() => {\n this.dniText = '';\n });\n }\n\n if (this.dniText.search(' ') > -1) {\n setTimeout(() => {\n this.dniText = '';\n });\n }\n }\n\n onPayerNameChange() {\n if (!isNaN(+this.payerNameText)) {\n setTimeout(() => {\n this.payerNameText = '';\n });\n }\n }\n\n onCardChange() {\n if (Number.isNaN(+this.cardText)) {\n setTimeout(() => {\n this.cardText = '';\n });\n }\n\n if (this.cardText.search(' ') > -1) {\n setTimeout(() => {\n this.cardText = '';\n });\n }\n\n if(this.cardText.length <8) {\n this.disableSelect = true;\n this.issuer = null;\n } else {\n this.disableSelect = false;\n }\n\n // setea tarjeta\n if (this.cardText.length === 8 && this.cardText !== '00000000'){\n this.setCreditType(this.cardText);\n }\n \n }\n\n setCreditType(bin: string): void {\n if (bin.length < 8) {\n this.issuer = null;\n return;\n }\n\n if (bin.length === 8) {\n this.issuer = null;\n\n // visa debito\n if (bin.substring(0, 4) === '4770' ||\n bin.substring(0, 6) === '442548' ||\n bin.substring(0, 6) === '406809' ||\n bin.substring(0, 6) === '408738' ||\n bin.substring(0, 6) === '411521' ||\n bin.substring(0, 6) === '411663' ||\n bin.substring(0, 6) === '426359' ||\n bin.substring(0, 6) === '429780' ||\n bin.substring(0, 6) === '438267' ||\n bin.substring(0, 6) === '461187' ||\n bin.substring(0, 6) === '500334' ||\n bin.substring(0, 6) === '509413' ||\n bin.substring(0, 6) === '512285' ||\n bin.substring(0, 6) === '512881' ||\n bin.substring(0, 6) === '518635' ||\n bin.substring(0, 6) === '538449' ||\n bin.substring(0, 6) === '550553' ||\n bin.substring(0, 6) === '566057' ||\n bin.substring(0, 6) === '567933' ||\n bin.substring(0, 6) === '572140' ||\n bin.substring(0, 6) === '584257' ||\n bin.substring(0, 6) === '598718' ||\n bin.substring(0, 6) === '605801' ||\n bin.substring(0, 6) === '606120' ||\n bin.substring(0, 6) === '631057' ||\n bin.substring(0, 6) === '676215' ||\n bin.substring(0, 6) === '713274' ||\n bin.substring(0, 6) === '713284' ||\n bin.substring(0, 6) === '717515' ||\n bin.substring(0, 6) === '748761' ||\n bin.substring(0, 6) === '753371' ||\n bin.substring(0, 6) === '753600' ||\n bin.substring(0, 6) === '912394' ||\n bin.substring(0, 6) === '916148' ||\n bin.substring(0, 6) === '916773' ||\n bin.substring(0, 6) === '923405' ||\n bin.substring(0, 6) === '930965' ||\n bin.substring(0, 6) === '934091' ||\n bin.substring(0, 6) === '935761' ||\n bin.substring(0, 6) === '943313' ||\n bin.substring(0, 6) === '945721' ||\n bin.substring(0, 6) === '948809' ||\n bin.substring(0, 6) === '960644' ||\n bin.substring(0, 6) === '969085' ||\n bin.substring(0, 6) === '970167' ||\n bin.substring(0, 6) === '978061' ||\n bin.substring(0, 8) === '40267919' ||\n bin.substring(0, 8) === '40327176' ||\n bin.substring(0, 8) === '40416004' ||\n bin.substring(0, 8) === '40421933' ||\n bin.substring(0, 8) === '40451556' ||\n bin.substring(0, 8) === '40541010' ||\n bin.substring(0, 8) === '40623835' ||\n bin.substring(0, 8) === '40733469' ||\n bin.substring(0, 8) === '40733586' ||\n bin.substring(0, 8) === '40872498' ||\n bin.substring(0, 8) === '45007789' ||\n bin.substring(0, 8) === '45024822' ||\n bin.substring(0, 8) === '45034751' ||\n bin.substring(0, 8) === '45046987' ||\n bin.substring(0, 8) === '45060549' ||\n bin.substring(0, 8) === '45062482' ||\n bin.substring(0, 8) === '45070071' ||\n bin.substring(0, 8) === '45084708' ||\n bin.substring(0, 8) === '45091433' ||\n bin.substring(0, 8) === '45100902' ||\n bin.substring(0, 8) === '45103869' ||\n bin.substring(0, 8) === '45131047' ||\n bin.substring(0, 8) === '45168884' ||\n bin.substring(0, 8) === '45174306' ||\n bin.substring(0, 8) === '45184611' ||\n bin.substring(0, 8) === '45191921' ||\n bin.substring(0, 8) === '45201881' ||\n bin.substring(0, 8) === '45206401' ||\n bin.substring(0, 8) === '45245294' ||\n bin.substring(0, 8) === '45314944' ||\n bin.substring(0, 8) === '45317847' ||\n bin.substring(0, 8) === '45357409' ||\n bin.substring(0, 8) === '45374587' ||\n bin.substring(0, 8) === '45394705' ||\n bin.substring(0, 8) === '45456584' ||\n bin.substring(0, 8) === '45541924' ||\n bin.substring(0, 8) === '45545795' ||\n bin.substring(0, 8) === '45567746' ||\n bin.substring(0, 8) === '45583759' ||\n bin.substring(0, 8) === '45648838' ||\n bin.substring(0, 8) === '45672506' ||\n bin.substring(0, 8) === '45678421' ||\n bin.substring(0, 8) === '45710756' ||\n bin.substring(0, 8) === '45716006' ||\n bin.substring(0, 8) === '45725029' ||\n bin.substring(0, 8) === '45732113' ||\n bin.substring(0, 8) === '45732698' ||\n bin.substring(0, 8) === '45793917' ||\n bin.substring(0, 8) === '45841185' ||\n bin.substring(0, 8) === '45862021' ||\n bin.substring(0, 8) === '45915336' ||\n bin.substring(0, 8) === '45971496') {\n this.issuer = 31;\n }\n // mastercard\n else if (bin.substring(0, 2) === '51' ||\n bin.substring(0, 2) === '52' ||\n bin.substring(0, 2) === '53' ||\n bin.substring(0, 2) === '54' ||\n bin.substring(0, 2) === '55') {\n this.issuer = 104;\n }\n // tarjeta naranja\n else if (bin.substring(0, 6) === '589562') {\n this.issuer = 24;\n }\n // visa credito\n else if (bin.substring(0, 1) === '4') {\n this.issuer = 1;\n }\n\n this.selectedCreditCard();\n }\n }\n\n onPaste(): boolean {\n return false;\n }\n\n resetForm() {\n this.disabled = false;\n this.disableSelect = false;\n this.totalAmount\n this.totalFinancedAmount = undefined;\n this.currentTEA = undefined;\n this.currentCFT = undefined;\n // creditCards: CreditCard[];\n this.creditCards = undefined;\n this.selectCreditCardPlan = null;\n // creditCardPlans: CreditCardPlans[];\n this.creditCardPlans = undefined;\n this.paymentResult = { success: false, paymentId: '', integrator: 'DECIDIR' };\n \n // Form bind\n this.monthText = undefined;\n this.yearText = undefined;\n this.cvcText = undefined;\n this.dniText = undefined;\n this.payerNameText = undefined;\n this.cardText = undefined;\n this.submitPressed = false;\n this.invalidDate = false;\n \n this.decidir = undefined;\n this.addScript = true;\n \n this.paymentState = 'unsubmitted';\n this.payerName = undefined;\n this.issuer = null;\n this.payment = undefined;\n this.paymentSuccessInfo = undefined;\n this.errorMessage = undefined;\n\n this.initDecidir();\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { SpsDecidirComponent } from './components/sps-decidir.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n HttpClientModule,\n RouterModule\n ],\n declarations: [\n SpsDecidirComponent\n ],\n exports: [\n SpsDecidirComponent\n ]\n})\nexport class SpsDecidirModule { }\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { InitPayment, ResponseApi, Payment } from '../models/go-cuotas.models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class GoCuotasApiService {\r\n private authHeaders: HttpHeaders | undefined;\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n \r\n public normalizeUrl(url: string): string {\r\n if (url.length > 0 && url.charAt(url.length - 1) == '/') {\r\n url = url.substr(0, url.length - 1);\r\n }\r\n\r\n return url;\r\n }\r\n\r\n public initPayment(access_token: string, url: string, initPayment: InitPayment): Observable<ResponseApi> {\r\n this._setAuthHeaders(access_token); \r\n\r\n const body = {\r\n cardholder: initPayment.cardholder,\r\n creditCardHash: initPayment.creditCardHash,\r\n amount: initPayment.amount,\r\n installments: initPayment.installments,\r\n documentNumber: initPayment.documentNumber,\r\n areaCode: initPayment.areaCode,\r\n phoneNumber: initPayment.phoneNumber,\r\n email: initPayment.email,\r\n idVen: initPayment.idVen,\r\n storeId: initPayment.storeId,\r\n data: initPayment.data\r\n };\r\n\r\n return this.httpClient.post<ResponseApi>(this.normalizeUrl(url) + '/init-payment', body, { headers: this.authHeaders });\r\n }\r\n\r\n public getOrders(access_token: string, url: string): Observable<ResponseApi> {\r\n this._setAuthHeaders(access_token);\r\n return this.httpClient.get<ResponseApi>(this.normalizeUrl(url) + '/orders', { headers: this.authHeaders });\r\n }\r\n\r\n public payment(access_token: string, url: string, payment: Payment): Observable<ResponseApi> {\r\n this._setAuthHeaders(access_token);\r\n const body = {\r\n id: payment.id,\r\n cardholder: payment.cardholder,\r\n sale_token: payment.sale_token,\r\n code: payment.code,\r\n creditCardHash: payment.creditCardHash,\r\n cardMonthExpiration: payment.cardMonthExpiration,\r\n cardYearExpiration: payment.cardYearExpiration,\r\n cardSecurityCode: payment.cardSecurityCode,\r\n idVen: payment.idVen,\r\n storeId: payment.storeId,\r\n data: payment.data\r\n }\r\n\r\n return this.httpClient.post<ResponseApi>(this.normalizeUrl(url) + '/payment', body, { headers: this.authHeaders });\r\n }\r\n\r\n public getInstallments(url: string): Observable<ResponseApi> { \r\n return this.httpClient.get<ResponseApi>(this.normalizeUrl(url) + '/get-installments');\r\n }\r\n\r\n private _setAuthHeaders(access_token: string) {\r\n const userToken = 'Bearer ' + access_token;\r\n this.authHeaders = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': userToken });\r\n }\r\n}","import { Component, OnInit, EventEmitter, Output } from '@angular/core';\n\n@Component({\n selector: 'lib-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent implements OnInit {\n\n modalVisible: boolean = false;\n verificationCode: string = '';\n\n @Output() codeVerified = new EventEmitter<string>();\n\n constructor() { }\n\n ngOnInit() {\n this.verificationCode = ''; \n }\n\n openModal() {\n this.verificationCode = '';\n this.modalVisible = true;\n document.body.style.overflow = '';\n }\n\n closeModal() {\n this.modalVisible = false;\n document.body.style.overflow = 'hidden';\n }\n\n onSubmitCode() {\n if (this.verificationCode) {\n this.codeVerified.emit(this.verificationCode); // Emitir el código ingresado\n this.modalVisible = false; \n } else {\n alert('Por favor ingrese el código.');\n }\n }\n\n onVerificationCodeChange() {\n if (isNaN(+this.verificationCode)) {\n setTimeout(() => {\n this.verificationCode = '';\n });\n }\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { PaymentResult, ResponseApi, InitPayment, Payment } from '../models/go-cuotas.models';\nimport { GoCuotasApiService } from '../services/go-cuotas.api.service';\nimport { ModalComponent } from './modal/modal.component';\n\n@Component({\n selector: 'lib-go-cuotas',\n templateUrl: './go-cuotas.component.html',\n styleUrls: ['./go-cuotas.component.scss']\n})\nexport class GoCuotasComponent implements OnInit {\n\n @Input() accessToken!: string;\n @Input() gcUrlApi!: string;\n @Input() vkUrlApi!: string;\n @Input() paymentAmount!: string;\n @Input() logoGC!: string;\n @Input() idVen!: number;\n @Input() storeId!: string;\n @Input() data!: string;\n @Output() statusPay = new EventEmitter<PaymentResult>();\n\n defaultName!: string;\n mailText!: string;\n codAreaText!: string;\n telText!: string;\n cardText!: string;\n yearText!: string;\n monthText!: string;\n dniText!: string;\n cvcText!: string;\n installments!: number;\n defaultDocType!: string;\n currentInstallments!: any[];\n totalAmount!: number;\n OinitPayment!: InitPayment;\n Opayment!: Payment;\n sale_token: string = '';\n error_message: string = '';\n paymentCompleted: boolean = false; \n loadingMessage: string = 'Iniciando el pago...';\n paymentStatus = 'unsubmitted';\n\n disabled = false;\n disabledSelect = false;\n submitted = false;\n isLoading: boolean = false;\n hasError: boolean = false;\n\n // accessToken: string = '2569793-51e1725c-9334-4ea2-ada0-b0c87187443c';\n // url: string = 'https://sandbox.gocuotas.com/api/full_sale/v1/';\n\n paymentResult: PaymentResult = { success: false, paymentId: '', integrator: 'GOCUOTAS' };\n\n @ViewChild('f', { static: false }) checkOutForm!: NgForm;\n @ViewChild(ModalComponent, {static: false}) modal!: ModalComponent;\n\n constructor(\n private goCuotasApiService: GoCuotasApiService\n ) { }\n\n ngOnInit() {\n this.defaultDocType = '';\n this.installments = 0;\n\n this.getInstallments();\n\n this.totalAmount = Number(this.paymentAmount);\n }\n\n onSubmit(event: Event) {\n event.preventDefault();\n this.submitted = true;\n \n if (!this.checkOutForm.valid) { return; }\n\n this.isLoading = true;\n this.paymentCompleted = false;\n this.loadingMessage = 'Iniciando el pago...';\n this.paymentResult = { success: false, paymentId: '', integrator: 'GOCUOTAS' };\n\n \n this.OinitPayment = {\n amount: Number(this.paymentAmount) * 100,\n areaCode: this.codAreaText,\n installments: this.installments, \n documentNumber: this.dniText,\n phoneNumber: this.telText,\n email: this.mailText.toLowerCase(),\n cardholder: this.defaultName,\n creditCardHash: this.cardText,\n idVen: this.idVen,\n storeId: this.storeId,\n data: this.data\n }; \n\n this.initPayment();\n }\n\n initPayment() {\n this.isLoading = true;\n this.loadingMessage = 'Enviando código...';\n\n this.goCuotasApiService.initPayment(this.accessToken, this.vkUrlApi, this.OinitPayment)\n .subscribe({\n next: (v) => this.initPaymentResponseHandler(v),\n error: (v) => this.ResponseHandlerError(v)\n })\n }\n\n private initPaymentResponseHandler(response: ResponseApi) {\n if(!response.success) {\n this.error_message = response.errorsMessages[0];\n this.statusPay.emit(this.paymentResult);\n this.disabled = true;\n this.disabledSelect = true;\n\n return;\n }\n\n this.Opayment = {\n id: response.data.id,\n cardholder: this.defaultName,\n sale_token: response.data.response.sale_token,\n creditCardHash: this.cardText,\n cardMonthExpiration: Number(this.monthText),\n cardYearExpiration: Number(this.yearText),\n cardSecurityCode: this.cvcText,\n idVen: this.idVen,\n storeId: this.storeId,\n data: this.data\n };\n\n this.isLoading = false;\n this.disabled = true;\n this.disabledSelect = true;\n this.modal.openModal();\n this.paymentStatus = 'sentCode';\n }\n\n onCodeSent(code: string) {\n this.isLoading = true;\n this.loadingMessage = 'Procesando pago...';\n \n this.Opayment.code = Number(code);\n \n if(code !== null){\n this.finishPayment();\n }\n }\n\n public finishPayment() {\n this.paymentStatus = 'processing';\n\n this.goCuotasApiService.payment(this.accessToken, this.vkUrlApi, this.Opayment)\n .subscribe({\n next: (v) => this.FinishPaymentResponseHandler(v), \n error: (v) => this.ResponseHandlerError(v)\n });\n }\n\n private ResponseHandlerError(response: any) {\n this.paymentStatus = 'error';\n this.disabled = true;\n this.disabledSelect = true;\n this.statusPay.emit(this.paymentResult);\n\n if(!response.ok && response.error === null && response.status === 500){\n this.error_message = \"Error en el servidor. Vuelva a intentar más tarde.\";\n this.isLoading = false;\n this.hasError = true; \n\n return;\n }\n\n this.error_message = response.error.errorsMessages[0];\n this.isLoading = false;\n this.hasError = true; \n }\n\n private FinishPaymentResponseHandler(response: ResponseApi){\n this.paymentStatus = 'success';\n\n if(!response.success) {\n this.error_message = response.errorsMessages[0];\n this.statusPay.emit(this.paymentResult);\n\n return;\n } \n\n this.Opayment.paymentId = response.data.paymentId\n this.paymentResult = { success: true, paymentId: String(this.Opayment.paymentId) , integrator: 'GOGUOTAS' };\n this.statusPay.emit(this.paymentResult);\n this.loadingMessage = '¡Pago procesado correctamente!';\n this.paymentCompleted = true; \n }\n\n getInstallments() {\n this.goCuotasApiService.getInstallments(this.vkUrlApi)\n .subscribe({\n next: (v) => this.getInstallmentsResponseHandler(v), \n error: (v) => this.ResponseHandlerError(v)\n });\n }\n\n getInstallmentsResponseHandler(response: ResponseApi) {\n if(!response.success) {\n this.paymentStatus = 'error';\n this.error_message = \"Ocurrio un error al obtener el número de cuotas. Intente más tarde.\"\n this.hasError = true;\n this.disabled = true;\n this.disabledSelect = true;\n this.statusPay.emit(this.paymentResult);\n\n return;\n }\n\n this.currentInstallments = response.data\n }\n\n restartForm() {\n this.hasError = false;\n this.submitted = false;\n this.disabled = false;\n this.disabledSelect = false;\n this.paymentStatus = 'unsubmitted';\n this.checkOutForm.reset(); \n this.installments = 0;\n this.defaultDocType = '';\n }\n\n // Input controls\n onYearChange() {\n if (isNaN(+this.yearText)) { \n setTimeout(() => {\n this.yearText = '';\n });\n }\n }\n\n onMonthLostFocus() {\n if (+this.monthText > 0 && !isNaN(+this.monthText)) {\n if (this.monthText == '1') {\n this.monthText = '01';\n }\n }\n }\n\n onMonthChange() {\n if (+this.monthText >= 0 && +this.monthText < 13 && !isNaN(+this.monthText)) {\n switch (this.monthText) {\n case '2': {\n this.monthText = '02';\n break;\n }\n case '3': {\n this.monthText = '03';\n break;\n }\n case '4': {\n this.monthText = '04';\n break;\n }\n case '5': {\n this.monthText = '05';\n break;\n }\n case '6': {\n this.monthText = '06';\n break;\n }\n case '7': {\n this.monthText = '07';\n break;\n }\n case '8': {\n this.monthText = '08';\n break;\n }\n case '9': {\n this.monthText = '09';\n break;\n }\n }\n } else {\n setTimeout(() => {\n this.monthText = '';\n });\n }\n }\n\n onCodeChange() {\n if (isNaN(+this.cvcText)) {\n setTimeout(() => {\n this.cvcText = '';\n });\n }\n }\n\n onDniChange() {\n if (isNaN(+this.dniText)) {\n setTimeout(() => {\n this.dniText = '';\n });\n }\n }\n\n onMailChange() {\n if (!isNaN(+this.mailText)) {\n setTimeout(() => {\n this.mailText = '';\n });\n }\n }\n\n onCodAreaChange() {\n if (isNaN(+this.codAreaText)) {\n setTimeout(() => {\n this.codAreaText = '';\n });\n }\n }\n\n onTelChange() {\n if (isNaN(+this.telText)) {\n setTimeout(() => {\n this.telText = '';\n });\n }\n }\n\n onPayerNameChange() {\n if (!isNaN(+this.defaultName)) {\n setTimeout(() => {\n this.defaultName = '';\n });\n }\n }\n\n onCardChange() {\n if (isNaN(+this.cardText)) {\n setTimeout(() => {\n this.cardText = '';\n });\n }\n }\n\n onInstallmentsChange() {\n //console.log('cuotas seleccionadas' ,this.installments)\n }\n\n onPaste(): boolean {\n return false;\n }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GoCuotasComponent } from './components/go-cuotas.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { GoCuotasApiService } from './services/go-cuotas.api.service';\nimport { ModalComponent } from './components/modal/modal.component';\n\nconst COMPONENTS = [\n GoCuotasComponent,\n ModalComponent\n]\n\n@NgModule({\n declarations: [\n COMPONENTS \n ],\n exports: [\n COMPONENTS\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule\n ],\n providers: [\n GoCuotasApiService\n ]\n})\nexport class GoCuotasModule { }\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { CreatePaymentRequest, PaymentResponse } from '../models/modo.models';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModoApiService {\n private authHeaders: HttpHeaders | undefined;\n\n constructor(private http: HttpClient) { }\n\n createPayment(accessToken: string, paymentRequest: CreatePaymentRequest,apiUrl: string): Observable<PaymentResponse> {\n this._setAuthHeaders(accessToken); \n return this.http.post<PaymentResponse>(`${apiUrl}create-payment`, paymentRequest, { headers: this.authHeaders });\n }\n\n private _setAuthHeaders(accessToken: string) {\n const userToken = 'Bearer ' + accessToken;\n this.authHeaders = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': userToken });\n }\n}","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ModoApiService } from '../../services/modo-api.service';\nimport { CreatePaymentRequest } from '../../models/modo.models';\n\n// Declara la variable global del SDK\ndeclare var ModoSDK: any;\n\ntype ExecutionEnvironment = 'desktop' | 'mobile-browser' | 'native-app';\n\n@Component({\n selector: 'vk-modo-payment',\n templateUrl: './modo.component.html',\n styleUrls: ['./modo.component.scss']\n})\nexport class ModoComponent implements OnInit {\n\n @Input() accessToken!: string;\n @Input() storeId: string;\n @Input() idVen: number;\n @Input() data: string;\n @Input() amount: number;\n @Input() orderId: string;\n @Input() mobileAppEnv: string;\n @Input() vkUrlApi: string;\n @Input() callbackUrl: string;\n @Input() callbackUrlSuccess: string;\n @Output() statusPay = new EventEmitter<{ success: boolean; paymentId: string }>();\n\n isLoading = false;\n private executionEnv: ExecutionEnvironment = 'desktop';\n private devicePlatform: 'iOS' | 'Android' | undefined;\n private deeplinkURL: string;\n\n constructor(\n private modoApi: ModoApiService\n ) { }\n\n ngOnInit(): void {\n this.detectEnvironment();\n if (this.executionEnv === 'desktop') {\n this.loadModoScript();\n }\n }\n\n private detectEnvironment(): void {\n try {\n if (this.mobileAppEnv === 'iOS' || this.mobileAppEnv === 'Android') {\n this.executionEnv = 'native-app';\n this.devicePlatform = this.mobileAppEnv;\n console.log(`MODO Payment: Entorno detectado -> Nativo (${this.devicePlatform || 'app'})`);\n return;\n }\n } catch (error) {\n console.warn('MODO Payment: No se pudo leer los parámetros de la ruta. Se continuará con la detección por User Agent.');\n }\n\n const userAgent = navigator.userAgent || navigator.vendor || (window as any).opera;\n if (/android/i.test(userAgent) || /iPad|iPhone|iPod/.test(userAgent)) {\n this.executionEnv = 'mobile-browser';\n console.log('MODO Payment: Entorno detectado -> Navegador Móvil');\n } else {\n this.executionEnv = 'desktop';\n console.log('MODO Payment: Entorno detectado -> Desktop');\n }\n }\n\n async startModoPayment(): Promise<void> {\n this.isLoading = true;\n\n try {\n const initialData = await this.createModoPayment();\n this.deeplinkURL = this.createDeeplinkURL(initialData);\n switch (this.executionEnv) {\n case 'native-app':\n // Llama a la función nativa para abrir en un navegador externo\n this.openOnNativeNavigator(this.deeplinkURL);\n this.statusPay.emit({ success: true, paymentId: initialData.checkoutId });\n break;\n case 'mobile-browser':\n // Abre el deeplink en una nueva pestaña\n window.open(this.deeplinkURL, '_blank');\n this.statusPay.emit({ success: true, paymentId: initialData.checkoutId });\n break;\n case 'desktop':\n default:\n // Abrir el modal del SDK\n this.initModoSdkModal(initialData);\n break;\n }\n\n \n } catch (error) {\n this.isLoading = false;\n this.statusPay.emit({ success: false, paymentId: '' });\n console.error(\"Error al iniciar el pago con MODO\", error);\n }\n }\n\n private createDeeplinkURL(initialData: { qrString: string; checkoutId: string; deeplink: string }): string{\n return initialData.deeplink + '?qr=' + initialData.qrString + \n '&callback=' + this.callbackUrl + '&callbackSuccess='+ this.callbackUrlSuccess \n +'&paymentRequestId=' + initialData.checkoutId;\n }\n\n private openOnNativeNavigator(url: string): void {\n try {\n if (this.devicePlatform === 'iOS') {\n (window as any).webkit.messageHandlers.externalURL.postMessage(url);\n } else if (this.devicePlatform === 'Android') {\n (window as any).externalURL.postMessage(url);\n } else {\n // Fallback si por alguna razón no se detectó la plataforma pero sí el entorno nativo\n window.open(url, '_blank');\n }\n } catch (e) {\n console.error('Error al intentar invocar el message handler nativo:', e);\n }\n }\n\n private initModoSdkModal(initialData: { qrString: string; checkoutId: string; deeplink: string }): void {\n\n const modalObject = {\n version: '2',\n qrString: initialData.qrString,\n checkoutId: initialData.checkoutId,\n deeplink: {\n url: initialData.deeplink,\n callbackURL: this.callbackUrl,\n callbackURLSuccess: this.callbackUrlSuccess\n },\n\n callbackURL: this.callbackUrl,\n\n refreshData: () => this.createModoPayment(),\n\n onSuccess: () => {\n this.statusPay.emit({ success: true, paymentId: initialData.checkoutId });\n },\n onFailure: () => {\n this.statusPay.emit({ success: false, paymentId: initialData.checkoutId });\n },\n onCancel: () => {\n console.log('Pago cancelado por el usuario en el celular.');\n },\n onClose: () => {\n console.log('Modal de MODO cerrado.');\n },\n };\n\n // 3. Inicia el SDK de MODO\n ModoSDK.modoInitPayment(modalObject);\n\n }\n\n\n private async createModoPayment(): Promise<{ qrString: string; checkoutId: string; deeplink: string }> {\n const paymentRequest: CreatePaymentRequest = {\n amount: this.amount,\n orderId: this.orderId,\n storeId: this.storeId,\n idVen: this.idVen,\n data: this.data\n };\n\n const response = await this.modoApi.createPayment(this.accessToken, paymentRequest, this.vkUrlApi).toPromise();\n\n if (response.success && response.data) {\n return {\n qrString: response.data.qrString,\n checkoutId: response.data.internalPaymentId,\n deeplink: response.data.deeplink\n };\n } else {\n throw new Error('La respuesta de la API no fue exitosa.');\n }\n }\n\n private loadModoScript(): void {\n const scriptUrl = 'https://ecommerce-modal.modo.com.ar/bundle.js';\n if (!document.querySelector(`script[src=\"${scriptUrl}\"]`)) {\n const script = document.createElement('script');\n script.src = scriptUrl;\n document.body.appendChild(script);\n }\n }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { ModoComponent } from './components/modo/modo.component';\n\n@NgModule({\n declarations: [\n ModoComponent\n ],\n imports: [\n CommonModule,\n HttpClientModule\n ],\n exports: [\n ModoComponent\n ]\n})\nexport class ModoModule { }","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { BankTransferPaymentRequest, BankTransferPaymentResponse } from '../models/bank-transfer.models';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BankTransferApiService {\n\n constructor(private http: HttpClient) { }\n\n public createPayment(accessToken: string, request: BankTransferPaymentRequest, vkApiUrl: string): Observable<BankTransferPaymentResponse> {\n const headers = new HttpHeaders({\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${accessToken}`\n });\n\n // Construimos la URL agregando la rute del Controller de BankTransfer\n const url = `${vkApiUrl}payments/BankTransfer/create-payment`;\n\n return this.http.post<BankTransferPaymentResponse>(url, request, { headers });\n }\n}","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { BankTransferPaymentRequest, BankTransferPaymentResult } from '../models/bank-transfer.models';\nimport { BankTransferApiService } from '../services/bank-transfer.api.service';\n\n@Component({\n selector: 'vk-bank-transfer',\n templateUrl: './bank-transfer.component.html',\n styleUrls: ['./bank-transfer.component.scss']\n})\nexport class BankTransferComponent implements OnInit {\n\n @Input() accessToken!: string;\n @Input() vkUrlApi!: string;\n @Input() amount!: number;\n @Input() storeId!: string;\n @Input() storeName!: string;\n @Input() checkoutId!: number;\n \n @Output() statusPay = new EventEmitter<BankTransferPaymentResult>();\n\n public paymentForm: FormGroup;\n public isLoading: boolean = false;\n public errorMessage: string = '';\n\n constructor(private bankTransferApi: BankTransferApiService) {\n this.paymentForm = new FormGroup({\n cuit: new FormControl('', [\n Validators.required, \n Validators.minLength(11), \n Validators.maxLength(11), \n Validators.pattern('^[0-9]*$')\n ]),\n });\n }\n\n ngOnInit(): void {\n }\n\n public onSubmit(): void {\n if (this.paymentForm.invalid) {\n this.paymentForm.markAllAsTouched();\n return;\n }\n\n this.isLoading = true;\n this.errorMessage = '';\n\n const cuitControl = this.paymentForm.get('cuit');\n const cuitValue = cuitControl ? cuitControl.value : '';\n\n const request: BankTransferPaymentRequest = {\n cuit: cuitValue.toString(),\n checkoutId: this.checkoutId,\n storeName: this.storeName || 'Tienda VK',\n storeId: this.storeId\n };\n\n this.bankTransferApi.createPayment(this.accessToken, request, this.vkUrlApi).subscribe(\n (response) => {\n this.isLoading = false;\n \n if (response && response.success) {\n // Exito!\n this.statusPay.emit({\n success: true,\n paymentId: (response.data && response.data.bankTransferEcommId) ? response.data.bankTransferEcommId : '',\n integrator: 'BANK_TRANSFER'\n });\n } else {\n // El API respondió HTTP 200 pero success: false\n this.errorMessage = (response.errorsMessages && response.errorsMessages.length > 0) ? response.errorsMessages[0] : 'Ocurrió un error al registrar la transferencia.';\n this.statusPay.emit({\n success: false,\n paymentId: '',\n integrator: 'BANK_TRANSFER'\n });\n }\n },\n (error) => {\n // Error HTTP (500, 400, etc)\n this.isLoading = false;\n this.errorMessage = (error && error.error && error.error.errorsMessages && error.error.errorsMessages.length > 0) ? error.error.errorsMessages[0] : 'Ocurrió un error de conexión al registrar la transferencia.';\n this.statusPay.emit({\n success: false,\n paymentId: '',\n integrator: 'BANK_TRANSFER'\n });\n console.error('Error BankTransferApiService:', error);\n }\n );\n }\n\n // Helper para validación visual en el template\n public get cuitControl() {\n return this.paymentForm.get('cuit');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { HttpClientModule } from '@angular/common/http';\nimport { BankTransferComponent } from './components/bank-transfer.component';\nimport { BankTransferApiService } from './services/bank-transfer.api.service';\n\n@NgModule({\n declarations: [\n BankTransferComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule\n ],\n exports: [\n BankTransferComponent\n ],\n providers: [\n BankTransferApiService\n ]\n})\nexport class BankTransferModule { }\n","import { NgModule } from '@angular/core';\n\nimport { MercadopagoModule } from './mercadopago/mercadopago.module';\nimport { PaypalModule } from './paypal/paypal.module';\nimport { SpsDecidirModule } from './sps-decidir/sps-decidir.module';\nimport { GoCuotasModule } from './go-cuotas/go-cuotas.module';\nimport { ModoModule } from './modo/modo.module';\nimport { BankTransferModule } from './bank-transfer/bank-transfer.module';\n\nconst LIB_MODULES = [\n MercadopagoModule,\n SpsDecidirModule,\n PaypalModule,\n GoCuotasModule,\n ModoModule,\n BankTransferModule\n];\n\n@NgModule({\n imports: LIB_MODULES,\n exports: LIB_MODULES\n})\nexport class VkPaymentsModule { }\n"],"names":["HttpHeaders","Injectable","HttpClient","EventEmitter","tslib_1.__values","Component","Router","Input","Output","ViewChild","NgModule","CommonModule","FormsModule","ReactiveFormsModule","RouterModule","HttpClientModule","COMPONENTS","FormGroup","FormControl","Validators"],"mappings":"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CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC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"}
1
+ {"version":3,"file":"vk-payments.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://vk-payments/lib/mercadopago/services/mercadopago.api.service.ts","ng://vk-payments/lib/mercadopago/components/mercadopago.component.ts","ng://vk-payments/lib/mercadopago/components/promotion-bank.component.ts","ng://vk-payments/lib/mercadopago/mercadopago.module.ts","ng://vk-payments/lib/paypal/components/paypal-new.component.ts","ng://vk-payments/lib/paypal/paypal.module.ts","ng://vk-payments/lib/sps-decidir/services/sps-decidir.api.service.ts","ng://vk-payments/lib/sps-decidir/components/sps-decidir.component.ts","ng://vk-payments/lib/sps-decidir/sps-decidir.module.ts","ng://vk-payments/lib/go-cuotas/services/go-cuotas.api.service.ts","ng://vk-payments/lib/go-cuotas/components/modal/modal.component.ts","ng://vk-payments/lib/go-cuotas/components/go-cuotas.component.ts","ng://vk-payments/lib/go-cuotas/go-cuotas.module.ts","ng://vk-payments/lib/modo/services/modo-api.service.ts","ng://vk-payments/lib/modo/components/modo/modo.component.ts","ng://vk-payments/lib/modo/modo.module.ts","ng://vk-payments/lib/bank-transfer/services/bank-transfer.api.service.ts","ng://vk-payments/lib/bank-transfer/components/bank-transfer.component.ts","ng://vk-payments/lib/bank-transfer/bank-transfer.module.ts","ng://vk-payments/lib/vk-payments.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { CardPayment } from '../models/mercadopago.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MercadopagoApiService {\r\n private authHeaders: HttpHeaders;\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n makePayment(cardPayment: CardPayment, access_token: string, url: string): Observable<any> {\r\n this._setAuthHeaders(access_token);\r\n return this.httpClient.post(this.normalizeUrl(url) + '/Payment', cardPayment, { headers: this.authHeaders });\r\n }\r\n\r\n getMercadoPagoPromotions(url: string): Observable<any> {\r\n return this.httpClient.get(url);\r\n }\r\n\r\n normalizeUrl(url: string): string {\r\n if (url.length > 0 && url.charAt(url.length - 1) == '/') {\r\n url = url.substr(0, url.length - 1);\r\n }\r\n return url;\r\n }\r\n\r\n private _setAuthHeaders(access_token: string) {\r\n const userToken = 'Bearer ' + access_token;\r\n this.authHeaders = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': userToken });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { Router } from '@angular/router';\n\nimport { CardPayment, CreateTokenResponse, PaymentResult, ResponseInstallment } from '../models/mercadopago.model';\nimport { MercadopagoApiService } from '../services/mercadopago.api.service';\nimport sha256 from 'sha256';\n\n\ndeclare var Mercadopago: any;\n\n@Component({\n selector: 'mp-form-pay',\n templateUrl: './mercadopago.component.html',\n styleUrls: ['./mercadopago.component.scss']\n})\nexport class MercadoPagoComponent implements OnInit, OnChanges {\n\n totalAmount: number;\n totalFinancedAmount: number;\n currentBin: string;\n recommendedLabel: string;\n currentTEA: string;\n currentCFT: string;\n ticket: string;\n defaultName: string;\n defaultDocType: string;\n issuerId: string;\n currentPaymentMethod: any;\n currentIssuers: any[];\n currentInstallments: any[];\n cardPayment: CardPayment;\n\n // input bind\n yearText: string;\n monthText: string;\n dniText: string;\n cvcText: string;\n cardText: string;\n errorMessage: string;\n\n paymentState = 'unsubmitted';\n tokenId = '';\n disabled = false;\n addScript = false;\n requiredIssuer = false;\n submitted = false;\n\n paymentResult: PaymentResult = { success: false, paymentId: '', integrator: 'MP' };\n\n @Input() paymentAmount: number;\n @Input() payerName: string;\n @Input() payerEmail: string;\n @Input() accessToken: string;\n @Input() vkUrlApi: string;\n @Input() description: string;\n @Input() publishableKey: string;\n @Input() successUrl: string;\n @Input() failureUrl: string;\n @Input() imgCreditCards: string;\n @Input() imgMercadoPago: string;\n @Input() iconExpandMore: string;\n @Input() debugLog: boolean;\n @Input() storeId: string;\n @Input() idVen: number;\n @Input() data: string;\n @Output() statusPay = new EventEmitter<PaymentResult>();\n\n @ViewChild('f', { static: false }) checkOutForm: NgForm;\n\n constructor(private router: Router, private mercadopagoApiService: MercadopagoApiService) { }\n\n ngOnInit() {\n this.initMercadoPago();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!changes.paymentAmount.isFirstChange()) {\n this.disabled = false;\n this.checkOutForm.reset();\n }\n }\n\n private initMercadoPago() {\n this.addMercadopagoScript()\n .then(() => {\n Mercadopago.setPublishableKey(this.publishableKey);\n Mercadopago.getIdentificationTypes();\n\n this.totalAmount = this.paymentAmount;\n this.defaultName = this.payerName;\n this.defaultDocType = 'DNI';\n });\n }\n\n private addMercadopagoScript() {\n this.addScript = true;\n return new Promise((resolve, reject) => {\n const scripttagElement = document.createElement('script');\n scripttagElement.src = 'https://secure.mlstatic.com/sdk/javascript/v1/mercadopago.js?2345';\n scripttagElement.onload = resolve;\n document.body.appendChild(scripttagElement);\n });\n }\n\n private createToken(sendForm: any) {\n this.paymentState = 'processing';\n Mercadopago.createToken(sendForm, (status, response: any) => {\n \n if (status !== 200 && status !== 201) {\n this.paymentState = 'error';\n this.statusPay.emit(this.paymentResult);\n this.errorMessage = 'Revisa los datos del formulario.';\n // const causes: Cause[] = (response as ErrorTokenResponse).cause;\n // if (causes !== null && causes.length > 0) {\n // causes.forEach((item) => {\n // this.errorMessage += this.getErrorMessage(item.code) + '\\n';\n // });\n // }\n } else {\n this.tokenId = (response as CreateTokenResponse).id;\n this.makePayment();\n }\n });\n }\n\n private makePayment() {\n const hashedCard = this.hashText(this.cardText,100000);\n this.cardPayment = {\n tokenId: this.tokenId,\n transactionAmount: this.totalAmount,\n description: this.description,\n installments: Number(this.checkOutForm.value.installments),\n issuerId: this.checkOutForm.value.issuer,\n paymentMethodId: this.currentPaymentMethod[0].id,\n codCP: this.idVen,\n docNumber: this.checkOutForm.value.docNumber,\n additionalData: this.data,\n storeId: this.storeId,\n hash: hashedCard\n };\n this.mercadoPagoPayment();\n }\n\n private hashText(text: string, iterations:number): string{\n let hashedtext = text;\n for (let i = 0; i < iterations; i++) {\n hashedtext = sha256(hashedtext);\n }\n return hashedtext\n }\n\n private paymentResponseHandler(response: any) {\n if (response.success) {\n this.paymentState = response.data.statusDetails;\n this.ticket = response.data.transactionId;\n this.paymentResult = { success: true, paymentId: this.ticket, integrator: 'MP' };\n this.statusPay.emit(this.paymentResult);\n this.disabled = true;\n\n this.logger('paymentResponseHandler:', response);\n if (this.successUrl && this.successUrl.length > 0) {\n this.router.navigate([`${this.successUrl}`]);\n }\n } else {\n this.paymentState = 'apiError';\n this.statusPay.emit(this.paymentResult);\n if (this.successUrl && this.failureUrl.length > 0) {\n this.router.navigate([`${this.failureUrl}`]).then();\n }\n }\n }\n\n checkPaymentMethod() {\n if (this.checkOutForm.value.cardNumber != null) {\n this.currentInstallments = null;\n this.currentIssuers = null;\n if (this.checkOutForm.value.cardNumber.toString().length >= 6) {\n this.currentBin = this.checkOutForm.value.cardNumber.toString().substring(0, 6);\n const self = this;\n Mercadopago.getPaymentMethod(\n {\n 'bin': this.checkOutForm.value.cardNumber.toString()\n }, function (respCode, respBody) {\n if (respCode === 200) {\n self.setCurrentMethod(respBody);\n }\n });\n }\n if (this.checkOutForm.value.cardNumber.toString().length < 6) {\n this.requiredIssuer = false;\n }\n }\n }\n\n setCurrentMethod(res: any) {\n if (res) {\n this.logger('setCurrentMethod:', res);\n\n const additionalInfo: String[] = res[0].additional_info_needed;\n const issuerIdKey = 'issuer_id';\n\n if (additionalInfo.find(x => x == issuerIdKey) == undefined) {\n this.requiredIssuer = false;\n }\n else {\n this.requiredIssuer = true;\n }\n \n this.logger('requiredIssuer:', this.requiredIssuer);\n\n this.currentPaymentMethod = res;\n const self = this;\n Mercadopago.getIssuers(res[0].id, function (respCode, respBody) {\n if (respCode === 200) {\n self.setIssuers(respBody);\n }\n });\n\n self.checkInstallments(this.requiredIssuer);\n }\n }\n\n checkInstallments(requiredIssuer: boolean) {\n if (this.currentBin == undefined || this.currentBin.length < 6) {\n return;\n }\n const self = this;\n self.currentInstallments = null;\n\n let requestObject:any\n \n if (requiredIssuer) {\n requestObject = {\n 'bin': this.currentBin,\n 'amount': this.totalAmount,\n 'issuer_id': this.issuerId\n } \n }\n else {\n requestObject = {\n 'bin': this.currentBin,\n 'amount': this.totalAmount\n } \n }\n\n Mercadopago.getInstallments(requestObject, function (respCode, respBody) {\n if (respCode === 200) {\n self.setInstallments(respBody);\n } else {\n self.currentInstallments = null;\n }\n });\n }\n\n setInstallments(res: ResponseInstallment[]) {\n //this.logger('setInstallments:', res);\n\n if (res.length > 0) {\n if (this.issuerId != undefined && res.length > 1 && this.currentPaymentMethod.length > 0) {\n const result = res.filter(card => card.issuer.id === this.issuerId && card.payment_method_id === this.currentPaymentMethod[0].id);\n this.currentInstallments = result[0].payer_costs;\n this.issuerId = result[0].issuer.id;\n }\n else {\n this.currentInstallments = res[0].payer_costs;\n this.issuerId = res[0].issuer.id;\n }\n }\n }\n\n setIssuers(res: any) {\n //this.logger('setIssuers res', res);\n this.currentIssuers = res;\n }\n\n onDuesSelection(res: any) {\n for (const ins of this.currentInstallments) {\n if (ins.installments === Number(res.value.installments)) {\n this.totalFinancedAmount = ins.total_amount;\n for (const label of ins.labels) {\n if (label.includes('CFT')) {\n this.recommendedLabel = label.replace(/_/g, ': ').split('|', 2);\n this.currentTEA = this.recommendedLabel[1];\n this.currentCFT = this.recommendedLabel[0];\n }\n }\n }\n }\n }\n\n onSubmit(form: NgForm) {\n this.submitted = true;\n this.paymentResult = { success: false, paymentId: '', integrator: 'MP' };\n if (this.checkOutForm.valid) {\n const sendForm = {\n cardNumber: this.cardText,\n securityCode: this.cvcText,\n cardExpirationMonth: this.monthText,\n cardExpirationYear: this.yearText,\n cardholderName: this.defaultName,\n docType: this.defaultDocType,\n docNumber: this.dniText\n };\n\n if (this.debugLog) {\n console.log('sendForm', sendForm);\n }\n\n if (this.tokenId !== '') {\n Mercadopago.clearSession();\n }\n\n this.createToken(sendForm);\n }\n }\n\n // Input controls\n onYearChange() {\n if (isNaN(+this.yearText)) {\n setTimeout(() => {\n this.yearText = '';\n });\n }\n }\n\n onMonthLostFocus() {\n if (+this.monthText > 0 && !isNaN(+this.monthText)) {\n if (this.monthText == '1') {\n this.monthText = '01';\n }\n }\n }\n\n onMonthChange() {\n if (+this.monthText >= 0 && +this.monthText < 13 && !isNaN(+this.monthText)) {\n switch (this.monthText) {\n case '2': {\n this.monthText = '02';\n break;\n }\n case '3': {\n this.monthText = '03';\n break;\n }\n case '4': {\n this.monthText = '04';\n break;\n }\n case '5': {\n this.monthText = '05';\n break;\n }\n case '6': {\n this.monthText = '06';\n break;\n }\n case '7': {\n this.monthText = '07';\n break;\n }\n case '8': {\n this.monthText = '08';\n break;\n }\n case '9': {\n this.monthText = '09';\n break;\n }\n }\n } else {\n setTimeout(() => {\n this.monthText = '';\n });\n }\n }\n\n onCodeChange() {\n if (isNaN(+this.cvcText)) {\n setTimeout(() => {\n this.cvcText = '';\n });\n }\n }\n onDniChange() {\n if (isNaN(+this.dniText)) {\n setTimeout(() => {\n this.dniText = '';\n });\n }\n }\n\n onPayerNameChange() {\n if (!isNaN(+this.defaultName)) {\n setTimeout(() => {\n this.defaultName = '';\n });\n }\n }\n\n onCardChange() {\n if (isNaN(+this.cardText)) {\n setTimeout(() => {\n this.cardText = '';\n });\n }\n }\n\n onPaste(): boolean {\n return false;\n }\n\n logger(message: string, data: any): void {\n if (this.debugLog) {\n console.log(message, JSON.stringify(data));\n }\n }\n\n mercadoPagoPayment(){\n this.mercadopagoApiService.makePayment(this.cardPayment, this.accessToken, this.vkUrlApi)\n .subscribe(res => {\n this.paymentResponseHandler(res);\n }, error => {\n this.statusPay.emit(this.paymentResult);\n this.paymentState = 'apiError';\n console.log(error);\n });\n }\n\n resetForm() {\n this.disabled = false;\n this.totalAmount\n this.totalFinancedAmount = undefined;\n this.currentBin = undefined;\n this.recommendedLabel = undefined;\n this.currentTEA = undefined;\n this.currentCFT = undefined;\n this.ticket = undefined;\n this.defaultName = undefined;\n this.defaultDocType = undefined;\n this.issuerId = undefined;\n this.currentPaymentMethod = undefined;\n this.currentIssuers = null;\n this.currentInstallments = null;\n this.cardPayment = undefined;\n\n this.paymentResult = { success: false, paymentId: '', integrator: 'MP' };\n \n // Form bind\n this.monthText = undefined;\n this.yearText = undefined;\n this.cvcText = undefined;\n this.dniText = undefined;\n this.cardText = undefined;\n this.requiredIssuer = false;\n this.submitted = false;\n this.addScript = false;\n this.paymentState = 'unsubmitted';\n this.payerName = undefined;\n this.tokenId = '';\n this.errorMessage = undefined;\n\n this.checkOutForm.reset()\n\n this.initMercadoPago();\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { MercadopagoApiService } from '../services/mercadopago.api.service';\r\n\r\n\r\n@Component({\r\n selector: 'mp-promotion',\r\n templateUrl: './promotion-bank.component.html',\r\n styleUrls: ['./promotion-bank.component.scss']\r\n})\r\nexport class PromotionBankComponent implements OnInit {\r\n @Input() url: string;\r\n @Input() contentSource: string;\r\n\r\n cardPromotions: any;\r\n\r\n constructor(private mercadoPagoService: MercadopagoApiService) { }\r\n\r\n ngOnInit() {\r\n this.mercadoPagoService\r\n .getMercadoPagoPromotions(this.url)\r\n .subscribe(res => this.cardPromotions = res);\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { MercadoPagoComponent } from './components/mercadopago.component';\nimport { PromotionBankComponent } from './components/promotion-bank.component';\n\nconst COMPONENTS = [\n MercadoPagoComponent,\n PromotionBankComponent\n];\n\n@NgModule({\n declarations: COMPONENTS,\n exports: COMPONENTS,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule\n ]\n})\nexport class MercadopagoModule { }\n","import { AfterViewChecked, Component, Input, OnInit } from '@angular/core';\n\nimport { PaypalResponse } from '../models/response-paypal.model';\n\ndeclare let paypal: any;\n\n@Component({\n selector: 'paypal-new-form-pay',\n templateUrl: './paypal-new.component.html',\n styleUrls: ['./paypal-new.component.scss']\n})\nexport class PayPalNewComponent implements OnInit, AfterViewChecked {\n @Input() accessToken: string;\n @Input() clientId: string;\n @Input() vkUrlApi: string;\n @Input() storeId: string;\n @Input() userId: string;\n @Input() transactionId: string;\n @Input() amount: string;\n @Input() currency: string;\n @Input() cancelUrl: string;\n @Input() successUrl: string;\n @Input() data: string;\n @Input() urlSignout: string;\n\n private addScript = false;\n\n errorsMessage: any;\n\n showError = false;\n loading = true;\n status = '';\n linkToPay = '';\n linkExecutePay = '';\n\n constructor() {\n // if (this.urlSignout === '') {\n // const wnd = window.open(this.urlSignout, 'myWindow', 'width=100,height=100');\n // setTimeout(function () { wnd.close(); }, 1000);\n // }\n }\n\n ngOnInit(): void {\n\n }\n\n ngAfterViewChecked(): void {\n if (!this.addScript) {\n this.addPaypalScript().then(() => {\n\n const paypalConfig = {\n style: {\n color: 'blue',\n shape: 'pill',\n label: 'pay',\n height: 40\n },\n commit: true,\n createOrder: function (data, actions) {\n return actions.order.create({\n purchase_units: [{\n amount: { value: (<HTMLInputElement>document.getElementById('amount')).value },\n reference_id: '\\'' + (<HTMLInputElement>document.getElementById('transactionId')).value + '\\'',\n custom_id: '\\'' + (<HTMLInputElement>document.getElementById('storeId')).value + '\\''\n }],\n application_context: {\n shipping_preference: 'NO_SHIPPING'\n }\n });\n },\n\n // Finalize the transaction\n onApprove: function (data, actions) {\n return actions.order.capture().then(function (details: PaypalResponse) {\n details.data = (<HTMLInputElement>document.getElementById('data')).value;\n details.userid = (<HTMLInputElement>document.getElementById('userId')).value;\n\n fetch((<HTMLInputElement>document.getElementById('vkUrlApi')).value, {\n method: 'post',\n headers: {\n 'content-type': 'application/json',\n 'Authorization': 'Bearer ' + (<HTMLInputElement>document.getElementById('accessToken')).value\n },\n body: JSON.stringify({ details })\n }).then((response) => {\n console.log('response-> api', response);\n }).then(() => {\n window.location.href = (<HTMLInputElement>document.getElementById('successUrl')).value;\n });\n });\n },\n onError: function (error) {\n window.location.reload();\n },\n onCancel: (data, actions) => {\n window.location.href = (<HTMLInputElement>document.getElementById('cancelUrl')).value;\n }\n };\n\n paypal.Buttons(paypalConfig).render('#paypal-button-container');\n this.loading = false;\n });\n }\n }\n\n private addPaypalScript() {\n this.addScript = true;\n return new Promise((resolve, reject) => {\n const scripttagElement = document.createElement('script');\n scripttagElement.src = `https://www.paypal.com/sdk/js?client-id=${this.clientId}&currency=${this.currency}`;\n scripttagElement.onload = resolve;\n document.body.appendChild(scripttagElement);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { PayPalNewComponent } from './components/paypal-new.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n HttpClientModule,\n RouterModule\n ],\n declarations: [\n PayPalNewComponent\n ],\n exports: [\n PayPalNewComponent\n ]\n})\nexport class PaypalModule { }\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { CreditCard, CreditCardPlans, Payment, ResponseApi } from '../models/payment.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SpsDecidirApiService {\r\n private authHeaders: HttpHeaders;\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n public makePayment(payment: Payment, access_token: string, url: string): Observable<any> {\r\n this._setAuthHeaders(access_token);\r\n return this.httpClient.post(this.normalizeUrl(url) + '/Payment', payment, { headers: this.authHeaders });\r\n }\r\n\r\n public getDecidirConfigByBin(bin: string, url: string,): Observable<any> {\r\n return this.httpClient.get<ResponseApi>(this.normalizeUrl(url) +`/GetDecidirConfigByBin?bin=${bin}`);\r\n }\r\n\r\n\r\n public normalizeUrl(url: string): string {\r\n if (url.length > 0 && url.charAt(url.length - 1) == '/') {\r\n url = url.substr(0, url.length - 1);\r\n }\r\n return url;\r\n }\r\n\r\n public getCreditCards(access_token: string, url: string, domainId: number): Observable<ResponseApi> {\r\n this._setAuthHeaders(access_token);\r\n return this.httpClient.get<ResponseApi>(this.normalizeUrl(url) + '/GetCreditCardsEnable?domainId='+ domainId, { headers: this.authHeaders });\r\n }\r\n\r\n public getPlansByCreditCardId(access_token: string, url: string, amount: string, creditCardId: number, domainId: number, bin: string): Observable<ResponseApi> {\r\n this._setAuthHeaders(access_token);\r\n const body = { amount: amount, creditCardId: creditCardId, domainId: domainId, bin: bin};\r\n return this.httpClient.post<ResponseApi>(this.normalizeUrl(url) + '/CalculateAmountInInstallments', body, { headers: this.authHeaders });\r\n }\r\n\r\n private _setAuthHeaders(access_token: string) {\r\n const userToken = 'Bearer ' + access_token;\r\n this.authHeaders = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': userToken });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport sha256 from 'sha256';\n\nimport {\n CreditCard,\n CreditCardPlans,\n ErrorToken,\n Payment,\n PaymentResponseInfo,\n PaymentResult,\n ResponseApi,\n SpsResponsePayment,\n} from '../models/payment.model';\nimport { SpsDecidirApiService } from '../services/sps-decidir.api.service';\n\ndeclare var Decidir: any;\n\n@Component({\n selector: 'sps-form-pay',\n templateUrl: './sps-decidir.component.html',\n styleUrls: ['./sps-decidir.component.scss']\n})\nexport class SpsDecidirComponent implements OnInit, OnChanges {\n\n @ViewChild('f', { static: false }) checkOutForm: NgForm;\n @Input() accessToken: string;\n @Input() spsUrlApi: string;\n @Input() vkUrlApi: string;\n @Input() paymentAmount: string;\n @Input() logoSps: string;\n @Input() currency: string;\n @Input() defaultPublishableKey: string;\n @Input() superviellePublishableKey: string;\n @Input() successUrl: string;\n @Input() failureUrl: string;\n @Input() useCybersource: boolean;\n @Input() debugLog: boolean;\n @Input() storeId: string;\n @Input() domainId: number;\n @Input() idVen: number;\n @Input() data: string;\n @Input() labelButton: string;\n @Input() language = 'es';\n @Output() statusPay = new EventEmitter<PaymentResult>();\n\n disabled = false;\n disableSelect = false;\n totalAmount: string;\n totalFinancedAmount: string;\n currentTEA: string;\n currentCFT: string;\n\n creditCards: CreditCard[];\n selectCreditCardPlan: CreditCardPlans = null;\n creditCardPlans: CreditCardPlans[];\n paymentResult: PaymentResult = { success: false, paymentId: '', integrator: 'DECIDIR' };\n\n // Form bind\n monthText: string;\n yearText: string;\n cvcText: string;\n dniText: string;\n payerNameText: string;\n cardText: string;\n submitPressed = false;\n invalidDate = false;\n\n private decidir: any;\n addScript = true;\n\n paymentState = 'unsubmitted';\n payerName: string;\n issuer?: number = null;\n payment: Payment;\n paymentSuccessInfo: PaymentResponseInfo;\n errorMessage: string;\n\n constructor(private router: Router, public spsDecidirApiService: SpsDecidirApiService) { }\n\n ngOnInit() {\n this.initDecidir();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!changes.paymentAmount.isFirstChange()) {\n this.checkOutForm.reset();\n this.disabled = false;\n this.disableSelect = false;\n }\n }\n\n private initDecidir() {\n this.addDecidirScript()\n .then(() => {\n this.getCreditCards();\n this.initializeSpsDecidir();\n });\n }\n\n addDecidirScript() {\n this.addScript = true;\n return new Promise((resolve) => {\n const scripttagElement = document.createElement('script');\n scripttagElement.src = 'https://live.decidir.com/static/v2.4/decidir.js';\n scripttagElement.onload = resolve;\n document.body.appendChild(scripttagElement);\n });\n }\n\n private getCreditCards() {\n this.spsDecidirApiService.getCreditCards(this.accessToken, this.vkUrlApi, this.domainId)\n .subscribe((res: ResponseApi) => {\n this.creditCards = res.data as CreditCard[];\n this.logger('getCreditCards', this.creditCards);\n }, _ => this.paymentState = 'apiError');\n }\n\n private getPlansByCreditCardId(amount: string, creditCardId: number, domainId: number, bin: string) {\n this.spsDecidirApiService.getPlansByCreditCardId(this.accessToken, this.vkUrlApi, amount, creditCardId, domainId, bin)\n .subscribe((res: ResponseApi) => {\n this.creditCardPlans = res.data as CreditCardPlans[];\n this.logger('getPlansByCreditCardId', this.creditCardPlans);\n }, _ => this.paymentState = 'apiError');\n }\n\n private initializeSpsDecidir() {\n this.decidir = new Decidir(this.spsDecidirApiService.normalizeUrl(this.spsUrlApi), !this.useCybersource);\n this.decidir.setTimeout(15000);\n this.decidir.setPublishableKey(this.defaultPublishableKey);\n }\n\n private logger(message: string, data: any): void {\n if (!this.debugLog) { return; }\n console.log(message, data);\n }\n\n public selectedCreditCard() {\n if (!this.issuer) { return; }\n\n this.selectCreditCardPlan = null;\n if (this.currency === 'ARS' && this.cardText.substring(0,8) !== '00000000') {\n this.getPlansByCreditCardId(this.paymentAmount, this.issuer, this.domainId, this.cardText.substring(0,8));\n return;\n } else {\n this.cardText ='';\n }\n\n if (this.currency === 'USD') {\n this.totalAmount = this.totalFinancedAmount = this.paymentAmount;\n }\n }\n\n selectedCreditCardPlan() {\n if (this.selectCreditCardPlan === null) { return; }\n\n this.totalFinancedAmount = this.selectCreditCardPlan.totalAmount;\n this.totalAmount = this.paymentAmount;\n this.currentTEA = this.selectCreditCardPlan.tna;\n this.currentCFT = this.selectCreditCardPlan.cft;\n }\n\n onSubmit(event) {\n event.preventDefault();\n this.submitPressed = true;\n this.paymentResult = { success: false, paymentId: '', integrator: 'DECIDIR' };\n\n if (!this.checkOutForm.valid) { return; }\n\n this.paymentState = 'processing';\n\n this.spsDecidirApiService.getDecidirConfigByBin(this.cardText.substring(0, 8), this.vkUrlApi)\n .subscribe(config => {\n if(config =='SPS-Decidir-Supervielle'){\n this.decidir.setPublishableKey(this.superviellePublishableKey);\n } else {\n this.decidir.setPublishableKey(this.defaultPublishableKey);\n }\n\n const form = document.querySelector('#formulario');\n this.decidir.createToken(form, (status: number, response: SpsResponsePayment) => {\n if (status !== 200 && status !== 201) {\n this.paymentState = 'error';\n this.statusPay.emit(this.paymentResult);\n this.processErrorToken(response);\n } else {\n this.makePayment(form, response);\n }\n });\n\n });\n }\n\n makePayment(form: any, paymentResponse: SpsResponsePayment): void {\n this.logger('makePayment:', JSON.stringify(paymentResponse));\n const hashedCard = this.hashText(this.cardText,100000);\n this.payment = {\n token: paymentResponse.id,\n amount: this.totalAmount,\n totalFinancedAmount: this.totalFinancedAmount,\n bin: paymentResponse.bin,\n currency: 'ARS',\n documentNumber: this.currency === 'USD' ? '0' : paymentResponse.cardholder.identification.number,\n idVen: this.idVen,\n paymentType: 'single',\n installments: this.currency === 'USD' ? 1 : this.selectCreditCardPlan.installments,\n creditCardPlanId: this.currency === 'USD' ? 0 : this.selectCreditCardPlan.id,\n paymentMethodId: this.issuer,\n cardholder: this.payerNameText,\n storeId: this.storeId,\n data: this.data,\n subPayments: [],\n creditCardHash: hashedCard,\n lastFourDigits: this.cardText.slice(-4)\n };\n \n\n this.logger('payment:', JSON.stringify(this.payment));\n this.spsDecidirApiService.makePayment(this.payment, this.accessToken, this.vkUrlApi)\n .subscribe((res: ResponseApi) => {\n this.paymentResponseHandler(res);\n }, error => {\n this.statusPay.emit(this.paymentResult);\n this.paymentState = 'apiError';\n console.error(error);\n });\n }\n\n private hashText(text: string, iterations:number): string{\n let hashedtext = text;\n for (let i = 0; i < iterations; i++) {\n hashedtext = sha256(hashedtext);\n }\n return hashedtext\n }\n\n paymentResponseHandler(response: ResponseApi) {\n this.logger('paymentResponseHandler:', JSON.stringify(response));\n\n if (response.success) {\n this.paymentState = 'success';\n this.paymentSuccessInfo = response.data as PaymentResponseInfo;\n this.paymentResult = { success: true, paymentId: this.paymentSuccessInfo.payment_id, integrator: 'DECIDIR' };\n this.statusPay.emit(this.paymentResult);\n this.disabled = true;\n this.disableSelect = true;\n\n if (this.successUrl && this.successUrl.length > 0) {\n this.router.navigate([`${this.successUrl}`]).then();\n return;\n }\n } else {\n this.paymentState = 'error';\n this.statusPay.emit(this.paymentResult);\n this.processErrorMessage(response.data);\n\n if (this.failureUrl && this.failureUrl.length > 0) {\n this.router.navigate([`${this.failureUrl}`]).then()\n return;\n }\n }\n }\n\n processErrorToken(response: any): void {\n this.disabled = true;\n this.disableSelect = true;\n\n const error: ErrorToken = response as ErrorToken;\n\n // obtenemos mensajes de error\n error.error.forEach((x) => {\n if (x.error.type === 'invalid_expiry_date') {\n this.errorMessage = 'Revisá la fecha de vencimiento.';\n } else {\n this.errorMessage = JSON.stringify(error);\n }\n });\n }\n\n // diferentes tipos de error nos devuelve decidir\n processErrorMessage(responseError: PaymentResponseInfo): void {\n this.disabled = true;\n this.disableSelect = true;\n\n if (responseError.error) {\n this.errorMessage = responseError.error.reason.description;\n\n if (responseError.error.reason.additional_description) {\n this.errorMessage = this.errorMessage + ' - ' + responseError.error.reason.additional_description;\n }\n\n if (this.errorMessage == '' || this.errorMessage == undefined) {\n this.errorMessage = JSON.stringify(responseError);\n }\n }\n else if (responseError.error_type) {\n switch (responseError.error_type) {\n case 'invalid_request_error':\n if (responseError.validation_errors.length > 0) {\n if (responseError.validation_errors[0].code === 'invalid_param') {\n switch (responseError.validation_errors[0].param) {\n case 'card_number':\n this.errorMessage = 'Tarjeta inválida';\n break;\n case 'bin':\n this.errorMessage = 'Tarjeta inválida';\n break;\n default:\n this.errorMessage = responseError.error.reason.description;\n if (this.errorMessage == '' || this.errorMessage == undefined) {\n this.errorMessage = JSON.stringify(responseError);\n }\n break;\n }\n }\n }\n break;\n case 'not_found_error':\n this.errorMessage = 'Datos no encontrados (404).';\n break;\n case 'authentication_error':\n this.errorMessage = 'Error (401).';\n break;\n case 'malformed_request_error':\n this.errorMessage = 'Error al enviar los datos (400).';\n break;\n case 'api_error':\n this.errorMessage = 'Error interno (409).';\n break;\n default:\n this.errorMessage = JSON.stringify(responseError);\n break;\n }\n }\n }\n\n compareDate(year: number, month: number, day: number): number {\n const d1: Date = new Date(year, month, day);\n const d2: Date = new Date();\n\n const same = d1.getTime() === d2.getTime();\n if (same) { return 0; }\n if (d1 > d2) { return 1; }\n if (d1 < d2) { return -1; }\n }\n\n // Input controls\n onYearChange() {\n if (Number.isNaN(+this.yearText)) {\n setTimeout(() => {\n this.yearText = '';\n });\n }\n }\n\n onYearBlur(element: any) {\n if (this.compareDate(\n Number(`20${this.yearText}`),\n Number(this.monthText),\n new Date().getDate()) < 0) {\n setTimeout(() => {\n this.yearText = '';\n this.invalidDate = true;\n element.target.focus();\n });\n } else {\n this.invalidDate = false;\n }\n\n }\n\n onMonthLostFocus() {\n if (+this.monthText > 0 && !isNaN(+this.monthText)) {\n if (this.monthText === '1') {\n this.monthText = '01';\n }\n }\n }\n\n onMonthChange() {\n if (+this.monthText >= 0 && +this.monthText < 13 && !isNaN(+this.monthText)) {\n switch (this.monthText) {\n case '2': {\n this.monthText = '02';\n break;\n }\n case '3': {\n this.monthText = '03';\n break;\n }\n case '4': {\n this.monthText = '04';\n break;\n }\n case '5': {\n this.monthText = '05';\n break;\n }\n case '6': {\n this.monthText = '06';\n break;\n }\n case '7': {\n this.monthText = '07';\n break;\n }\n case '8': {\n this.monthText = '08';\n break;\n }\n case '9': {\n this.monthText = '09';\n break;\n }\n }\n } else {\n setTimeout(() => {\n this.monthText = '';\n });\n }\n }\n\n onCodeChange() {\n if (Number.isNaN(+this.cvcText)) {\n setTimeout(() => {\n this.cvcText = '';\n });\n }\n\n if (this.cvcText.search(' ') > -1) {\n setTimeout(() => {\n this.cvcText = '';\n });\n }\n }\n\n onDniChange() {\n if (Number.isNaN(+this.dniText)) {\n setTimeout(() => {\n this.dniText = '';\n });\n }\n\n if (this.dniText.search(' ') > -1) {\n setTimeout(() => {\n this.dniText = '';\n });\n }\n }\n\n onPayerNameChange() {\n if (!isNaN(+this.payerNameText)) {\n setTimeout(() => {\n this.payerNameText = '';\n });\n }\n }\n\n onCardChange() {\n if (Number.isNaN(+this.cardText)) {\n setTimeout(() => {\n this.cardText = '';\n });\n }\n\n if (this.cardText.search(' ') > -1) {\n setTimeout(() => {\n this.cardText = '';\n });\n }\n\n if(this.cardText.length <8) {\n this.disableSelect = true;\n this.issuer = null;\n } else {\n this.disableSelect = false;\n }\n\n // setea tarjeta\n if (this.cardText.length === 8 && this.cardText !== '00000000'){\n this.setCreditType(this.cardText);\n }\n \n }\n\n setCreditType(bin: string): void {\n if (bin.length < 8) {\n this.issuer = null;\n return;\n }\n\n if (bin.length === 8) {\n this.issuer = null;\n\n // visa debito\n if (bin.substring(0, 4) === '4770' ||\n bin.substring(0, 6) === '442548' ||\n bin.substring(0, 6) === '406809' ||\n bin.substring(0, 6) === '408738' ||\n bin.substring(0, 6) === '411521' ||\n bin.substring(0, 6) === '411663' ||\n bin.substring(0, 6) === '426359' ||\n bin.substring(0, 6) === '429780' ||\n bin.substring(0, 6) === '438267' ||\n bin.substring(0, 6) === '461187' ||\n bin.substring(0, 6) === '500334' ||\n bin.substring(0, 6) === '509413' ||\n bin.substring(0, 6) === '512285' ||\n bin.substring(0, 6) === '512881' ||\n bin.substring(0, 6) === '518635' ||\n bin.substring(0, 6) === '538449' ||\n bin.substring(0, 6) === '550553' ||\n bin.substring(0, 6) === '566057' ||\n bin.substring(0, 6) === '567933' ||\n bin.substring(0, 6) === '572140' ||\n bin.substring(0, 6) === '584257' ||\n bin.substring(0, 6) === '598718' ||\n bin.substring(0, 6) === '605801' ||\n bin.substring(0, 6) === '606120' ||\n bin.substring(0, 6) === '631057' ||\n bin.substring(0, 6) === '676215' ||\n bin.substring(0, 6) === '713274' ||\n bin.substring(0, 6) === '713284' ||\n bin.substring(0, 6) === '717515' ||\n bin.substring(0, 6) === '748761' ||\n bin.substring(0, 6) === '753371' ||\n bin.substring(0, 6) === '753600' ||\n bin.substring(0, 6) === '912394' ||\n bin.substring(0, 6) === '916148' ||\n bin.substring(0, 6) === '916773' ||\n bin.substring(0, 6) === '923405' ||\n bin.substring(0, 6) === '930965' ||\n bin.substring(0, 6) === '934091' ||\n bin.substring(0, 6) === '935761' ||\n bin.substring(0, 6) === '943313' ||\n bin.substring(0, 6) === '945721' ||\n bin.substring(0, 6) === '948809' ||\n bin.substring(0, 6) === '960644' ||\n bin.substring(0, 6) === '969085' ||\n bin.substring(0, 6) === '970167' ||\n bin.substring(0, 6) === '978061' ||\n bin.substring(0, 8) === '40267919' ||\n bin.substring(0, 8) === '40327176' ||\n bin.substring(0, 8) === '40416004' ||\n bin.substring(0, 8) === '40421933' ||\n bin.substring(0, 8) === '40451556' ||\n bin.substring(0, 8) === '40541010' ||\n bin.substring(0, 8) === '40623835' ||\n bin.substring(0, 8) === '40733469' ||\n bin.substring(0, 8) === '40733586' ||\n bin.substring(0, 8) === '40872498' ||\n bin.substring(0, 8) === '45007789' ||\n bin.substring(0, 8) === '45024822' ||\n bin.substring(0, 8) === '45034751' ||\n bin.substring(0, 8) === '45046987' ||\n bin.substring(0, 8) === '45060549' ||\n bin.substring(0, 8) === '45062482' ||\n bin.substring(0, 8) === '45070071' ||\n bin.substring(0, 8) === '45084708' ||\n bin.substring(0, 8) === '45091433' ||\n bin.substring(0, 8) === '45100902' ||\n bin.substring(0, 8) === '45103869' ||\n bin.substring(0, 8) === '45131047' ||\n bin.substring(0, 8) === '45168884' ||\n bin.substring(0, 8) === '45174306' ||\n bin.substring(0, 8) === '45184611' ||\n bin.substring(0, 8) === '45191921' ||\n bin.substring(0, 8) === '45201881' ||\n bin.substring(0, 8) === '45206401' ||\n bin.substring(0, 8) === '45245294' ||\n bin.substring(0, 8) === '45314944' ||\n bin.substring(0, 8) === '45317847' ||\n bin.substring(0, 8) === '45357409' ||\n bin.substring(0, 8) === '45374587' ||\n bin.substring(0, 8) === '45394705' ||\n bin.substring(0, 8) === '45456584' ||\n bin.substring(0, 8) === '45541924' ||\n bin.substring(0, 8) === '45545795' ||\n bin.substring(0, 8) === '45567746' ||\n bin.substring(0, 8) === '45583759' ||\n bin.substring(0, 8) === '45648838' ||\n bin.substring(0, 8) === '45672506' ||\n bin.substring(0, 8) === '45678421' ||\n bin.substring(0, 8) === '45710756' ||\n bin.substring(0, 8) === '45716006' ||\n bin.substring(0, 8) === '45725029' ||\n bin.substring(0, 8) === '45732113' ||\n bin.substring(0, 8) === '45732698' ||\n bin.substring(0, 8) === '45793917' ||\n bin.substring(0, 8) === '45841185' ||\n bin.substring(0, 8) === '45862021' ||\n bin.substring(0, 8) === '45915336' ||\n bin.substring(0, 8) === '45971496') {\n this.issuer = 31;\n }\n // mastercard\n else if (bin.substring(0, 2) === '51' ||\n bin.substring(0, 2) === '52' ||\n bin.substring(0, 2) === '53' ||\n bin.substring(0, 2) === '54' ||\n bin.substring(0, 2) === '55') {\n this.issuer = 104;\n }\n // tarjeta naranja\n else if (bin.substring(0, 6) === '589562') {\n this.issuer = 24;\n }\n // visa credito\n else if (bin.substring(0, 1) === '4') {\n this.issuer = 1;\n }\n\n this.selectedCreditCard();\n }\n }\n\n onPaste(): boolean {\n return false;\n }\n\n resetForm() {\n this.disabled = false;\n this.disableSelect = false;\n this.totalAmount\n this.totalFinancedAmount = undefined;\n this.currentTEA = undefined;\n this.currentCFT = undefined;\n // creditCards: CreditCard[];\n this.creditCards = undefined;\n this.selectCreditCardPlan = null;\n // creditCardPlans: CreditCardPlans[];\n this.creditCardPlans = undefined;\n this.paymentResult = { success: false, paymentId: '', integrator: 'DECIDIR' };\n \n // Form bind\n this.monthText = undefined;\n this.yearText = undefined;\n this.cvcText = undefined;\n this.dniText = undefined;\n this.payerNameText = undefined;\n this.cardText = undefined;\n this.submitPressed = false;\n this.invalidDate = false;\n \n this.decidir = undefined;\n this.addScript = true;\n \n this.paymentState = 'unsubmitted';\n this.payerName = undefined;\n this.issuer = null;\n this.payment = undefined;\n this.paymentSuccessInfo = undefined;\n this.errorMessage = undefined;\n\n this.initDecidir();\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { SpsDecidirComponent } from './components/sps-decidir.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n HttpClientModule,\n RouterModule\n ],\n declarations: [\n SpsDecidirComponent\n ],\n exports: [\n SpsDecidirComponent\n ]\n})\nexport class SpsDecidirModule { }\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { InitPayment, ResponseApi, Payment } from '../models/go-cuotas.models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class GoCuotasApiService {\r\n private authHeaders: HttpHeaders | undefined;\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) { }\r\n \r\n public normalizeUrl(url: string): string {\r\n if (url.length > 0 && url.charAt(url.length - 1) == '/') {\r\n url = url.substr(0, url.length - 1);\r\n }\r\n\r\n return url;\r\n }\r\n\r\n public initPayment(access_token: string, url: string, initPayment: InitPayment): Observable<ResponseApi> {\r\n this._setAuthHeaders(access_token); \r\n\r\n const body = {\r\n cardholder: initPayment.cardholder,\r\n creditCardHash: initPayment.creditCardHash,\r\n amount: initPayment.amount,\r\n installments: initPayment.installments,\r\n documentNumber: initPayment.documentNumber,\r\n areaCode: initPayment.areaCode,\r\n phoneNumber: initPayment.phoneNumber,\r\n email: initPayment.email,\r\n idVen: initPayment.idVen,\r\n storeId: initPayment.storeId,\r\n data: initPayment.data\r\n };\r\n\r\n return this.httpClient.post<ResponseApi>(this.normalizeUrl(url) + '/init-payment', body, { headers: this.authHeaders });\r\n }\r\n\r\n public getOrders(access_token: string, url: string): Observable<ResponseApi> {\r\n this._setAuthHeaders(access_token);\r\n return this.httpClient.get<ResponseApi>(this.normalizeUrl(url) + '/orders', { headers: this.authHeaders });\r\n }\r\n\r\n public payment(access_token: string, url: string, payment: Payment): Observable<ResponseApi> {\r\n this._setAuthHeaders(access_token);\r\n const body = {\r\n id: payment.id,\r\n cardholder: payment.cardholder,\r\n sale_token: payment.sale_token,\r\n code: payment.code,\r\n creditCardHash: payment.creditCardHash,\r\n cardMonthExpiration: payment.cardMonthExpiration,\r\n cardYearExpiration: payment.cardYearExpiration,\r\n cardSecurityCode: payment.cardSecurityCode,\r\n idVen: payment.idVen,\r\n storeId: payment.storeId,\r\n data: payment.data\r\n }\r\n\r\n return this.httpClient.post<ResponseApi>(this.normalizeUrl(url) + '/payment', body, { headers: this.authHeaders });\r\n }\r\n\r\n public getInstallments(url: string): Observable<ResponseApi> { \r\n return this.httpClient.get<ResponseApi>(this.normalizeUrl(url) + '/get-installments');\r\n }\r\n\r\n private _setAuthHeaders(access_token: string) {\r\n const userToken = 'Bearer ' + access_token;\r\n this.authHeaders = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': userToken });\r\n }\r\n}","import { Component, OnInit, EventEmitter, Output } from '@angular/core';\n\n@Component({\n selector: 'lib-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent implements OnInit {\n\n modalVisible: boolean = false;\n verificationCode: string = '';\n\n @Output() codeVerified = new EventEmitter<string>();\n\n constructor() { }\n\n ngOnInit() {\n this.verificationCode = ''; \n }\n\n openModal() {\n this.verificationCode = '';\n this.modalVisible = true;\n document.body.style.overflow = '';\n }\n\n closeModal() {\n this.modalVisible = false;\n document.body.style.overflow = 'hidden';\n }\n\n onSubmitCode() {\n if (this.verificationCode) {\n this.codeVerified.emit(this.verificationCode); // Emitir el código ingresado\n this.modalVisible = false; \n } else {\n alert('Por favor ingrese el código.');\n }\n }\n\n onVerificationCodeChange() {\n if (isNaN(+this.verificationCode)) {\n setTimeout(() => {\n this.verificationCode = '';\n });\n }\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { PaymentResult, ResponseApi, InitPayment, Payment } from '../models/go-cuotas.models';\nimport { GoCuotasApiService } from '../services/go-cuotas.api.service';\nimport { ModalComponent } from './modal/modal.component';\n\n@Component({\n selector: 'lib-go-cuotas',\n templateUrl: './go-cuotas.component.html',\n styleUrls: ['./go-cuotas.component.scss']\n})\nexport class GoCuotasComponent implements OnInit {\n\n @Input() accessToken!: string;\n @Input() gcUrlApi!: string;\n @Input() vkUrlApi!: string;\n @Input() paymentAmount!: string;\n @Input() logoGC!: string;\n @Input() idVen!: number;\n @Input() storeId!: string;\n @Input() data!: string;\n @Output() statusPay = new EventEmitter<PaymentResult>();\n\n defaultName!: string;\n mailText!: string;\n codAreaText!: string;\n telText!: string;\n cardText!: string;\n yearText!: string;\n monthText!: string;\n dniText!: string;\n cvcText!: string;\n installments!: number;\n defaultDocType!: string;\n currentInstallments!: any[];\n totalAmount!: number;\n OinitPayment!: InitPayment;\n Opayment!: Payment;\n sale_token: string = '';\n error_message: string = '';\n paymentCompleted: boolean = false; \n loadingMessage: string = 'Iniciando el pago...';\n paymentStatus = 'unsubmitted';\n\n disabled = false;\n disabledSelect = false;\n submitted = false;\n isLoading: boolean = false;\n hasError: boolean = false;\n\n // accessToken: string = '2569793-51e1725c-9334-4ea2-ada0-b0c87187443c';\n // url: string = 'https://sandbox.gocuotas.com/api/full_sale/v1/';\n\n paymentResult: PaymentResult = { success: false, paymentId: '', integrator: 'GOCUOTAS' };\n\n @ViewChild('f', { static: false }) checkOutForm!: NgForm;\n @ViewChild(ModalComponent, {static: false}) modal!: ModalComponent;\n\n constructor(\n private goCuotasApiService: GoCuotasApiService\n ) { }\n\n ngOnInit() {\n this.defaultDocType = '';\n this.installments = 0;\n\n this.getInstallments();\n\n this.totalAmount = Number(this.paymentAmount);\n }\n\n onSubmit(event: Event) {\n event.preventDefault();\n this.submitted = true;\n \n if (!this.checkOutForm.valid) { return; }\n\n this.isLoading = true;\n this.paymentCompleted = false;\n this.loadingMessage = 'Iniciando el pago...';\n this.paymentResult = { success: false, paymentId: '', integrator: 'GOCUOTAS' };\n\n \n this.OinitPayment = {\n amount: Number(this.paymentAmount) * 100,\n areaCode: this.codAreaText,\n installments: this.installments, \n documentNumber: this.dniText,\n phoneNumber: this.telText,\n email: this.mailText.toLowerCase(),\n cardholder: this.defaultName,\n creditCardHash: this.cardText,\n idVen: this.idVen,\n storeId: this.storeId,\n data: this.data\n }; \n\n this.initPayment();\n }\n\n initPayment() {\n this.isLoading = true;\n this.loadingMessage = 'Enviando código...';\n\n this.goCuotasApiService.initPayment(this.accessToken, this.vkUrlApi, this.OinitPayment)\n .subscribe({\n next: (v) => this.initPaymentResponseHandler(v),\n error: (v) => this.ResponseHandlerError(v)\n })\n }\n\n private initPaymentResponseHandler(response: ResponseApi) {\n if(!response.success) {\n this.error_message = response.errorsMessages[0];\n this.statusPay.emit(this.paymentResult);\n this.disabled = true;\n this.disabledSelect = true;\n\n return;\n }\n\n this.Opayment = {\n id: response.data.id,\n cardholder: this.defaultName,\n sale_token: response.data.response.sale_token,\n creditCardHash: this.cardText,\n cardMonthExpiration: Number(this.monthText),\n cardYearExpiration: Number(this.yearText),\n cardSecurityCode: this.cvcText,\n idVen: this.idVen,\n storeId: this.storeId,\n data: this.data\n };\n\n this.isLoading = false;\n this.disabled = true;\n this.disabledSelect = true;\n this.modal.openModal();\n this.paymentStatus = 'sentCode';\n }\n\n onCodeSent(code: string) {\n this.isLoading = true;\n this.loadingMessage = 'Procesando pago...';\n \n this.Opayment.code = Number(code);\n \n if(code !== null){\n this.finishPayment();\n }\n }\n\n public finishPayment() {\n this.paymentStatus = 'processing';\n\n this.goCuotasApiService.payment(this.accessToken, this.vkUrlApi, this.Opayment)\n .subscribe({\n next: (v) => this.FinishPaymentResponseHandler(v), \n error: (v) => this.ResponseHandlerError(v)\n });\n }\n\n private ResponseHandlerError(response: any) {\n this.paymentStatus = 'error';\n this.disabled = true;\n this.disabledSelect = true;\n this.statusPay.emit(this.paymentResult);\n\n if(!response.ok && response.error === null && response.status === 500){\n this.error_message = \"Error en el servidor. Vuelva a intentar más tarde.\";\n this.isLoading = false;\n this.hasError = true; \n\n return;\n }\n\n this.error_message = response.error.errorsMessages[0];\n this.isLoading = false;\n this.hasError = true; \n }\n\n private FinishPaymentResponseHandler(response: ResponseApi){\n this.paymentStatus = 'success';\n\n if(!response.success) {\n this.error_message = response.errorsMessages[0];\n this.statusPay.emit(this.paymentResult);\n\n return;\n } \n\n this.Opayment.paymentId = response.data.paymentId\n this.paymentResult = { success: true, paymentId: String(this.Opayment.paymentId) , integrator: 'GOGUOTAS' };\n this.statusPay.emit(this.paymentResult);\n this.loadingMessage = '¡Pago procesado correctamente!';\n this.paymentCompleted = true; \n }\n\n getInstallments() {\n this.goCuotasApiService.getInstallments(this.vkUrlApi)\n .subscribe({\n next: (v) => this.getInstallmentsResponseHandler(v), \n error: (v) => this.ResponseHandlerError(v)\n });\n }\n\n getInstallmentsResponseHandler(response: ResponseApi) {\n if(!response.success) {\n this.paymentStatus = 'error';\n this.error_message = \"Ocurrio un error al obtener el número de cuotas. Intente más tarde.\"\n this.hasError = true;\n this.disabled = true;\n this.disabledSelect = true;\n this.statusPay.emit(this.paymentResult);\n\n return;\n }\n\n this.currentInstallments = response.data\n }\n\n restartForm() {\n this.hasError = false;\n this.submitted = false;\n this.disabled = false;\n this.disabledSelect = false;\n this.paymentStatus = 'unsubmitted';\n this.checkOutForm.reset(); \n this.installments = 0;\n this.defaultDocType = '';\n }\n\n // Input controls\n onYearChange() {\n if (isNaN(+this.yearText)) { \n setTimeout(() => {\n this.yearText = '';\n });\n }\n }\n\n onMonthLostFocus() {\n if (+this.monthText > 0 && !isNaN(+this.monthText)) {\n if (this.monthText == '1') {\n this.monthText = '01';\n }\n }\n }\n\n onMonthChange() {\n if (+this.monthText >= 0 && +this.monthText < 13 && !isNaN(+this.monthText)) {\n switch (this.monthText) {\n case '2': {\n this.monthText = '02';\n break;\n }\n case '3': {\n this.monthText = '03';\n break;\n }\n case '4': {\n this.monthText = '04';\n break;\n }\n case '5': {\n this.monthText = '05';\n break;\n }\n case '6': {\n this.monthText = '06';\n break;\n }\n case '7': {\n this.monthText = '07';\n break;\n }\n case '8': {\n this.monthText = '08';\n break;\n }\n case '9': {\n this.monthText = '09';\n break;\n }\n }\n } else {\n setTimeout(() => {\n this.monthText = '';\n });\n }\n }\n\n onCodeChange() {\n if (isNaN(+this.cvcText)) {\n setTimeout(() => {\n this.cvcText = '';\n });\n }\n }\n\n onDniChange() {\n if (isNaN(+this.dniText)) {\n setTimeout(() => {\n this.dniText = '';\n });\n }\n }\n\n onMailChange() {\n if (!isNaN(+this.mailText)) {\n setTimeout(() => {\n this.mailText = '';\n });\n }\n }\n\n onCodAreaChange() {\n if (isNaN(+this.codAreaText)) {\n setTimeout(() => {\n this.codAreaText = '';\n });\n }\n }\n\n onTelChange() {\n if (isNaN(+this.telText)) {\n setTimeout(() => {\n this.telText = '';\n });\n }\n }\n\n onPayerNameChange() {\n if (!isNaN(+this.defaultName)) {\n setTimeout(() => {\n this.defaultName = '';\n });\n }\n }\n\n onCardChange() {\n if (isNaN(+this.cardText)) {\n setTimeout(() => {\n this.cardText = '';\n });\n }\n }\n\n onInstallmentsChange() {\n //console.log('cuotas seleccionadas' ,this.installments)\n }\n\n onPaste(): boolean {\n return false;\n }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GoCuotasComponent } from './components/go-cuotas.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { GoCuotasApiService } from './services/go-cuotas.api.service';\nimport { ModalComponent } from './components/modal/modal.component';\n\nconst COMPONENTS = [\n GoCuotasComponent,\n ModalComponent\n]\n\n@NgModule({\n declarations: [\n COMPONENTS \n ],\n exports: [\n COMPONENTS\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule\n ],\n providers: [\n GoCuotasApiService\n ]\n})\nexport class GoCuotasModule { }\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { CreatePaymentRequest, PaymentResponse } from '../models/modo.models';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModoApiService {\n private authHeaders: HttpHeaders | undefined;\n\n constructor(private http: HttpClient) { }\n\n createPayment(accessToken: string, paymentRequest: CreatePaymentRequest,apiUrl: string): Observable<PaymentResponse> {\n this._setAuthHeaders(accessToken); \n return this.http.post<PaymentResponse>(`${apiUrl}create-payment`, paymentRequest, { headers: this.authHeaders });\n }\n\n private _setAuthHeaders(accessToken: string) {\n const userToken = 'Bearer ' + accessToken;\n this.authHeaders = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': userToken });\n }\n}","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ModoApiService } from '../../services/modo-api.service';\nimport { CreatePaymentRequest } from '../../models/modo.models';\n\n// Declara la variable global del SDK\ndeclare var ModoSDK: any;\n\ntype ExecutionEnvironment = 'desktop' | 'mobile-browser' | 'native-app';\n\n@Component({\n selector: 'vk-modo-payment',\n templateUrl: './modo.component.html',\n styleUrls: ['./modo.component.scss']\n})\nexport class ModoComponent implements OnInit {\n\n @Input() accessToken!: string;\n @Input() storeId: string;\n @Input() idVen: number;\n @Input() data: string;\n @Input() amount: number;\n @Input() orderId: string;\n @Input() mobileAppEnv: string;\n @Input() vkUrlApi: string;\n @Input() callbackUrl: string;\n @Input() callbackUrlSuccess: string;\n @Output() statusPay = new EventEmitter<{ success: boolean; paymentId: string }>();\n\n isLoading = false;\n private executionEnv: ExecutionEnvironment = 'desktop';\n private devicePlatform: 'iOS' | 'Android' | undefined;\n private deeplinkURL: string;\n\n constructor(\n private modoApi: ModoApiService\n ) { }\n\n ngOnInit(): void {\n this.detectEnvironment();\n if (this.executionEnv === 'desktop') {\n this.loadModoScript();\n }\n }\n\n private detectEnvironment(): void {\n try {\n if (this.mobileAppEnv === 'iOS' || this.mobileAppEnv === 'Android') {\n this.executionEnv = 'native-app';\n this.devicePlatform = this.mobileAppEnv;\n console.log(`MODO Payment: Entorno detectado -> Nativo (${this.devicePlatform || 'app'})`);\n return;\n }\n } catch (error) {\n console.warn('MODO Payment: No se pudo leer los parámetros de la ruta. Se continuará con la detección por User Agent.');\n }\n\n const userAgent = navigator.userAgent || navigator.vendor || (window as any).opera;\n if (/android/i.test(userAgent) || /iPad|iPhone|iPod/.test(userAgent)) {\n this.executionEnv = 'mobile-browser';\n console.log('MODO Payment: Entorno detectado -> Navegador Móvil');\n } else {\n this.executionEnv = 'desktop';\n console.log('MODO Payment: Entorno detectado -> Desktop');\n }\n }\n\n async startModoPayment(): Promise<void> {\n this.isLoading = true;\n\n try {\n const initialData = await this.createModoPayment();\n this.deeplinkURL = this.createDeeplinkURL(initialData);\n switch (this.executionEnv) {\n case 'native-app':\n // Llama a la función nativa para abrir en un navegador externo\n this.openOnNativeNavigator(this.deeplinkURL);\n this.statusPay.emit({ success: true, paymentId: initialData.checkoutId });\n break;\n case 'mobile-browser':\n // Abre el deeplink en una nueva pestaña\n window.open(this.deeplinkURL, '_blank');\n this.statusPay.emit({ success: true, paymentId: initialData.checkoutId });\n break;\n case 'desktop':\n default:\n // Abrir el modal del SDK\n this.initModoSdkModal(initialData);\n break;\n }\n\n \n } catch (error) {\n this.isLoading = false;\n this.statusPay.emit({ success: false, paymentId: '' });\n console.error(\"Error al iniciar el pago con MODO\", error);\n }\n }\n\n private createDeeplinkURL(initialData: { qrString: string; checkoutId: string; deeplink: string }): string{\n return initialData.deeplink + '?qr=' + initialData.qrString + \n '&callback=' + this.callbackUrl + '&callbackSuccess='+ this.callbackUrlSuccess \n +'&paymentRequestId=' + initialData.checkoutId;\n }\n\n private openOnNativeNavigator(url: string): void {\n try {\n if (this.devicePlatform === 'iOS') {\n (window as any).webkit.messageHandlers.externalURL.postMessage(url);\n } else if (this.devicePlatform === 'Android') {\n (window as any).externalURL.postMessage(url);\n } else {\n // Fallback si por alguna razón no se detectó la plataforma pero sí el entorno nativo\n window.open(url, '_blank');\n }\n } catch (e) {\n console.error('Error al intentar invocar el message handler nativo:', e);\n }\n }\n\n private initModoSdkModal(initialData: { qrString: string; checkoutId: string; deeplink: string }): void {\n\n const modalObject = {\n version: '2',\n qrString: initialData.qrString,\n checkoutId: initialData.checkoutId,\n deeplink: {\n url: initialData.deeplink,\n callbackURL: this.callbackUrl,\n callbackURLSuccess: this.callbackUrlSuccess\n },\n\n callbackURL: this.callbackUrl,\n\n refreshData: () => this.createModoPayment(),\n\n onSuccess: () => {\n this.statusPay.emit({ success: true, paymentId: initialData.checkoutId });\n },\n onFailure: () => {\n this.statusPay.emit({ success: false, paymentId: initialData.checkoutId });\n },\n onCancel: () => {\n console.log('Pago cancelado por el usuario en el celular.');\n },\n onClose: () => {\n console.log('Modal de MODO cerrado.');\n },\n };\n\n // 3. Inicia el SDK de MODO\n ModoSDK.modoInitPayment(modalObject);\n\n }\n\n\n private async createModoPayment(): Promise<{ qrString: string; checkoutId: string; deeplink: string }> {\n const paymentRequest: CreatePaymentRequest = {\n amount: this.amount,\n orderId: this.orderId,\n storeId: this.storeId,\n idVen: this.idVen,\n data: this.data\n };\n\n const response = await this.modoApi.createPayment(this.accessToken, paymentRequest, this.vkUrlApi).toPromise();\n\n if (response.success && response.data) {\n return {\n qrString: response.data.qrString,\n checkoutId: response.data.internalPaymentId,\n deeplink: response.data.deeplink\n };\n } else {\n throw new Error('La respuesta de la API no fue exitosa.');\n }\n }\n\n private loadModoScript(): void {\n const scriptUrl = 'https://ecommerce-modal.modo.com.ar/bundle.js';\n if (!document.querySelector(`script[src=\"${scriptUrl}\"]`)) {\n const script = document.createElement('script');\n script.src = scriptUrl;\n document.body.appendChild(script);\n }\n }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { ModoComponent } from './components/modo/modo.component';\n\n@NgModule({\n declarations: [\n ModoComponent\n ],\n imports: [\n CommonModule,\n HttpClientModule\n ],\n exports: [\n ModoComponent\n ]\n})\nexport class ModoModule { }","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { BankTransferPaymentRequest, BankTransferPaymentResponse } from '../models/bank-transfer.models';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BankTransferApiService {\n\n constructor(private http: HttpClient) { }\n\n public createPayment(accessToken: string, request: BankTransferPaymentRequest, vkApiUrl: string): Observable<BankTransferPaymentResponse> {\n const headers = new HttpHeaders({\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${accessToken}`\n });\n\n // Construimos la URL agregando la rute del Controller de BankTransfer\n const url = `${vkApiUrl}payments/BankTransfer/create-payment`;\n\n return this.http.post<BankTransferPaymentResponse>(url, request, { headers });\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { BankTransferApiService } from '../services/bank-transfer.api.service';\nimport { BankTransferPaymentRequest, BankTransferPaymentResult } from '../models/bank-transfer.models';\n\n@Component({\n selector: 'vk-bank-transfer',\n templateUrl: './bank-transfer.component.html',\n styleUrls: ['./bank-transfer.component.scss']\n})\nexport class BankTransferComponent implements OnInit {\n\n @Input() accessToken!: string;\n @Input() vkUrlApi!: string;\n @Input() amount!: number; // Total ya con descuento aplicado por el backend\n @Input() storeId!: string;\n @Input() storeName!: string;\n @Input() checkoutId!: number;\n @Input() checkoutAdditionalData!: string;\n @Input() discountRate: number = 0.10; // Tasa de descuento (10% por defecto)\n\n @Output() statusPay = new EventEmitter<BankTransferPaymentResult>();\n\n public paymentForm: FormGroup;\n public isLoading: boolean = false;\n public errorMessage: string = '';\n public submittedSuccessfully: boolean = false;\n public amountCopied: boolean = false;\n\n // Calculados a partir de `amount` (que ya tiene el descuento aplicado)\n get subtotalAmount(): number {\n return this.amount ? Math.round(this.amount / (1 - this.discountRate)) : 0;\n }\n\n get discountAmount(): number {\n return this.subtotalAmount - (this.amount || 0);\n }\n\n constructor(private bankTransferApi: BankTransferApiService) {\n // CUIT no se pide al usuario por ahora — se envía valor genérico\n this.paymentForm = new FormGroup({\n cuit: new FormControl('00000000000')\n });\n }\n\n ngOnInit(): void {}\n\n public copyToClipboard(text: string): void {\n navigator.clipboard.writeText(text).catch(() => {\n const el = document.createElement('textarea');\n el.value = text;\n document.body.appendChild(el);\n el.select();\n document.execCommand('copy');\n document.body.removeChild(el);\n });\n }\n\n public copyAmount(): void {\n const amountStr = this.amount ? this.amount.toFixed(2) : '0';\n this.copyToClipboard(amountStr);\n this.amountCopied = true;\n setTimeout(() => this.amountCopied = false, 2000);\n }\n\n public onSubmit(): void {\n if (this.submittedSuccessfully || this.isLoading) return;\n\n this.isLoading = true;\n this.errorMessage = '';\n\n const request: BankTransferPaymentRequest = {\n cuit: '00000000000', // Valor genérico mientras no se pide al usuario\n checkoutId: this.checkoutId,\n checkoutAdditionalData: this.checkoutAdditionalData,\n storeName: this.storeName || 'Tienda VK',\n storeId: this.storeId\n };\n\n this.bankTransferApi.createPayment(this.accessToken, request, this.vkUrlApi).subscribe(\n (response) => {\n this.isLoading = false;\n\n if (response && response.success) {\n this.submittedSuccessfully = true;\n this.statusPay.emit({\n success: true,\n paymentId: (response.data && response.data.bankTransferEcommId) ? response.data.bankTransferEcommId : '',\n integrator: 'BANK_TRANSFER'\n });\n } else {\n this.errorMessage = (response.errorsMessages && response.errorsMessages.length > 0)\n ? response.errorsMessages[0]\n : 'Ocurrió un error al registrar la transferencia.';\n this.statusPay.emit({\n success: false,\n paymentId: '',\n integrator: 'BANK_TRANSFER'\n });\n }\n },\n (error) => {\n this.isLoading = false;\n this.errorMessage = (error && error.error && error.error.errorsMessages && error.error.errorsMessages.length > 0)\n ? error.error.errorsMessages[0]\n : 'Ocurrió un error de conexión al registrar la transferencia.';\n this.statusPay.emit({\n success: false,\n paymentId: '',\n integrator: 'BANK_TRANSFER'\n });\n console.error('Error BankTransferApiService:', error);\n }\n );\n }\n\n public get cuitControl() {\n return this.paymentForm.get('cuit');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { HttpClientModule } from '@angular/common/http';\nimport { BankTransferComponent } from './components/bank-transfer.component';\nimport { BankTransferApiService } from './services/bank-transfer.api.service';\n\n@NgModule({\n declarations: [\n BankTransferComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule\n ],\n exports: [\n BankTransferComponent\n ],\n providers: [\n BankTransferApiService\n ]\n})\nexport class BankTransferModule { }\n","import { NgModule } from '@angular/core';\n\nimport { MercadopagoModule } from './mercadopago/mercadopago.module';\nimport { PaypalModule } from './paypal/paypal.module';\nimport { SpsDecidirModule } from './sps-decidir/sps-decidir.module';\nimport { GoCuotasModule } from './go-cuotas/go-cuotas.module';\nimport { ModoModule } from './modo/modo.module';\nimport { BankTransferModule } from './bank-transfer/bank-transfer.module';\n\nconst LIB_MODULES = [\n MercadopagoModule,\n SpsDecidirModule,\n PaypalModule,\n GoCuotasModule,\n ModoModule,\n BankTransferModule\n];\n\n@NgModule({\n imports: LIB_MODULES,\n exports: LIB_MODULES\n})\nexport class VkPaymentsModule { }\n"],"names":["HttpHeaders","Injectable","HttpClient","EventEmitter","tslib_1.__values","Component","Router","Input","Output","ViewChild","NgModule","CommonModule","FormsModule","ReactiveFormsModule","RouterModule","HttpClientModule","COMPONENTS","FormGroup","FormControl"],"mappings":"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CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC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"}