vk-payments 0.0.19 → 0.0.21

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.js","sources":["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/vk-payments.module.ts"],"sourcesContent":["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 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() publishableKey: 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.publishableKey);\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 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 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 = 15;\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 { 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';\n\nconst LIB_MODULES = [\n MercadopagoModule,\n SpsDecidirModule,\n PaypalModule\n];\n\n@NgModule({\n imports: LIB_MODULES,\n exports: LIB_MODULES\n})\nexport class VkPaymentsModule { }\n"],"names":["tslib_1.__values"],"mappings":"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AQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GA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"}
1
+ {"version":3,"file":"vk-payments.js","sources":["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/vk-payments.module.ts"],"sourcesContent":["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.spsDecidirApiService.getDecidirConfigByBin(this.cardText.substring(0, 8), this.vkUrlApi)\n .subscribe(config => {\n if(config ='SPS-Decidir-Supervielle'){\n console.log('Modo Supervielle');\n this.decidir.setPublishableKey(this.superviellePublishableKey);\n }\n\n this.paymentState = 'processing';\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 { 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';\n\nconst LIB_MODULES = [\n MercadopagoModule,\n SpsDecidirModule,\n PaypalModule\n];\n\n@NgModule({\n imports: LIB_MODULES,\n exports: LIB_MODULES\n})\nexport class VkPaymentsModule { }\n"],"names":["tslib_1.__values"],"mappings":"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AC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;gBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,U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"}
@@ -13,7 +13,8 @@ export declare class SpsDecidirComponent implements OnInit, OnChanges {
13
13
  paymentAmount: string;
14
14
  logoSps: string;
15
15
  currency: string;
16
- publishableKey: string;
16
+ defaultPublishableKey: string;
17
+ superviellePublishableKey: string;
17
18
  successUrl: string;
18
19
  failureUrl: string;
19
20
  useCybersource: boolean;
@@ -6,6 +6,7 @@ export declare class SpsDecidirApiService {
6
6
  private authHeaders;
7
7
  constructor(httpClient: HttpClient);
8
8
  makePayment(payment: Payment, access_token: string, url: string): Observable<any>;
9
+ getDecidirConfigByBin(bin: string, url: string): Observable<any>;
9
10
  normalizeUrl(url: string): string;
10
11
  getCreditCards(access_token: string, url: string, domainId: number): Observable<ResponseApi>;
11
12
  getPlansByCreditCardId(access_token: string, url: string, amount: string, creditCardId: number, domainId: number, bin: string): Observable<ResponseApi>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vk-payments",
3
- "version": "0.0.19",
3
+ "version": "0.0.21",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^8.2.11",
6
6
  "@angular/core": "^8.2.11",