@xsolla/payment-client-core 0.2.14 → 0.2.16
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/countries-api/countries-api.service.mjs +38 -0
- package/esm2020/lib/core/countries-api/country-response.interface.mjs +2 -0
- package/esm2020/lib/core/countries-api/country.interface.mjs +2 -0
- package/esm2020/lib/core/payment/form/controls/search-select/select-control.config.mjs +8 -0
- package/esm2020/lib/core/payment/form/converters/cvv/cvv.converter.mjs +3 -3
- package/esm2020/lib/core/payment/form/converters/pricepoint/pricepoint.converter.mjs +2 -2
- package/esm2020/lib/core/payment/form/converters/select/select.converter.mjs +4 -3
- package/esm2020/lib/core/payment/form/converters/zip/zip.converter.mjs +2 -5
- package/esm2020/lib/core/payment/form/form.service.mjs +4 -1
- package/esm2020/lib/core/payment/payment.interface.mjs +1 -1
- package/esm2020/lib/core/payment/payment.service.mjs +4 -1
- package/esm2020/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.mjs +3 -7
- package/esm2020/lib/core-library.service.mjs +10 -9
- package/esm2020/public-api.mjs +3 -1
- package/fesm2015/xsolla-payment-client-core.mjs +60 -29
- package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
- package/fesm2020/xsolla-payment-client-core.mjs +55 -29
- package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
- package/lib/core/countries-api/countries-api.service.d.ts +15 -0
- package/lib/core/countries-api/country-response.interface.d.ts +4 -0
- package/lib/core/countries-api/country.interface.d.ts +5 -0
- package/lib/core/payment/form/controls/search-select/{search-select-control.config.d.ts → select-control.config.d.ts} +2 -2
- package/lib/core/payment/form/converters/select/select.converter.d.ts +2 -2
- package/lib/core/payment/form/form.service.d.ts +2 -0
- package/lib/core/payment/payment.interface.d.ts +1 -0
- package/lib/core/payment/payment.service.d.ts +1 -0
- package/lib/core-library.service.d.ts +5 -3
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/xsolla-payment-client-core-0.2.16.tgz +0 -0
- package/esm2020/lib/core/payment/form/controls/search-select/search-select-control.config.mjs +0 -8
- package/esm2020/lib/core/payment/form/mask-config.interface.mjs +0 -2
- package/esm2020/lib/core/payment/form/masks-functions.map.mjs +0 -7
- package/lib/core/payment/form/mask-config.interface.d.ts +0 -6
- package/lib/core/payment/form/masks-functions.map.d.ts +0 -3
- package/xsolla-payment-client-core-0.2.14.tgz +0 -0
|
@@ -9,13 +9,6 @@ import { filter, map as map$1, tap, debounce, catchError } from 'rxjs/operators'
|
|
|
9
9
|
import * as i1$1 from '@angular/router';
|
|
10
10
|
import { CommonModule } from '@angular/common';
|
|
11
11
|
|
|
12
|
-
const masksFunctionsMap = {
|
|
13
|
-
zip: () => {
|
|
14
|
-
const zipLength = 5;
|
|
15
|
-
return new Array(zipLength).fill('9').join('');
|
|
16
|
-
},
|
|
17
|
-
};
|
|
18
|
-
|
|
19
12
|
class AppError extends Error {
|
|
20
13
|
constructor(message) {
|
|
21
14
|
super(message);
|
|
@@ -3169,14 +3162,12 @@ class ZipConverter extends Converter {
|
|
|
3169
3162
|
config.icon = 'location';
|
|
3170
3163
|
if (this.isUsCountry) {
|
|
3171
3164
|
config.maskConfig = {
|
|
3165
|
+
mask: new Array(this.usCountryLength).fill('9').join(''),
|
|
3172
3166
|
guide: false,
|
|
3173
3167
|
unmaskModelValue: true,
|
|
3174
3168
|
showMask: true,
|
|
3175
3169
|
};
|
|
3176
3170
|
config.inputMode = 'numeric';
|
|
3177
|
-
if (masksFunctionsMap['zip']) {
|
|
3178
|
-
config.maskConfig.mask = masksFunctionsMap['zip'];
|
|
3179
|
-
}
|
|
3180
3171
|
}
|
|
3181
3172
|
else {
|
|
3182
3173
|
config.maxLength = this.maxLength;
|
|
@@ -3416,7 +3407,7 @@ class CvvConverter extends Converter {
|
|
|
3416
3407
|
createControlConfig(field, formState) {
|
|
3417
3408
|
const config = this.createDefaultControlConfig(TextControlConfig, field);
|
|
3418
3409
|
config.maskConfig = {
|
|
3419
|
-
mask:
|
|
3410
|
+
mask: new Array(this.maxFieldLength).fill('9').join(''),
|
|
3420
3411
|
unmaskModelValue: false,
|
|
3421
3412
|
guide: false,
|
|
3422
3413
|
};
|
|
@@ -3436,7 +3427,7 @@ class CvvConverter extends Converter {
|
|
|
3436
3427
|
return 'cc-csc';
|
|
3437
3428
|
}
|
|
3438
3429
|
getDataType() {
|
|
3439
|
-
return '
|
|
3430
|
+
return 'text';
|
|
3440
3431
|
}
|
|
3441
3432
|
shouldHideUserInput() {
|
|
3442
3433
|
return true;
|
|
@@ -3656,7 +3647,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
3656
3647
|
type: Injectable
|
|
3657
3648
|
}], ctorParameters: function () { return [{ type: SyncService }]; } });
|
|
3658
3649
|
|
|
3659
|
-
class
|
|
3650
|
+
class SelectControlConfig extends ControlConfig {
|
|
3660
3651
|
constructor() {
|
|
3661
3652
|
super(...arguments);
|
|
3662
3653
|
this.controlType = 'search-select';
|
|
@@ -3668,8 +3659,9 @@ class SelectConverter extends Converter {
|
|
|
3668
3659
|
super(syncService);
|
|
3669
3660
|
}
|
|
3670
3661
|
createControlConfig(field) {
|
|
3671
|
-
const config = this.createDefaultControlConfig(
|
|
3662
|
+
const config = this.createDefaultControlConfig(SelectControlConfig, field);
|
|
3672
3663
|
config.options = field.options;
|
|
3664
|
+
config.initValue = field.value;
|
|
3673
3665
|
return config;
|
|
3674
3666
|
}
|
|
3675
3667
|
}
|
|
@@ -3729,7 +3721,7 @@ class PricepointConverter extends Converter {
|
|
|
3729
3721
|
createControlConfig(field) {
|
|
3730
3722
|
const config = this.createDefaultControlConfig(TextControlConfig, field);
|
|
3731
3723
|
config.maskConfig = {
|
|
3732
|
-
mask:
|
|
3724
|
+
mask: new Array(this.maxFieldLength).fill('9').join(``),
|
|
3733
3725
|
unmaskModelValue: false,
|
|
3734
3726
|
guide: false,
|
|
3735
3727
|
};
|
|
@@ -3972,6 +3964,9 @@ class FormService {
|
|
|
3972
3964
|
}, {});
|
|
3973
3965
|
return new UntypedFormGroup(controls);
|
|
3974
3966
|
}
|
|
3967
|
+
getFieldFormState(fieldName) {
|
|
3968
|
+
return this.fieldFormStates[fieldName] ?? null;
|
|
3969
|
+
}
|
|
3975
3970
|
updateFieldFormState(form, fields, fieldName, formState) {
|
|
3976
3971
|
const field = fields.find((fieldItem) => fieldItem.name === fieldName);
|
|
3977
3972
|
if (!field) {
|
|
@@ -6452,6 +6447,9 @@ class PaymentService {
|
|
|
6452
6447
|
this.formService.updateFieldFormState(this.form, this.fields, fieldName, formState);
|
|
6453
6448
|
}
|
|
6454
6449
|
}
|
|
6450
|
+
getFieldFormState(fieldName) {
|
|
6451
|
+
return this.formService.getFieldFormState(fieldName);
|
|
6452
|
+
}
|
|
6455
6453
|
async getStatus() {
|
|
6456
6454
|
if (!isSubmitResponse(this.data)) {
|
|
6457
6455
|
throw new Error('Should submit form first');
|
|
@@ -7004,8 +7002,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
7004
7002
|
}]
|
|
7005
7003
|
}], ctorParameters: function () { return [{ type: PaymentMethodsService }, { type: SavedMethodsService }]; } });
|
|
7006
7004
|
|
|
7005
|
+
class CountriesApiService {
|
|
7006
|
+
constructor(secureApi, settingsService) {
|
|
7007
|
+
this.secureApi = secureApi;
|
|
7008
|
+
this.settingsService = settingsService;
|
|
7009
|
+
this.countries$ = new BehaviorSubject(null);
|
|
7010
|
+
this.apiRoute = 'country';
|
|
7011
|
+
}
|
|
7012
|
+
async request() {
|
|
7013
|
+
const token = this.settingsService.token;
|
|
7014
|
+
return lastValueFrom(this.secureApi
|
|
7015
|
+
.post(this.apiRoute, { access_token: token }, {
|
|
7016
|
+
headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8'),
|
|
7017
|
+
responseType: 'json',
|
|
7018
|
+
})
|
|
7019
|
+
.pipe(map$1((response) => {
|
|
7020
|
+
return response.countryList;
|
|
7021
|
+
}), tap((value) => {
|
|
7022
|
+
this.countries$.next(value);
|
|
7023
|
+
return value;
|
|
7024
|
+
})));
|
|
7025
|
+
}
|
|
7026
|
+
}
|
|
7027
|
+
CountriesApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CountriesApiService, deps: [{ token: SecureApiClient }, { token: SettingsService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
7028
|
+
CountriesApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CountriesApiService, providedIn: 'root' });
|
|
7029
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CountriesApiService, decorators: [{
|
|
7030
|
+
type: Injectable,
|
|
7031
|
+
args: [{
|
|
7032
|
+
providedIn: 'root',
|
|
7033
|
+
}]
|
|
7034
|
+
}], ctorParameters: function () { return [{ type: SecureApiClient }, { type: SettingsService }]; } });
|
|
7035
|
+
|
|
7007
7036
|
class CoreLibraryService {
|
|
7008
|
-
constructor(settingsService, countryService, paymentMethodsService, savedMethodsService, userBalanceService, paymentConfigService, paymentService, deviceFingerPrintService, financeDetailsService, legalService, statusService, nextActionService, creditCardService, creditCardStateService, formMessagesService, editSavedMethodsService, userBehaviourAnalyticsService, performanceService, combinedPaymentMethodsService) {
|
|
7037
|
+
constructor(settingsService, countryService, paymentMethodsService, savedMethodsService, userBalanceService, paymentConfigService, paymentService, deviceFingerPrintService, financeDetailsService, legalService, statusService, nextActionService, creditCardService, creditCardStateService, formMessagesService, editSavedMethodsService, userBehaviourAnalyticsService, performanceService, combinedPaymentMethodsService, countriesApiService) {
|
|
7009
7038
|
this.settingsService = settingsService;
|
|
7010
7039
|
this.countryService = countryService;
|
|
7011
7040
|
this.paymentMethodsService = paymentMethodsService;
|
|
@@ -7025,6 +7054,7 @@ class CoreLibraryService {
|
|
|
7025
7054
|
this.userBehaviourAnalyticsService = userBehaviourAnalyticsService;
|
|
7026
7055
|
this.performanceService = performanceService;
|
|
7027
7056
|
this.combinedPaymentMethodsService = combinedPaymentMethodsService;
|
|
7057
|
+
this.countriesApiService = countriesApiService;
|
|
7028
7058
|
this.paymentMethods = {
|
|
7029
7059
|
getList: async (isSaveMethodMode) => this.paymentMethodsService.getList(isSaveMethodMode),
|
|
7030
7060
|
getQuickMethods: async () => this.paymentMethodsService.getQuickMethods(),
|
|
@@ -7055,6 +7085,9 @@ class CoreLibraryService {
|
|
|
7055
7085
|
pid: this.paymentService.getPid(),
|
|
7056
7086
|
};
|
|
7057
7087
|
}
|
|
7088
|
+
async getCountries() {
|
|
7089
|
+
return this.countriesApiService.request();
|
|
7090
|
+
}
|
|
7058
7091
|
setCountry(country) {
|
|
7059
7092
|
this.countryService.setCountry(country);
|
|
7060
7093
|
}
|
|
@@ -7080,6 +7113,7 @@ class CoreLibraryService {
|
|
|
7080
7113
|
changeFieldValue: (name, value) => this.paymentService.changeFieldValue(name, value),
|
|
7081
7114
|
changeFieldState: (name, state) => this.paymentService.changeFieldState(name, state),
|
|
7082
7115
|
updateFieldFormState: (fieldName, formState) => this.paymentService.updateFieldFormState(fieldName, formState),
|
|
7116
|
+
getFieldFormState: (fieldName) => this.paymentService.getFieldFormState(fieldName),
|
|
7083
7117
|
formMessages$: this.formMessagesService.data$,
|
|
7084
7118
|
getFormStatus: () => this.paymentService.form?.status,
|
|
7085
7119
|
getControlStatus: (name) => this.paymentService.getControlStatus(name),
|
|
@@ -7106,10 +7140,6 @@ class CoreLibraryService {
|
|
|
7106
7140
|
getLegalComponentConfig() {
|
|
7107
7141
|
return this.legalService.getLegalComponentConfig();
|
|
7108
7142
|
}
|
|
7109
|
-
getFieldMask(field) {
|
|
7110
|
-
const sanitizedName = field.name.replace(/^fix_/i, '');
|
|
7111
|
-
return masksFunctionsMap[sanitizedName];
|
|
7112
|
-
}
|
|
7113
7143
|
getUserBalanceValue() {
|
|
7114
7144
|
return this.userBalanceService.getUserBalanceValue();
|
|
7115
7145
|
}
|
|
@@ -7123,14 +7153,14 @@ class CoreLibraryService {
|
|
|
7123
7153
|
return this.paymentService.formResponseValue;
|
|
7124
7154
|
}
|
|
7125
7155
|
}
|
|
7126
|
-
CoreLibraryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CoreLibraryService, deps: [{ token: SettingsService }, { token: CountryService }, { token: PaymentMethodsService }, { token: SavedMethodsService }, { token: UserBalanceService }, { token: PaymentConfigService }, { token: PaymentService }, { token: DeviceFingerPrintService }, { token: FinanceDetailsService }, { token: LegalService }, { token: StatusService }, { token: NextActionService }, { token: CreditCardService }, { token: CreditCardStateService }, { token: FormMessagesService }, { token: EditSavedMethodsService }, { token: UserBehaviourAnalyticsService }, { token: PerformanceService }, { token: CombinedPaymentMethodsService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
7156
|
+
CoreLibraryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CoreLibraryService, deps: [{ token: SettingsService }, { token: CountryService }, { token: PaymentMethodsService }, { token: SavedMethodsService }, { token: UserBalanceService }, { token: PaymentConfigService }, { token: PaymentService }, { token: DeviceFingerPrintService }, { token: FinanceDetailsService }, { token: LegalService }, { token: StatusService }, { token: NextActionService }, { token: CreditCardService }, { token: CreditCardStateService }, { token: FormMessagesService }, { token: EditSavedMethodsService }, { token: UserBehaviourAnalyticsService }, { token: PerformanceService }, { token: CombinedPaymentMethodsService }, { token: CountriesApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
7127
7157
|
CoreLibraryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CoreLibraryService, providedIn: 'root' });
|
|
7128
7158
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CoreLibraryService, decorators: [{
|
|
7129
7159
|
type: Injectable,
|
|
7130
7160
|
args: [{
|
|
7131
7161
|
providedIn: 'root',
|
|
7132
7162
|
}]
|
|
7133
|
-
}], ctorParameters: function () { return [{ type: SettingsService }, { type: CountryService }, { type: PaymentMethodsService }, { type: SavedMethodsService }, { type: UserBalanceService }, { type: PaymentConfigService }, { type: PaymentService }, { type: DeviceFingerPrintService }, { type: FinanceDetailsService }, { type: LegalService }, { type: StatusService }, { type: NextActionService }, { type: CreditCardService }, { type: CreditCardStateService }, { type: FormMessagesService }, { type: EditSavedMethodsService }, { type: UserBehaviourAnalyticsService }, { type: PerformanceService }, { type: CombinedPaymentMethodsService }]; } });
|
|
7163
|
+
}], ctorParameters: function () { return [{ type: SettingsService }, { type: CountryService }, { type: PaymentMethodsService }, { type: SavedMethodsService }, { type: UserBalanceService }, { type: PaymentConfigService }, { type: PaymentService }, { type: DeviceFingerPrintService }, { type: FinanceDetailsService }, { type: LegalService }, { type: StatusService }, { type: NextActionService }, { type: CreditCardService }, { type: CreditCardStateService }, { type: FormMessagesService }, { type: EditSavedMethodsService }, { type: UserBehaviourAnalyticsService }, { type: PerformanceService }, { type: CombinedPaymentMethodsService }, { type: CountriesApiService }]; } });
|
|
7134
7164
|
|
|
7135
7165
|
class HttpError extends AppError {
|
|
7136
7166
|
constructor(error, req) {
|
|
@@ -7693,8 +7723,7 @@ class ApplePayService {
|
|
|
7693
7723
|
console.error('apple pay: initialize failed', error);
|
|
7694
7724
|
}
|
|
7695
7725
|
this.emitIntegrationType();
|
|
7696
|
-
if (!this.paymentClient ||
|
|
7697
|
-
(!this.isDeviceCapable() && !this.userAgentService.isSafari)) {
|
|
7726
|
+
if (!this.paymentClient || !this.isDeviceCapable()) {
|
|
7698
7727
|
this.emitError(ApplePayErrors.deviceIsNotCapableError);
|
|
7699
7728
|
}
|
|
7700
7729
|
}
|
|
@@ -7854,10 +7883,7 @@ class ApplePayService {
|
|
|
7854
7883
|
}
|
|
7855
7884
|
emitIntegrationType() {
|
|
7856
7885
|
let integrationType;
|
|
7857
|
-
if (this.paymentClient && this.isDeviceCapable()
|
|
7858
|
-
integrationType = 'sdk';
|
|
7859
|
-
}
|
|
7860
|
-
else if (this.userAgentService.isSafari) {
|
|
7886
|
+
if (this.paymentClient && this.isDeviceCapable()) {
|
|
7861
7887
|
integrationType = 'redirect';
|
|
7862
7888
|
}
|
|
7863
7889
|
else {
|
|
@@ -7890,5 +7916,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
7890
7916
|
* Generated bundle index. Do not edit.
|
|
7891
7917
|
*/
|
|
7892
7918
|
|
|
7893
|
-
export { ApplePayService, CoreLibraryModule, CoreLibraryService, FieldNames, GooglePayService, PaymentSystemProcessingService, userBehaviourEventTypes };
|
|
7919
|
+
export { ApplePayService, CoreLibraryModule, CoreLibraryService, CreditCardTypes, FieldNames, GooglePayService, PaymentSystemProcessingService, userBehaviourEventTypes };
|
|
7894
7920
|
//# sourceMappingURL=xsolla-payment-client-core.mjs.map
|