@xsolla/payment-client-core 0.2.5 → 0.2.7
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.
- package/esm2020/lib/core/sdk-payment-systems/google-pay/google-pay.service.mjs +7 -22
- package/fesm2015/xsolla-payment-client-core.mjs +14 -28
- package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
- package/fesm2020/xsolla-payment-client-core.mjs +14 -28
- package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
- package/lib/core/sdk-payment-systems/google-pay/google-pay.service.d.ts +1 -4
- package/package.json +1 -1
- package/xsolla-payment-client-core-0.2.7.tgz +0 -0
- package/xsolla-payment-client-core-0.2.5.tgz +0 -0
|
@@ -5,7 +5,6 @@ import { AppError } from '../../exceptions-handling/errors/app-error.class';
|
|
|
5
5
|
import { CheckStatusActionCreator } from '../../payment/actions/check-status/check-status.action.class';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "../payment-systems/payment-system-processing.service";
|
|
8
|
-
import * as i2 from "@angular/common/http";
|
|
9
8
|
export class GooglePayService {
|
|
10
9
|
get libraryWasInitialized() {
|
|
11
10
|
return !!this.window.google;
|
|
@@ -13,18 +12,14 @@ export class GooglePayService {
|
|
|
13
12
|
get googlePaymentClientWasInitialized() {
|
|
14
13
|
return !!this.googlePaymentClient;
|
|
15
14
|
}
|
|
16
|
-
constructor(window, commonPayProcessingService,
|
|
15
|
+
constructor(window, commonPayProcessingService, injector) {
|
|
17
16
|
this.window = window;
|
|
18
17
|
this.commonPayProcessingService = commonPayProcessingService;
|
|
19
|
-
this.httpClient = httpClient;
|
|
20
18
|
this.injector = injector;
|
|
21
19
|
this.googlePayScriptUrl = 'https://pay.google.com/gp/p/js/pay.js';
|
|
22
20
|
this.readyToPay = new BehaviorSubject(null);
|
|
23
21
|
this.checkout = null;
|
|
24
22
|
this.googlePaymentClient = null;
|
|
25
|
-
this.commonPayProcessingService.status$.subscribe((path) => {
|
|
26
|
-
this.sendUserBack(path);
|
|
27
|
-
});
|
|
28
23
|
}
|
|
29
24
|
get readyToPay$() {
|
|
30
25
|
return this.readyToPay.asObservable();
|
|
@@ -32,9 +27,6 @@ export class GooglePayService {
|
|
|
32
27
|
isReadyToPay() {
|
|
33
28
|
return this.readyToPay.getValue();
|
|
34
29
|
}
|
|
35
|
-
sendUserBack(path) {
|
|
36
|
-
this.httpClient.get(path, { responseType: 'text' }).subscribe();
|
|
37
|
-
}
|
|
38
30
|
initGooglePayLibrary(data) {
|
|
39
31
|
this.isSandbox = data.isSandbox;
|
|
40
32
|
this.country = data.country;
|
|
@@ -105,16 +97,10 @@ export class GooglePayService {
|
|
|
105
97
|
if (!this.checkout) {
|
|
106
98
|
throw new AppError('Google Pay: no checkout data in then');
|
|
107
99
|
}
|
|
108
|
-
|
|
100
|
+
let returnUrl = this.checkout.request.form.fields.returnSuccessUrl;
|
|
109
101
|
const data = this.checkout.request.form.fields;
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
113
|
-
returnUrl.searchParams.append('descriptor', data.descriptor);
|
|
114
|
-
returnUrl.searchParams.append('paymentData', JSON.stringify(paymentData));
|
|
115
|
-
this.commonPayProcessingService.emitPayment(returnUrl.toString());
|
|
116
|
-
console.log('return url success', returnUrl.toString());
|
|
117
|
-
console.log('return url success obj', returnUrl);
|
|
102
|
+
returnUrl += `&cpf_number=${data.cpf_number}&descriptor=${data.descriptor}&paymentData=${JSON.stringify(paymentData)}`;
|
|
103
|
+
this.commonPayProcessingService.emitPayment(returnUrl);
|
|
118
104
|
return checkStatusAction;
|
|
119
105
|
}
|
|
120
106
|
catch (error) {
|
|
@@ -128,7 +114,6 @@ export class GooglePayService {
|
|
|
128
114
|
return null;
|
|
129
115
|
}
|
|
130
116
|
const returnUrl = this.checkout.request.form.fields.returnFailUrl;
|
|
131
|
-
console.log('fail return url', returnUrl);
|
|
132
117
|
this.commonPayProcessingService.emitPayment(returnUrl);
|
|
133
118
|
return checkStatusAction;
|
|
134
119
|
}
|
|
@@ -178,7 +163,7 @@ export class GooglePayService {
|
|
|
178
163
|
return statusCode.toLowerCase() === 'canceled';
|
|
179
164
|
}
|
|
180
165
|
}
|
|
181
|
-
GooglePayService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: GooglePayService, deps: [{ token: windowToken }, { token: i1.PaymentSystemProcessingService }, { token:
|
|
166
|
+
GooglePayService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: GooglePayService, deps: [{ token: windowToken }, { token: i1.PaymentSystemProcessingService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
182
167
|
GooglePayService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: GooglePayService, providedIn: 'root' });
|
|
183
168
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: GooglePayService, decorators: [{
|
|
184
169
|
type: Injectable,
|
|
@@ -188,5 +173,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
188
173
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
189
174
|
type: Inject,
|
|
190
175
|
args: [windowToken]
|
|
191
|
-
}] }, { type: i1.PaymentSystemProcessingService }, { type:
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLXBheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9nb29nbGUtcGF5L2dvb2dsZS1wYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQU03RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUk1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7OztBQU14RyxNQUFNLE9BQU8sZ0JBQWdCO0lBVzNCLElBQVkscUJBQXFCO1FBQy9CLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFZLGlDQUFpQztRQUMzQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDcEMsQ0FBQztJQUVELFlBQ3dDLE1BQXNCLEVBQzVDLDBCQUEwRCxFQUMxRCxVQUFzQixFQUN0QixRQUFrQjtRQUhJLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQzVDLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBZ0M7UUFDMUQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBdEJuQix1QkFBa0IsR0FBRyx1Q0FBdUMsQ0FBQztRQUU3RCxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQWlCLElBQUksQ0FBQyxDQUFDO1FBRWhFLGFBQVEsR0FBNkIsSUFBSSxDQUFD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LEVBQUUsQ0FBQztvQkFFNUIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDdEQ7WUFDSCxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFFakIsTUFBTSxJQUFJLFFBQVEsQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1NBQ25FO2FBQU07WUFDTCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUU1QixJQUFJLENBQUMsMEJBQTBCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3REO0lBQ0gsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFVBQWtCO1FBQzFDLE9BQU8sVUFBVSxDQUFDLFdBQVcsRUFBRSxLQUFLLFVBQVUsQ0FBQztJQUNqRCxDQUFDOzs2R0FwUVUsZ0JBQWdCLGtCQW9CakIsV0FBVztpSEFwQlYsZ0JBQWdCLGNBRmYsTUFBTTsyRkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFxQkksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR29vZ2xlUGF5Q2hlY2tvdXQgfSBmcm9tICcuL2dvb2dsZS1wYXktY2hlY2tvdXQuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIEdvb2dsZVBheUNsaWVudCxcbiAgR29vZ2xlUGF5UGF5bWVudFJlcXVlc3QsXG59IGZyb20gJy4vZ29vZ2xlLXBheS1saWJyYXJ5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpbHRlciwgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vcGF5bWVudC1zeXN0ZW1zL3BheW1lbnQtc3lzdGVtLXByb2Nlc3Npbmcuc2VydmljZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQgeyBFeHRlbmRlZFdpbmRvdyB9IGZyb20gJy4uLy4uL2V4dGVuZGVkLXdpbmRvdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwRXJyb3IgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9hcHAtZXJyb3IuY2xhc3MnO1xuaW1wb3J0IHsgR29vZ2xlUGF5SW5pdFBhcmFtcyB9IGZyb20gJy4vZ29vZ2xlLXBheS1pbml0LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE5leHRBY3Rpb24gfSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvbmV4dC1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IENoZWNrU3RhdHVzQWN0aW9uQ3JlYXRvciB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9jaGVjay1zdGF0dXMvY2hlY2stc3RhdHVzLmFjdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBDaGVja1N0YXR1c0FjdGlvbiB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9jaGVjay1zdGF0dXMvY2hlY2stc3RhdHVzLmFjdGlvbi50eXBlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEdvb2dsZVBheVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGdvb2dsZVBheVNjcmlwdFVybCA9ICdodHRwczovL3BheS5nb29nbGUuY29tL2dwL3AvanMvcGF5LmpzJztcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlYWR5VG9QYXkgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4gfCBudWxsPihudWxsKTtcblxuICBwcml2YXRlIGNoZWNrb3V0OiBHb29nbGVQYXlDaGVja291dCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGdvb2dsZVBheW1lbnRDbGllbnQ6IEdvb2dsZVBheUNsaWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgaXNTYW5kYm94ITogYm9vbGVhbjtcbiAgcHJpdmF0ZSBjb3VudHJ5ITogc3RyaW5nO1xuXG4gIHByaXZhdGUgZ2V0IGxpYnJhcnlXYXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLndpbmRvdy5nb29nbGU7XG4gIH1cblxuICBwcml2YXRlIGdldCBnb29nbGVQYXltZW50Q2xpZW50V2FzSW5pdGlhbGl6ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5nb29nbGVQYXltZW50Q2xpZW50O1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3Qod2luZG93VG9rZW4pIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBFeHRlbmRlZFdpbmRvdyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29tbW9uUGF5UHJvY2Vzc2luZ1NlcnZpY2U6IFBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge1xuICAgIHRoaXMuY29tbW9uUGF5UHJvY2Vzc2luZ1NlcnZpY2Uuc3RhdHVzJC5zdWJzY3JpYmUoKHBhdGgpID0+IHtcbiAgICAgIHRoaXMuc2VuZFVzZXJCYWNrKHBhdGgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCByZWFkeVRvUGF5JCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMucmVhZHlUb1BheS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1JlYWR5VG9QYXkoKTogYm9vbGVhbiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnJlYWR5VG9QYXkuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kVXNlckJhY2socGF0aDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5odHRwQ2xpZW50LmdldChwYXRoLCB7IHJlc3BvbnNlVHlwZTogJ3RleHQnIH0pLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIGluaXRHb29nbGVQYXlMaWJyYXJ5KGRhdGE6IEdvb2dsZVBheUluaXRQYXJhbXMpOiB2b2lkIHtcbiAgICB0aGlzLmlzU2FuZGJveCA9IGRhdGEuaXNTYW5kYm94O1xuICAgIHRoaXMuY291bnRyeSA9IGRhdGEuY291bnRyeTtcblxuICAgIGlmICh0aGlzLmxpYnJhcnlXYXNJbml0aWFsaXplZCAmJiB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnRXYXNJbml0aWFsaXplZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxpYnJhcnlXYXNJbml0aWFsaXplZCAmJiAhdGhpcy5nb29nbGVQYXltZW50Q2xpZW50V2FzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuc2V0dXBHb29nbGVQYXlDbGllbnQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNvbW1vblBheVByb2Nlc3NpbmdTZXJ2aWNlLmxvYWRTY3JpcHQoXG4gICAgICB0aGlzLmdvb2dsZVBheVNjcmlwdFVybCxcbiAgICAgIHRoaXMub25Mb2FkU2NyaXB0LmJpbmQodGhpcylcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGNoZWNrUGF5bWVudERldmljZShiYXNlNjRjaGVja291dERhdGE6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY29tbW9uUGF5UHJvY2Vzc2luZ1NlcnZpY2UuaW5pdGlhbGl6ZSRcbiAgICAgIC5waXBlKGZpbHRlcihCb29sZWFuKSwgdGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNoZWNrb3V0ID1cbiAgICAgICAgICB0aGlzLmNvbW1vblBheVByb2Nlc3NpbmdTZXJ2aWNlLmdldERlY29kZWRDaGVja291dDxHb29nbGVQYXlDaGVja291dD4oXG4gICAgICAgICAgICBiYXNlNjRjaGVja291dERhdGFcbiAgICAgICAgICApO1xuXG4gICAgICAgIGlmICghdGhpcy5jaGVja291dCB8fCAhdGhpcy5nb29nbGVQYXltZW50Q2xpZW50KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKFxuICAgICAgICAgICAgYEdvb2dsZSBQYXk6IG5vIGNoZWNrb3V0IG9yIGdvb2dsZSBwYXltZW50IGNsaWVudCwgY2hlY2tvdXQgLSAke0Jvb2xlYW4oXG4gICAgICAgICAgICAgIHRoaXMuY2hlY2tvdXRcbiAgICAgICAgICAgICkudG9TdHJpbmcoKX0sIGNsaWVudCAtICR7Qm9vbGVhbihcbiAgICAgICAgICAgICAgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50XG4gICAgICAgICAgICApLnRvU3RyaW5nKCl9YFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjaGVja291dERhdGEgPSB0aGlzLmNoZWNrb3V0LnJlcXVlc3QuZm9ybS5maWVsZHM7XG4gICAgICAgIGNvbnN0IGlzUmVhZHlUb1BheVJlcXVlc3QgPSBKU09OLnBhcnNlKFxuICAgICAgICAgIGNoZWNrb3V0RGF0YS5pc1JlYWR5VG9QYXlSZXF1ZXN0XG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50XG4gICAgICAgICAgLmlzUmVhZHlUb1BheShpc1JlYWR5VG9QYXlSZXF1ZXN0KVxuICAgICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlc3VsdCAmJiB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQpIHtcbiAgICAgICAgICAgICAgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50LnByZWZldGNoUGF5bWVudERhdGEoXG4gICAgICAgICAgICAgICAgSlNPTi5wYXJzZShjaGVja291dERhdGEucGF5bWVudERhdGFSZXF1ZXN0KVxuICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlYWR5VG9QYXkubmV4dCh0cnVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5yZWFkeVRvUGF5Lm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gcmVzcG9uc2UucmVzdWx0Py50b1N0cmluZygpID8/ICcnO1xuICAgICAgICAgICAgY29uc3QgaXNIYXZlUGF5bWVudENsaWVudCA9IEJvb2xlYW4oXG4gICAgICAgICAgICAgIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudFxuICAgICAgICAgICAgKS50b1N0cmluZygpO1xuXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgIGBHb29nbGUgUGF5OiBwb3NzaWJseSBubyByZXNwb25zZS5yZXN1bHQgb3IgZ29vZ2xlUGF5bWVudENsaWVudCBpcyBtaXNzaW5nLCByZXN1bHQgLSAke3Jlc3VsdH0sIGlzSGF2ZVBheW1lbnRDbGllbnQgLSAke2lzSGF2ZVBheW1lbnRDbGllbnR9YFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVhZHlUb1BheS5uZXh0KGZhbHNlKTtcblxuICAgICAgICAgICAgbGV0IG1lc3NhZ2UgPSAoZXJyb3IgYXMgc3RyaW5nKSA/PyAnJztcblxuICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgICAgbWVzc2FnZSA9IGVycm9yLm1lc3NhZ2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRocm93IG5ldyBBcHBFcnJvcihcbiAgICAgICAgICAgICAgYEdvb2dsZSBQYXk6IGRldmljZSBpcyBub3QgcmVhZHkgdG8gcGF5LCAke21lc3NhZ2V9YFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHByb2NlZWRDaGVja291dCgpOiBQcm9taXNlPENoZWNrU3RhdHVzQWN0aW9uIHwgbnVsbD4ge1xuICAgIGlmICghdGhpcy5jaGVja291dCB8fCAhdGhpcy5nb29nbGVQYXltZW50Q2xpZW50KSB7XG4gICAgICBjb25zdCBpc0hhdmVDaGVja291dCA9ICEhdGhpcy5jaGVja291dDtcbiAgICAgIGNvbnN0IGlzSGF2ZUNsaWVudCA9ICEhdGhpcy5nb29nbGVQYXltZW50Q2xpZW50O1xuXG4gICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoXG4gICAgICAgIGBHb29nbGUgUGF5OiBubyBjaGVja291dCBvciBnb29nbGUgcGF5bWVudCBjbGllbnQsIGNoZWNrb3V0IC0gJHtpc0hhdmVDaGVja291dC50b1N0cmluZygpfSwgY2xpZW50IC0gJHtpc0hhdmVDbGllbnQudG9TdHJpbmcoKX1gXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGNoZWNrb3V0RGF0YSA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcztcblxuICAgIGNvbnN0IHBheW1lbnREYXRhUmVxdWVzdCA9IEpTT04ucGFyc2UoXG4gICAgICBjaGVja291dERhdGEucGF5bWVudERhdGFSZXF1ZXN0XG4gICAgKSBhcyBHb29nbGVQYXlQYXltZW50UmVxdWVzdDtcblxuICAgIHBheW1lbnREYXRhUmVxdWVzdC50cmFuc2FjdGlvbkluZm8gPSB7XG4gICAgICBjdXJyZW5jeUNvZGU6IGNoZWNrb3V0RGF0YS5jdXJyZW5jeSxcbiAgICAgIHRvdGFsUHJpY2VTdGF0dXM6ICdGSU5BTCcsXG4gICAgICB0b3RhbFByaWNlOiBjaGVja291dERhdGEuc3VtLFxuICAgICAgY291bnRyeUNvZGU6IHRoaXMuY291bnRyeSxcbiAgICB9O1xuXG4gICAgY29uc3QgY2hlY2tTdGF0dXNBY3Rpb246IE5leHRBY3Rpb24gPSB0aGlzLmluamVjdG9yXG4gICAgICAuZ2V0PENoZWNrU3RhdHVzQWN0aW9uQ3JlYXRvcj4oQ2hlY2tTdGF0dXNBY3Rpb25DcmVhdG9yKVxuICAgICAgLmdldEFjdGlvbkRhdGEoKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXltZW50RGF0YSA9IGF3YWl0IHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudC5sb2FkUGF5bWVudERhdGEoXG4gICAgICAgIHBheW1lbnREYXRhUmVxdWVzdFxuICAgICAgKTtcblxuICAgICAgaWYgKCFwYXltZW50RGF0YT8ucGF5bWVudE1ldGhvZERhdGE/LnRva2VuaXphdGlvbkRhdGE/LnRva2VuKSB7XG4gICAgICAgIHRocm93IG5ldyBBcHBFcnJvcignR29vZ2xlIFBheTogdG9rZW4gaXMgbWlzc2luZycpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuY2hlY2tvdXQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKCdHb29nbGUgUGF5OiBubyBjaGVja291dCBkYXRhIGluIHRoZW4nKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmV0dXJuVXJsID0gbmV3IFVSTChcbiAgICAgICAgdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzLnJldHVyblN1Y2Nlc3NVcmxcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmNoZWNrb3V0LnJlcXVlc3QuZm9ybS5maWVsZHM7XG4gICAgICBpZiAoZGF0YS5jcGZfbnVtYmVyKSB7XG4gICAgICAgIHJldHVyblVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdjcGZfbnVtYmVyJywgZGF0YS5jcGZfbnVtYmVyLnRvU3RyaW5nKCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm5Vcmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnZGVzY3JpcHRvcicsIGRhdGEuZGVzY3JpcHRvcik7XG4gICAgICByZXR1cm5Vcmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgncGF5bWVudERhdGEnLCBKU09OLnN0cmluZ2lmeShwYXltZW50RGF0YSkpO1xuXG4gICAgICB0aGlzLmNvbW1vblBheVByb2Nlc3NpbmdTZXJ2aWNlLmVtaXRQYXltZW50KHJldHVyblVybC50b1N0cmluZygpKTtcblxuICAgICAgY29uc29sZS5sb2coJ3JldHVybiB1cmwgc3VjY2VzcycsIHJldHVyblVybC50b1N0cmluZygpKTtcbiAgICAgIGNvbnNvbGUubG9nKCdyZXR1cm4gdXJsIHN1Y2Nlc3Mgb2JqJywgcmV0dXJuVXJsKTtcblxuICAgICAgcmV0dXJuIGNoZWNrU3RhdHVzQWN0aW9uO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICBpZiAoIXRoaXMuY2hlY2tvdXQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKGBHb29nbGUgUGF5OiBubyBjaGVja291dCBkYXRhYCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHN0YXR1c0NvZGUgPSAoZXJyb3IgYXMgdW5rbm93biBhcyB7IHN0YXR1c0NvZGU/OiBzdHJpbmcgfSlcbiAgICAgICAgPy5zdGF0dXNDb2RlO1xuXG4gICAgICBjb25zdCBpc1N0YXR1c0NhbmNlbGVkID0gc3RhdHVzQ29kZSAmJiB0aGlzLmlzQ2FuY2VsbGVkU3RhdHVzKHN0YXR1c0NvZGUpO1xuXG4gICAgICBpZiAoaXNTdGF0dXNDYW5jZWxlZCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmV0dXJuVXJsID0gdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzLnJldHVybkZhaWxVcmw7XG5cbiAgICAgIGNvbnNvbGUubG9nKCdmYWlsIHJldHVybiB1cmwnLCByZXR1cm5VcmwpO1xuXG4gICAgICB0aGlzLmNvbW1vblBheVByb2Nlc3NpbmdTZXJ2aWNlLmVtaXRQYXltZW50KHJldHVyblVybCk7XG5cbiAgICAgIHJldHVybiBjaGVja1N0YXR1c0FjdGlvbjtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlQnV0dG9uKG9uQ2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkKTogSFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuY2hlY2tvdXQgfHwgIXRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgY2hlY2tvdXREYXRhID0gdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzO1xuICAgIGNvbnN0IHBheW1lbnREYXRhUmVxdWVzdCA9IEpTT04ucGFyc2UoXG4gICAgICBjaGVja291dERhdGEucGF5bWVudERhdGFSZXF1ZXN0XG4gICAgKSBhcyBHb29nbGVQYXlQYXltZW50UmVxdWVzdDtcblxuICAgIHJldHVybiB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQuY3JlYXRlQnV0dG9uKHtcbiAgICAgIG9uQ2xpY2s6IG9uQ2xpY2tIYW5kbGVyLFxuICAgICAgYWxsb3dlZFBheW1lbnRNZXRob2RzOiBwYXltZW50RGF0YVJlcXVlc3QuYWxsb3dlZFBheW1lbnRNZXRob2RzLFxuICAgICAgYnV0dG9uU2l6ZU1vZGU6ICdmaWxsJyxcbiAgICAgIGJ1dHRvblR5cGU6ICdidXknLFxuICAgICAgYnV0dG9uQ29sb3I6ICd3aGl0ZScsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwR29vZ2xlUGF5Q2xpZW50KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy53aW5kb3cuZ29vZ2xlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZW52aXJvbm1lbnQgPSB0aGlzLmlzU2FuZGJveCA/ICdURVNUJyA6ICdQUk9EVUNUSU9OJztcblxuICAgIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCA9XG4gICAgICBuZXcgdGhpcy53aW5kb3cuZ29vZ2xlLnBheW1lbnRzLmFwaS5QYXltZW50c0NsaWVudCh7XG4gICAgICAgIGVudmlyb25tZW50LFxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9uTG9hZFNjcmlwdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMud2luZG93Lmdvb2dsZSkge1xuICAgICAgY29uc3QgcmV0cnlUaW1lb3V0ID0gMTAwMDtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzQXZhaWxhYmxlR29vZ2xlQ2xpZW50ID0gISF0aGlzLndpbmRvdy5nb29nbGU7XG5cbiAgICAgICAgaWYgKGlzQXZhaWxhYmxlR29vZ2xlQ2xpZW50KSB7XG4gICAgICAgICAgdGhpcy5zZXR1cEdvb2dsZVBheUNsaWVudCgpO1xuXG4gICAgICAgICAgdGhpcy5jb21tb25QYXlQcm9jZXNzaW5nU2VydmljZS5lbWl0SW5pdGlhbGl6ZSh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSwgcmV0cnlUaW1lb3V0KTtcblxuICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKCdHb29nbGUgUGF5OiBnb29nbGUgbGlicmFyeSBub3cgaXMgYXZhaWxhYmxlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0dXBHb29nbGVQYXlDbGllbnQoKTtcblxuICAgICAgdGhpcy5jb21tb25QYXlQcm9jZXNzaW5nU2VydmljZS5lbWl0SW5pdGlhbGl6ZSh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzQ2FuY2VsbGVkU3RhdHVzKHN0YXR1c0NvZGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdGF0dXNDb2RlLnRvTG93ZXJDYXNlKCkgPT09ICdjYW5jZWxlZCc7XG4gIH1cbn1cbiJdfQ==
|
|
176
|
+
}] }, { type: i1.PaymentSystemProcessingService }, { type: i0.Injector }]; } });
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLXBheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9nb29nbGUtcGF5L2dvb2dsZS1wYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQU03RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUc1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7O0FBTXhHLE1BQU0sT0FBTyxnQkFBZ0I7SUFXM0IsSUFBWSxxQkFBcUI7UUFDL0IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVksaUNBQWlDO1FBQzNDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNwQyxDQUFDO0lBRUQsWUFDd0MsTUFBc0IsRUFDNUMsMEJBQTBELEVBQzFELFFBQWtCO1FBRkksV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDNUMsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUFnQztRQUMxRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBckJuQix1QkFBa0IsR0FBRyx1Q0FBdUMsQ0FBQztRQUU3RCxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQWlCLElBQUksQ0FBQyxDQUFDO1FBRWhFLGFBQVEsR0FBNkIsSUFBSSxDQUFDO1FBQzFDLHdCQUFtQixHQUEyQixJQUFJLENBQUM7SUFpQnhELENB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LFlBQVk7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ3ZCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQztZQUUxQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO2dCQUVyRCxJQUFJLHVCQUF1QixFQUFFO29CQUMzQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztvQkFFNUIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDdEQ7WUFDSCxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFFakIsTUFBTSxJQUFJLFFBQVEsQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1NBQ25FO2FBQU07WUFDTCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUU1QixJQUFJLENBQUMsMEJBQTBCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3REO0lBQ0gsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFVBQWtCO1FBQzFDLE9BQU8sVUFBVSxDQUFDLFdBQVcsRUFBRSxLQUFLLFVBQVUsQ0FBQztJQUNqRCxDQUFDOzs2R0FqUFUsZ0JBQWdCLGtCQW9CakIsV0FBVztpSEFwQlYsZ0JBQWdCLGNBRmYsTUFBTTsyRkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFxQkksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR29vZ2xlUGF5Q2hlY2tvdXQgfSBmcm9tICcuL2dvb2dsZS1wYXktY2hlY2tvdXQuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIEdvb2dsZVBheUNsaWVudCxcbiAgR29vZ2xlUGF5UGF5bWVudFJlcXVlc3QsXG59IGZyb20gJy4vZ29vZ2xlLXBheS1saWJyYXJ5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpbHRlciwgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vcGF5bWVudC1zeXN0ZW1zL3BheW1lbnQtc3lzdGVtLXByb2Nlc3Npbmcuc2VydmljZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQgeyBFeHRlbmRlZFdpbmRvdyB9IGZyb20gJy4uLy4uL2V4dGVuZGVkLXdpbmRvdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwRXJyb3IgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9hcHAtZXJyb3IuY2xhc3MnO1xuaW1wb3J0IHsgR29vZ2xlUGF5SW5pdFBhcmFtcyB9IGZyb20gJy4vZ29vZ2xlLXBheS1pbml0LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmV4dEFjdGlvbiB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9uZXh0LWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2hlY2tTdGF0dXNBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IENoZWNrU3RhdHVzQWN0aW9uIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLnR5cGUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgR29vZ2xlUGF5U2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZ29vZ2xlUGF5U2NyaXB0VXJsID0gJ2h0dHBzOi8vcGF5Lmdvb2dsZS5jb20vZ3AvcC9qcy9wYXkuanMnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVhZHlUb1BheSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbiB8IG51bGw+KG51bGwpO1xuXG4gIHByaXZhdGUgY2hlY2tvdXQ6IEdvb2dsZVBheUNoZWNrb3V0IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZ29vZ2xlUGF5bWVudENsaWVudDogR29vZ2xlUGF5Q2xpZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBpc1NhbmRib3ghOiBib29sZWFuO1xuICBwcml2YXRlIGNvdW50cnkhOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBnZXQgbGlicmFyeVdhc0luaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMud2luZG93Lmdvb2dsZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGdvb2dsZVBheW1lbnRDbGllbnRXYXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQ7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCh3aW5kb3dUb2tlbikgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IEV4dGVuZGVkV2luZG93LFxuICAgIHB1YmxpYyByZWFkb25seSBjb21tb25QYXlQcm9jZXNzaW5nU2VydmljZTogUGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXQgcmVhZHlUb1BheSQoKTogT2JzZXJ2YWJsZTxib29sZWFuIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnJlYWR5VG9QYXkuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgaXNSZWFkeVRvUGF5KCk6IGJvb2xlYW4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5yZWFkeVRvUGF5LmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdEdvb2dsZVBheUxpYnJhcnkoZGF0YTogR29vZ2xlUGF5SW5pdFBhcmFtcyk6IHZvaWQge1xuICAgIHRoaXMuaXNTYW5kYm94ID0gZGF0YS5pc1NhbmRib3g7XG4gICAgdGhpcy5jb3VudHJ5ID0gZGF0YS5jb3VudHJ5O1xuXG4gICAgaWYgKHRoaXMubGlicmFyeVdhc0luaXRpYWxpemVkICYmIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudFdhc0luaXRpYWxpemVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubGlicmFyeVdhc0luaXRpYWxpemVkICYmICF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnRXYXNJbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5zZXR1cEdvb2dsZVBheUNsaWVudCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY29tbW9uUGF5UHJvY2Vzc2luZ1NlcnZpY2UubG9hZFNjcmlwdChcbiAgICAgIHRoaXMuZ29vZ2xlUGF5U2NyaXB0VXJsLFxuICAgICAgdGhpcy5vbkxvYWRTY3JpcHQuYmluZCh0aGlzKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tQYXltZW50RGV2aWNlKGJhc2U2NGNoZWNrb3V0RGF0YTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb21tb25QYXlQcm9jZXNzaW5nU2VydmljZS5pbml0aWFsaXplJFxuICAgICAgLnBpcGUoZmlsdGVyKEJvb2xlYW4pLCB0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2hlY2tvdXQgPVxuICAgICAgICAgIHRoaXMuY29tbW9uUGF5UHJvY2Vzc2luZ1NlcnZpY2UuZ2V0RGVjb2RlZENoZWNrb3V0PEdvb2dsZVBheUNoZWNrb3V0PihcbiAgICAgICAgICAgIGJhc2U2NGNoZWNrb3V0RGF0YVxuICAgICAgICAgICk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmNoZWNrb3V0IHx8ICF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoXG4gICAgICAgICAgICBgR29vZ2xlIFBheTogbm8gY2hlY2tvdXQgb3IgZ29vZ2xlIHBheW1lbnQgY2xpZW50LCBjaGVja291dCAtICR7Qm9vbGVhbihcbiAgICAgICAgICAgICAgdGhpcy5jaGVja291dFxuICAgICAgICAgICAgKS50b1N0cmluZygpfSwgY2xpZW50IC0gJHtCb29sZWFuKFxuICAgICAgICAgICAgICB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnRcbiAgICAgICAgICAgICkudG9TdHJpbmcoKX1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNoZWNrb3V0RGF0YSA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcztcbiAgICAgICAgY29uc3QgaXNSZWFkeVRvUGF5UmVxdWVzdCA9IEpTT04ucGFyc2UoXG4gICAgICAgICAgY2hlY2tvdXREYXRhLmlzUmVhZHlUb1BheVJlcXVlc3RcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnRcbiAgICAgICAgICAuaXNSZWFkeVRvUGF5KGlzUmVhZHlUb1BheVJlcXVlc3QpXG4gICAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzcG9uc2UucmVzdWx0ICYmIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCkge1xuICAgICAgICAgICAgICB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQucHJlZmV0Y2hQYXltZW50RGF0YShcbiAgICAgICAgICAgICAgICBKU09OLnBhcnNlKGNoZWNrb3V0RGF0YS5wYXltZW50RGF0YVJlcXVlc3QpXG4gICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVhZHlUb1BheS5uZXh0KHRydWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnJlYWR5VG9QYXkubmV4dChmYWxzZSk7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSByZXNwb25zZS5yZXN1bHQ/LnRvU3RyaW5nKCkgPz8gJyc7XG4gICAgICAgICAgICBjb25zdCBpc0hhdmVQYXltZW50Q2xpZW50ID0gQm9vbGVhbihcbiAgICAgICAgICAgICAgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50XG4gICAgICAgICAgICApLnRvU3RyaW5nKCk7XG5cbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgYEdvb2dsZSBQYXk6IHBvc3NpYmx5IG5vIHJlc3BvbnNlLnJlc3VsdCBvciBnb29nbGVQYXltZW50Q2xpZW50IGlzIG1pc3NpbmcsIHJlc3VsdCAtICR7cmVzdWx0fSwgaXNIYXZlUGF5bWVudENsaWVudCAtICR7aXNIYXZlUGF5bWVudENsaWVudH1gXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWFkeVRvUGF5Lm5leHQoZmFsc2UpO1xuXG4gICAgICAgICAgICBsZXQgbWVzc2FnZSA9IChlcnJvciBhcyBzdHJpbmcpID8/ICcnO1xuXG4gICAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgICBtZXNzYWdlID0gZXJyb3IubWVzc2FnZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKFxuICAgICAgICAgICAgICBgR29vZ2xlIFBheTogZGV2aWNlIGlzIG5vdCByZWFkeSB0byBwYXksICR7bWVzc2FnZX1gXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcHJvY2VlZENoZWNrb3V0KCk6IFByb21pc2U8Q2hlY2tTdGF0dXNBY3Rpb24gfCBudWxsPiB7XG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0IHx8ICF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQpIHtcbiAgICAgIGNvbnN0IGlzSGF2ZUNoZWNrb3V0ID0gISF0aGlzLmNoZWNrb3V0O1xuICAgICAgY29uc3QgaXNIYXZlQ2xpZW50ID0gISF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQ7XG5cbiAgICAgIHRocm93IG5ldyBBcHBFcnJvcihcbiAgICAgICAgYEdvb2dsZSBQYXk6IG5vIGNoZWNrb3V0IG9yIGdvb2dsZSBwYXltZW50IGNsaWVudCwgY2hlY2tvdXQgLSAke2lzSGF2ZUNoZWNrb3V0LnRvU3RyaW5nKCl9LCBjbGllbnQgLSAke2lzSGF2ZUNsaWVudC50b1N0cmluZygpfWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgY2hlY2tvdXREYXRhID0gdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzO1xuXG4gICAgY29uc3QgcGF5bWVudERhdGFSZXF1ZXN0ID0gSlNPTi5wYXJzZShcbiAgICAgIGNoZWNrb3V0RGF0YS5wYXltZW50RGF0YVJlcXVlc3RcbiAgICApIGFzIEdvb2dsZVBheVBheW1lbnRSZXF1ZXN0O1xuXG4gICAgcGF5bWVudERhdGFSZXF1ZXN0LnRyYW5zYWN0aW9uSW5mbyA9IHtcbiAgICAgIGN1cnJlbmN5Q29kZTogY2hlY2tvdXREYXRhLmN1cnJlbmN5LFxuICAgICAgdG90YWxQcmljZVN0YXR1czogJ0ZJTkFMJyxcbiAgICAgIHRvdGFsUHJpY2U6IGNoZWNrb3V0RGF0YS5zdW0sXG4gICAgICBjb3VudHJ5Q29kZTogdGhpcy5jb3VudHJ5LFxuICAgIH07XG5cbiAgICBjb25zdCBjaGVja1N0YXR1c0FjdGlvbjogTmV4dEFjdGlvbiA9IHRoaXMuaW5qZWN0b3JcbiAgICAgIC5nZXQ8Q2hlY2tTdGF0dXNBY3Rpb25DcmVhdG9yPihDaGVja1N0YXR1c0FjdGlvbkNyZWF0b3IpXG4gICAgICAuZ2V0QWN0aW9uRGF0YSgpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBheW1lbnREYXRhID0gYXdhaXQgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50LmxvYWRQYXltZW50RGF0YShcbiAgICAgICAgcGF5bWVudERhdGFSZXF1ZXN0XG4gICAgICApO1xuXG4gICAgICBpZiAoIXBheW1lbnREYXRhPy5wYXltZW50TWV0aG9kRGF0YT8udG9rZW5pemF0aW9uRGF0YT8udG9rZW4pIHtcbiAgICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKCdHb29nbGUgUGF5OiB0b2tlbiBpcyBtaXNzaW5nJyk7XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5jaGVja291dCkge1xuICAgICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoJ0dvb2dsZSBQYXk6IG5vIGNoZWNrb3V0IGRhdGEgaW4gdGhlbicpO1xuICAgICAgfVxuXG4gICAgICBsZXQgcmV0dXJuVXJsID0gdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzLnJldHVyblN1Y2Nlc3NVcmw7XG5cbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmNoZWNrb3V0LnJlcXVlc3QuZm9ybS5maWVsZHM7XG4gICAgICByZXR1cm5VcmwgKz0gYCZjcGZfbnVtYmVyPSR7ZGF0YS5jcGZfbnVtYmVyfSZkZXNjcmlwdG9yPSR7XG4gICAgICAgIGRhdGEuZGVzY3JpcHRvclxuICAgICAgfSZwYXltZW50RGF0YT0ke0pTT04uc3RyaW5naWZ5KHBheW1lbnREYXRhKX1gO1xuXG4gICAgICB0aGlzLmNvbW1vblBheVByb2Nlc3NpbmdTZXJ2aWNlLmVtaXRQYXltZW50KHJldHVyblVybCk7XG5cbiAgICAgIHJldHVybiBjaGVja1N0YXR1c0FjdGlvbjtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgaWYgKCF0aGlzLmNoZWNrb3V0KSB7XG4gICAgICAgIHRocm93IG5ldyBBcHBFcnJvcihgR29vZ2xlIFBheTogbm8gY2hlY2tvdXQgZGF0YWApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzdGF0dXNDb2RlID0gKGVycm9yIGFzIHVua25vd24gYXMgeyBzdGF0dXNDb2RlPzogc3RyaW5nIH0pXG4gICAgICAgID8uc3RhdHVzQ29kZTtcblxuICAgICAgY29uc3QgaXNTdGF0dXNDYW5jZWxlZCA9IHN0YXR1c0NvZGUgJiYgdGhpcy5pc0NhbmNlbGxlZFN0YXR1cyhzdGF0dXNDb2RlKTtcblxuICAgICAgaWYgKGlzU3RhdHVzQ2FuY2VsZWQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJldHVyblVybCA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcy5yZXR1cm5GYWlsVXJsO1xuXG4gICAgICB0aGlzLmNvbW1vblBheVByb2Nlc3NpbmdTZXJ2aWNlLmVtaXRQYXltZW50KHJldHVyblVybCk7XG5cbiAgICAgIHJldHVybiBjaGVja1N0YXR1c0FjdGlvbjtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlQnV0dG9uKG9uQ2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkKTogSFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuY2hlY2tvdXQgfHwgIXRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgY2hlY2tvdXREYXRhID0gdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzO1xuICAgIGNvbnN0IHBheW1lbnREYXRhUmVxdWVzdCA9IEpTT04ucGFyc2UoXG4gICAgICBjaGVja291dERhdGEucGF5bWVudERhdGFSZXF1ZXN0XG4gICAgKSBhcyBHb29nbGVQYXlQYXltZW50UmVxdWVzdDtcblxuICAgIHJldHVybiB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQuY3JlYXRlQnV0dG9uKHtcbiAgICAgIG9uQ2xpY2s6IG9uQ2xpY2tIYW5kbGVyLFxuICAgICAgYWxsb3dlZFBheW1lbnRNZXRob2RzOiBwYXltZW50RGF0YVJlcXVlc3QuYWxsb3dlZFBheW1lbnRNZXRob2RzLFxuICAgICAgYnV0dG9uU2l6ZU1vZGU6ICdmaWxsJyxcbiAgICAgIGJ1dHRvblR5cGU6ICdidXknLFxuICAgICAgYnV0dG9uQ29sb3I6ICd3aGl0ZScsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwR29vZ2xlUGF5Q2xpZW50KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy53aW5kb3cuZ29vZ2xlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZW52aXJvbm1lbnQgPSB0aGlzLmlzU2FuZGJveCA/ICdURVNUJyA6ICdQUk9EVUNUSU9OJztcblxuICAgIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCA9XG4gICAgICBuZXcgdGhpcy53aW5kb3cuZ29vZ2xlLnBheW1lbnRzLmFwaS5QYXltZW50c0NsaWVudCh7XG4gICAgICAgIGVudmlyb25tZW50LFxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9uTG9hZFNjcmlwdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMud2luZG93Lmdvb2dsZSkge1xuICAgICAgY29uc3QgcmV0cnlUaW1lb3V0ID0gMTAwMDtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzQXZhaWxhYmxlR29vZ2xlQ2xpZW50ID0gISF0aGlzLndpbmRvdy5nb29nbGU7XG5cbiAgICAgICAgaWYgKGlzQXZhaWxhYmxlR29vZ2xlQ2xpZW50KSB7XG4gICAgICAgICAgdGhpcy5zZXR1cEdvb2dsZVBheUNsaWVudCgpO1xuXG4gICAgICAgICAgdGhpcy5jb21tb25QYXlQcm9jZXNzaW5nU2VydmljZS5lbWl0SW5pdGlhbGl6ZSh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSwgcmV0cnlUaW1lb3V0KTtcblxuICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKCdHb29nbGUgUGF5OiBnb29nbGUgbGlicmFyeSBub3cgaXMgYXZhaWxhYmxlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0dXBHb29nbGVQYXlDbGllbnQoKTtcblxuICAgICAgdGhpcy5jb21tb25QYXlQcm9jZXNzaW5nU2VydmljZS5lbWl0SW5pdGlhbGl6ZSh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzQ2FuY2VsbGVkU3RhdHVzKHN0YXR1c0NvZGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdGF0dXNDb2RlLnRvTG93ZXJDYXNlKCkgPT09ICdjYW5jZWxlZCc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2,12 +2,12 @@ import { __awaiter } from 'tslib';
|
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { InjectionToken, Injectable, Inject, Pipe, isDevMode, NgModule } from '@angular/core';
|
|
4
4
|
import { firstValueFrom, lastValueFrom, map, Subject, BehaviorSubject, filter as filter$1, takeUntil, skip, take, throwError } from 'rxjs';
|
|
5
|
-
import * as
|
|
5
|
+
import * as i1 from '@angular/common/http';
|
|
6
6
|
import { HttpParams, HttpHeaders, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
7
7
|
import JSEncrypt from 'jsencrypt';
|
|
8
8
|
import { UntypedFormGroup, Validators, UntypedFormControl, ReactiveFormsModule } from '@angular/forms';
|
|
9
9
|
import { filter, map as map$1, tap, catchError } from 'rxjs/operators';
|
|
10
|
-
import * as i1 from '@angular/router';
|
|
10
|
+
import * as i1$1 from '@angular/router';
|
|
11
11
|
import { CommonModule } from '@angular/common';
|
|
12
12
|
|
|
13
13
|
const masksFunctionsMap = {
|
|
@@ -72,7 +72,7 @@ class SecureApiClient {
|
|
|
72
72
|
return this.isSandboxMode ? sandboxApiUrl : defaultApiUrl;
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
-
SecureApiClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SecureApiClient, deps: [{ token:
|
|
75
|
+
SecureApiClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SecureApiClient, deps: [{ token: i1.HttpClient }, { token: windowToken }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
76
76
|
SecureApiClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SecureApiClient, providedIn: 'root' });
|
|
77
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SecureApiClient, decorators: [{
|
|
78
78
|
type: Injectable,
|
|
@@ -80,7 +80,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
80
80
|
providedIn: 'root',
|
|
81
81
|
}]
|
|
82
82
|
}], ctorParameters: function () {
|
|
83
|
-
return [{ type:
|
|
83
|
+
return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
84
84
|
type: Inject,
|
|
85
85
|
args: [windowToken]
|
|
86
86
|
}] }];
|
|
@@ -4389,7 +4389,7 @@ class ElkLoggerService {
|
|
|
4389
4389
|
})).catch((err) => console.error('Elk Logger: request error', err));
|
|
4390
4390
|
}
|
|
4391
4391
|
}
|
|
4392
|
-
ElkLoggerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElkLoggerService, deps: [{ token: windowToken }, { token: SettingsService }, { token:
|
|
4392
|
+
ElkLoggerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElkLoggerService, deps: [{ token: windowToken }, { token: SettingsService }, { token: i1.HttpClient }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4393
4393
|
ElkLoggerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElkLoggerService, providedIn: 'root' });
|
|
4394
4394
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElkLoggerService, decorators: [{
|
|
4395
4395
|
type: Injectable,
|
|
@@ -4400,7 +4400,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
4400
4400
|
return [{ type: undefined, decorators: [{
|
|
4401
4401
|
type: Inject,
|
|
4402
4402
|
args: [windowToken]
|
|
4403
|
-
}] }, { type: SettingsService }, { type:
|
|
4403
|
+
}] }, { type: SettingsService }, { type: i1.HttpClient }, { type: i0.NgZone }];
|
|
4404
4404
|
} });
|
|
4405
4405
|
|
|
4406
4406
|
class CentrifugoWebSocketService {
|
|
@@ -5986,18 +5986,14 @@ class GooglePayService {
|
|
|
5986
5986
|
get googlePaymentClientWasInitialized() {
|
|
5987
5987
|
return !!this.googlePaymentClient;
|
|
5988
5988
|
}
|
|
5989
|
-
constructor(window, commonPayProcessingService,
|
|
5989
|
+
constructor(window, commonPayProcessingService, injector) {
|
|
5990
5990
|
this.window = window;
|
|
5991
5991
|
this.commonPayProcessingService = commonPayProcessingService;
|
|
5992
|
-
this.httpClient = httpClient;
|
|
5993
5992
|
this.injector = injector;
|
|
5994
5993
|
this.googlePayScriptUrl = 'https://pay.google.com/gp/p/js/pay.js';
|
|
5995
5994
|
this.readyToPay = new BehaviorSubject(null);
|
|
5996
5995
|
this.checkout = null;
|
|
5997
5996
|
this.googlePaymentClient = null;
|
|
5998
|
-
this.commonPayProcessingService.status$.subscribe((path) => {
|
|
5999
|
-
this.sendUserBack(path);
|
|
6000
|
-
});
|
|
6001
5997
|
}
|
|
6002
5998
|
get readyToPay$() {
|
|
6003
5999
|
return this.readyToPay.asObservable();
|
|
@@ -6005,9 +6001,6 @@ class GooglePayService {
|
|
|
6005
6001
|
isReadyToPay() {
|
|
6006
6002
|
return this.readyToPay.getValue();
|
|
6007
6003
|
}
|
|
6008
|
-
sendUserBack(path) {
|
|
6009
|
-
this.httpClient.get(path, { responseType: 'text' }).subscribe();
|
|
6010
|
-
}
|
|
6011
6004
|
initGooglePayLibrary(data) {
|
|
6012
6005
|
this.isSandbox = data.isSandbox;
|
|
6013
6006
|
this.country = data.country;
|
|
@@ -6081,16 +6074,10 @@ class GooglePayService {
|
|
|
6081
6074
|
if (!this.checkout) {
|
|
6082
6075
|
throw new AppError('Google Pay: no checkout data in then');
|
|
6083
6076
|
}
|
|
6084
|
-
|
|
6077
|
+
let returnUrl = this.checkout.request.form.fields.returnSuccessUrl;
|
|
6085
6078
|
const data = this.checkout.request.form.fields;
|
|
6086
|
-
|
|
6087
|
-
|
|
6088
|
-
}
|
|
6089
|
-
returnUrl.searchParams.append('descriptor', data.descriptor);
|
|
6090
|
-
returnUrl.searchParams.append('paymentData', JSON.stringify(paymentData));
|
|
6091
|
-
this.commonPayProcessingService.emitPayment(returnUrl.toString());
|
|
6092
|
-
console.log('return url success', returnUrl.toString());
|
|
6093
|
-
console.log('return url success obj', returnUrl);
|
|
6079
|
+
returnUrl += `&cpf_number=${data.cpf_number}&descriptor=${data.descriptor}&paymentData=${JSON.stringify(paymentData)}`;
|
|
6080
|
+
this.commonPayProcessingService.emitPayment(returnUrl);
|
|
6094
6081
|
return checkStatusAction;
|
|
6095
6082
|
}
|
|
6096
6083
|
catch (error) {
|
|
@@ -6103,7 +6090,6 @@ class GooglePayService {
|
|
|
6103
6090
|
return null;
|
|
6104
6091
|
}
|
|
6105
6092
|
const returnUrl = this.checkout.request.form.fields.returnFailUrl;
|
|
6106
|
-
console.log('fail return url', returnUrl);
|
|
6107
6093
|
this.commonPayProcessingService.emitPayment(returnUrl);
|
|
6108
6094
|
return checkStatusAction;
|
|
6109
6095
|
}
|
|
@@ -6154,7 +6140,7 @@ class GooglePayService {
|
|
|
6154
6140
|
return statusCode.toLowerCase() === 'canceled';
|
|
6155
6141
|
}
|
|
6156
6142
|
}
|
|
6157
|
-
GooglePayService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: GooglePayService, deps: [{ token: windowToken }, { token: PaymentSystemProcessingService }, { token:
|
|
6143
|
+
GooglePayService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: GooglePayService, deps: [{ token: windowToken }, { token: PaymentSystemProcessingService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6158
6144
|
GooglePayService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: GooglePayService, providedIn: 'root' });
|
|
6159
6145
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: GooglePayService, decorators: [{
|
|
6160
6146
|
type: Injectable,
|
|
@@ -6165,7 +6151,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
6165
6151
|
return [{ type: undefined, decorators: [{
|
|
6166
6152
|
type: Inject,
|
|
6167
6153
|
args: [windowToken]
|
|
6168
|
-
}] }, { type: PaymentSystemProcessingService }, { type:
|
|
6154
|
+
}] }, { type: PaymentSystemProcessingService }, { type: i0.Injector }];
|
|
6169
6155
|
} });
|
|
6170
6156
|
|
|
6171
6157
|
class CoreLibraryService {
|
|
@@ -6335,11 +6321,11 @@ class HttpExceptionsInterceptor {
|
|
|
6335
6321
|
}));
|
|
6336
6322
|
}
|
|
6337
6323
|
}
|
|
6338
|
-
HttpExceptionsInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: HttpExceptionsInterceptor, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6324
|
+
HttpExceptionsInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: HttpExceptionsInterceptor, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6339
6325
|
HttpExceptionsInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: HttpExceptionsInterceptor });
|
|
6340
6326
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: HttpExceptionsInterceptor, decorators: [{
|
|
6341
6327
|
type: Injectable
|
|
6342
|
-
}], ctorParameters: function () { return [{ type: i1.Router }]; } });
|
|
6328
|
+
}], ctorParameters: function () { return [{ type: i1$1.Router }]; } });
|
|
6343
6329
|
|
|
6344
6330
|
class ValidatorsModule {
|
|
6345
6331
|
}
|