@xsolla/payment-client-core 0.0.13 → 0.1.0

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.
Files changed (50) hide show
  1. package/esm2020/lib/core/payment/actions/next-action.interface.mjs +1 -1
  2. package/esm2020/lib/core/payment/actions/next-action.service.mjs +6 -2
  3. package/esm2020/lib/core/payment/actions/next-actions.mjs +6 -2
  4. package/esm2020/lib/core/payment/actions/show-errors/show-errors.action.class.mjs +9 -0
  5. package/esm2020/lib/core/payment/actions/show-errors/show-errors.action.token.mjs +13 -0
  6. package/esm2020/lib/core/payment/actions/show-errors/show-errors.action.type.mjs +2 -0
  7. package/esm2020/lib/core/payment/config/config.service.mjs +33 -0
  8. package/esm2020/lib/core/payment/extended-xps-error.mjs +2 -0
  9. package/esm2020/lib/core/payment/initialize/initialize.service.mjs +13 -6
  10. package/esm2020/lib/core/payment/payment.service.mjs +30 -5
  11. package/esm2020/lib/core/payment/status/status-request/request/status-request.class.mjs +2 -2
  12. package/esm2020/lib/core/payment/status/status-request/required-status-search-params.const.mjs +9 -0
  13. package/esm2020/lib/core/payment/status/status-request/status-request-params.interface.mjs +1 -1
  14. package/esm2020/lib/core/payment/status/status-request/status-search-param.enum.mjs +13 -0
  15. package/esm2020/lib/core/payment/status/status-request/status-search-params.map.mjs +72 -0
  16. package/esm2020/lib/core/payment/status/status.service.mjs +30 -7
  17. package/esm2020/lib/core/payment/sync/sync.service.mjs +11 -5
  18. package/esm2020/lib/core/url/search-params.interface.mjs +2 -0
  19. package/esm2020/lib/core/url/url.service.mjs +34 -0
  20. package/esm2020/lib/core-library.module.mjs +4 -2
  21. package/esm2020/lib/core-library.service.mjs +18 -10
  22. package/fesm2015/xsolla-payment-client-core.mjs +438 -188
  23. package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
  24. package/fesm2020/xsolla-payment-client-core.mjs +428 -188
  25. package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
  26. package/lib/core/payment/actions/next-action.interface.d.ts +2 -1
  27. package/lib/core/payment/actions/next-action.service.d.ts +1 -1
  28. package/lib/core/payment/actions/next-actions.d.ts +1 -0
  29. package/lib/core/payment/actions/show-errors/show-errors.action.class.d.ts +8 -0
  30. package/lib/core/payment/actions/show-errors/show-errors.action.token.d.ts +4 -0
  31. package/lib/core/payment/actions/show-errors/show-errors.action.type.d.ts +7 -0
  32. package/lib/core/payment/config/config.service.d.ts +13 -0
  33. package/lib/core/payment/extended-xps-error.d.ts +4 -0
  34. package/lib/core/payment/initialize/initialize.service.d.ts +3 -1
  35. package/lib/core/payment/payment.service.d.ts +3 -1
  36. package/lib/core/payment/status/status-request/request/status-request.class.d.ts +1 -3
  37. package/lib/core/payment/status/status-request/required-status-search-params.const.d.ts +2 -0
  38. package/lib/core/payment/status/status-request/status-request-params.interface.d.ts +1 -0
  39. package/lib/core/payment/status/status-request/status-search-param.enum.d.ts +11 -0
  40. package/lib/core/payment/status/status-request/status-search-params.map.d.ts +9 -0
  41. package/lib/core/payment/status/status.service.d.ts +5 -1
  42. package/lib/core/payment/sync/sync.service.d.ts +3 -1
  43. package/lib/core/url/search-params.interface.d.ts +3 -0
  44. package/lib/core/url/url.service.d.ts +8 -0
  45. package/lib/core-library.service.d.ts +7 -1
  46. package/package.json +1 -1
  47. package/xsolla-payment-client-core-0.1.0.tgz +0 -0
  48. package/esm2020/lib/core/payment/status/status-params.interface.mjs +0 -2
  49. package/lib/core/payment/status/status-params.interface.d.ts +0 -9
  50. package/xsolla-payment-client-core-0.0.13.tgz +0 -0
@@ -2,4 +2,5 @@ import { CheckStatusAction } from './check-status/check-status.action.type';
2
2
  import { ShowFieldsAction } from './show-fields/show-fields.action.type';
3
3
  import { StatusUpdatedAction } from './status-updated/status-updated.action.type';
4
4
  import { RedirectAction } from './redirect/redirect.action.type';
5
- export type NextAction = CheckStatusAction | ShowFieldsAction | StatusUpdatedAction | RedirectAction;
5
+ import { ShowErrorsAction } from './show-errors/show-errors.action.class';
6
+ export type NextAction = CheckStatusAction | ShowFieldsAction | StatusUpdatedAction | ShowErrorsAction | RedirectAction;
@@ -1,8 +1,8 @@
1
1
  import { Injector } from '@angular/core';
2
+ import { Observable } from 'rxjs';
2
3
  import { NextAction } from './next-action.interface';
3
4
  import { SubmitResponse } from '../submit/response/submit-response.class';
4
5
  import { NextActionTokens } from './next-actions';
5
- import { Observable } from 'rxjs';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class NextActionService {
8
8
  private readonly nextActionTokens;
@@ -3,3 +3,4 @@ import { Action } from './action.interface';
3
3
  export type NextActionTokens = ValueProvider[];
4
4
  export declare const nextActionsToken: InjectionToken<Action<string, object>>;
5
5
  export declare const nextActions: NextActionTokens;
6
+ export declare const flowUpdateNextActions: NextActionTokens;
@@ -0,0 +1,8 @@
1
+ import { ExtendedXpsError } from '../../extended-xps-error';
2
+ import { Action } from '../action.interface';
3
+ import { ShowErrorsActionData, ShowErrorsActionType } from './show-errors.action.type';
4
+ export declare class ShowErrorsAction implements Action {
5
+ type: ShowErrorsActionType;
6
+ data: ShowErrorsActionData;
7
+ constructor(errors: ExtendedXpsError[]);
8
+ }
@@ -0,0 +1,4 @@
1
+ import { InjectionToken, ValueProvider } from '@angular/core';
2
+ import { ActionFactoryValue } from '../action-factory-value.interface';
3
+ export declare const showErrorsActionFactoryToken: InjectionToken<ActionFactoryValue>;
4
+ export declare const showErrorsActionFactoryProvider: ValueProvider;
@@ -0,0 +1,7 @@
1
+ import { ExtendedXpsError } from '../../extended-xps-error';
2
+ import { Action } from '../action.interface';
3
+ export type ShowErrorsActionType = 'show_errors';
4
+ export interface ShowErrorsActionData {
5
+ errors: ExtendedXpsError[] | null;
6
+ }
7
+ export type ShowErrorsAction = Action<ShowErrorsActionType, ShowErrorsActionData>;
@@ -0,0 +1,13 @@
1
+ import { SettingsService } from '../../settings/settings.service';
2
+ import { UrlService } from '../../url/url.service';
3
+ import { PaymentConfig } from '../payment-config.interface';
4
+ import * as i0 from "@angular/core";
5
+ export declare class PaymentConfigService {
6
+ private readonly urlService;
7
+ private readonly settingsService;
8
+ constructor(urlService: UrlService, settingsService: SettingsService);
9
+ enrich(config: PaymentConfig): PaymentConfig;
10
+ private enrichReturnUrl;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<PaymentConfigService, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<PaymentConfigService>;
13
+ }
@@ -0,0 +1,4 @@
1
+ import { XpsError } from './xps-error.interface';
2
+ export interface ExtendedXpsError extends XpsError {
3
+ fieldValidationError?: string;
4
+ }
@@ -4,15 +4,17 @@ import { SettingsService } from '../../settings/settings.service';
4
4
  import { PaymentConfig } from '../payment-config.interface';
5
5
  import { InitializeResponseFactory } from './initialize-response.token';
6
6
  import { InitializeResponse } from './initialize-response.class';
7
+ import { NextActionService } from '../actions/next-action.service';
7
8
  import * as i0 from "@angular/core";
8
9
  export declare class InitializeService {
9
10
  protected readonly responseFactory: InitializeResponseFactory;
10
11
  private readonly secureApi;
11
12
  private readonly settingsService;
12
13
  private readonly countryService;
14
+ private readonly nextActionService;
13
15
  private readonly apiRoute;
14
16
  private readonly ps4ReferId;
15
- constructor(responseFactory: InitializeResponseFactory, secureApi: SecureApiClient, settingsService: SettingsService, countryService: CountryService);
17
+ constructor(responseFactory: InitializeResponseFactory, secureApi: SecureApiClient, settingsService: SettingsService, countryService: CountryService, nextActionService: NextActionService);
16
18
  request(config: PaymentConfig): Promise<InitializeResponse>;
17
19
  static ɵfac: i0.ɵɵFactoryDeclaration<InitializeService, never>;
18
20
  static ɵprov: i0.ɵɵInjectableDeclaration<InitializeService>;
@@ -1,4 +1,4 @@
1
- import { UntypedFormGroup, ValidationErrors } from '@angular/forms';
1
+ import { UntypedFormGroup } from '@angular/forms';
2
2
  import { FormService } from './form/form.service';
3
3
  import { InitializeService } from './initialize/initialize.service';
4
4
  import { Status } from './status/status.interface';
@@ -13,6 +13,7 @@ import { FinanceDetailsService } from './finance-details/finance-details.service
13
13
  import { NextAction } from './actions/next-action.interface';
14
14
  import { Field } from './field.interface';
15
15
  import { PaymentConfig } from './payment-config.interface';
16
+ import { ValidationErrors } from './form/validators/validation-errors.interface';
16
17
  import * as i0 from "@angular/core";
17
18
  export declare class PaymentService {
18
19
  private readonly initializeService;
@@ -43,6 +44,7 @@ export declare class PaymentService {
43
44
  private emitFinanceDetails;
44
45
  private setupSyncService;
45
46
  private listenFinanceDetails;
47
+ private listenSyncValidationErrors;
46
48
  static ɵfac: i0.ɵɵFactoryDeclaration<PaymentService, never>;
47
49
  static ɵprov: i0.ɵɵInjectableDeclaration<PaymentService>;
48
50
  }
@@ -11,7 +11,5 @@ export declare class StatusRequest extends XpsApiPartRequest {
11
11
  readonly xps_fix_testPs: number | undefined;
12
12
  readonly xps_fix_testXsolla: number | undefined;
13
13
  readonly xps_fix_userReturnStatus: string | undefined;
14
- constructor(parameters: {
15
- token: string | null;
16
- } & StatusRequestParams);
14
+ constructor(parameters: StatusRequestParams);
17
15
  }
@@ -0,0 +1,2 @@
1
+ import { StatusSearchParam } from './status-search-param.enum';
2
+ export declare const requiredStatusSearchParams: StatusSearchParam[];
@@ -7,4 +7,5 @@ export interface StatusRequestParams {
7
7
  testPs?: number;
8
8
  testXsolla?: number;
9
9
  userReturnStatus?: string;
10
+ token?: string | null;
10
11
  }
@@ -0,0 +1,11 @@
1
+ export declare enum StatusSearchParam {
2
+ token = "token",
3
+ pid = "fix_pid",
4
+ invoice = "fix_invoice",
5
+ signature = "signature",
6
+ locale = "locale",
7
+ testProject = "fix_testProject",
8
+ testPs = "fix_testPs",
9
+ testXsolla = "fix_testXsolla",
10
+ userReturnStatus = "fix_userReturnStatus"
11
+ }
@@ -0,0 +1,9 @@
1
+ import { StatusRequestParams } from './status-request-params.interface';
2
+ import { StatusSearchParam } from './status-search-param.enum';
3
+ type SearchParamConverter = (value: string) => string | number;
4
+ interface StatusSearchParamSettings {
5
+ key: keyof StatusRequestParams;
6
+ converter: SearchParamConverter;
7
+ }
8
+ export declare const statusSearchParamsMap: Map<StatusSearchParam, StatusSearchParamSettings>;
9
+ export {};
@@ -3,13 +3,17 @@ import { StatusRequestParams } from './status-request/status-request-params.inte
3
3
  import { ListenStatusService } from './listen-status/listen-status.service';
4
4
  import { Status } from './status.interface';
5
5
  import { NextActionService } from '../actions/next-action.service';
6
+ import { UrlService } from '../../url/url.service';
6
7
  import * as i0 from "@angular/core";
7
8
  export declare class StatusService {
9
+ private readonly urlService;
8
10
  private readonly statusRequestService;
9
11
  private readonly listenStatusService;
10
12
  private readonly nextActionService;
11
- constructor(statusRequestService: StatusRequestService, listenStatusService: ListenStatusService, nextActionService: NextActionService);
13
+ constructor(urlService: UrlService, statusRequestService: StatusRequestService, listenStatusService: ListenStatusService, nextActionService: NextActionService);
12
14
  getStatus(params: StatusRequestParams): Promise<Status>;
15
+ getStatusWithUrlSearchParams(url?: string): Promise<Status>;
16
+ private getRequestParamsFromUrl;
13
17
  private startWaitingStatusUpdates;
14
18
  static ɵfac: i0.ɵɵFactoryDeclaration<StatusService, never>;
15
19
  static ɵprov: i0.ɵɵInjectableDeclaration<StatusService>;
@@ -7,17 +7,19 @@ import { XpsResponse } from '../xps-response.interface';
7
7
  import { SyncRequestFactory } from './sync-request.token';
8
8
  import { SyncResponse } from './sync-response.class';
9
9
  import { SyncResponseFactory } from './sync-response.token';
10
+ import { NextActionService } from '../actions/next-action.service';
10
11
  import * as i0 from "@angular/core";
11
12
  export declare class SyncService extends EmitDataService<XpsResponse> {
12
13
  private readonly requestFactory;
13
14
  private readonly responseFactory;
14
15
  private readonly secureApi;
16
+ private readonly nextActionService;
15
17
  private readonly settingsService;
16
18
  private readonly apiRoute;
17
19
  private prevFieldSyncStates;
18
20
  private form;
19
21
  private fields;
20
- constructor(requestFactory: SyncRequestFactory, responseFactory: SyncResponseFactory, secureApi: SecureApiClient, settingsService: SettingsService);
22
+ constructor(requestFactory: SyncRequestFactory, responseFactory: SyncResponseFactory, secureApi: SecureApiClient, nextActionService: NextActionService, settingsService: SettingsService);
21
23
  setup(form: UntypedFormGroup, fields: Field[]): void;
22
24
  reset(): void;
23
25
  validate(field: Field): Promise<ValidationErrors | null>;
@@ -0,0 +1,3 @@
1
+ export interface SearchParams {
2
+ [key: string]: string;
3
+ }
@@ -0,0 +1,8 @@
1
+ import { SearchParams } from './search-params.interface';
2
+ import * as i0 from "@angular/core";
3
+ export declare class UrlService {
4
+ addSearchParams(url: string, params?: SearchParams): string;
5
+ getSearchParams(url: string): SearchParams;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<UrlService, never>;
7
+ static ɵprov: i0.ɵɵInjectableDeclaration<UrlService>;
8
+ }
@@ -16,6 +16,9 @@ import { LegalService } from './core/legal/legal.service';
16
16
  import { LegalComponentConfig } from './core/legal/legal.component.config';
17
17
  import { NextActionService } from './core/payment/actions/next-action.service';
18
18
  import { FinanceDetailsService } from './core/payment/finance-details/finance-details.service';
19
+ import { PaymentConfigService } from './core/payment/config/config.service';
20
+ import { Status } from './core/payment/status/status.interface';
21
+ import { StatusService } from './core/payment/status/status.service';
19
22
  import * as i0 from "@angular/core";
20
23
  export declare class CoreLibraryService {
21
24
  private readonly settingsService;
@@ -23,10 +26,12 @@ export declare class CoreLibraryService {
23
26
  private readonly paymentMethodsService;
24
27
  private readonly savedMethodsService;
25
28
  private readonly userBalanceService;
29
+ private readonly paymentConfigService;
26
30
  private readonly paymentService;
27
31
  private readonly deviceFingerPrintService;
28
32
  private readonly financeDetailsService;
29
33
  private readonly legalService;
34
+ private readonly statusService;
30
35
  private readonly nextActionService;
31
36
  paymentMethods: {
32
37
  getList: () => Promise<PaymentMethod[]>;
@@ -34,8 +39,9 @@ export declare class CoreLibraryService {
34
39
  getSavedMethods: () => Promise<SavedMethod[]>;
35
40
  getUserBalance: () => Promise<UserBalanceResponse>;
36
41
  };
37
- constructor(settingsService: SettingsService, countryService: CountryService, paymentMethodsService: PaymentMethodsService, savedMethodsService: SavedMethodsService, userBalanceService: UserBalanceService, paymentService: PaymentService, deviceFingerPrintService: DeviceFingerPrintService, financeDetailsService: FinanceDetailsService, legalService: LegalService, nextActionService: NextActionService);
42
+ constructor(settingsService: SettingsService, countryService: CountryService, paymentMethodsService: PaymentMethodsService, savedMethodsService: SavedMethodsService, userBalanceService: UserBalanceService, paymentConfigService: PaymentConfigService, paymentService: PaymentService, deviceFingerPrintService: DeviceFingerPrintService, financeDetailsService: FinanceDetailsService, legalService: LegalService, statusService: StatusService, nextActionService: NextActionService);
38
43
  init(configuration: InitConfiguration): Promise<void>;
44
+ getStatus(url?: string): Promise<Status>;
39
45
  setCountry(country: string): void;
40
46
  createPayment(config: PaymentConfig): Payment;
41
47
  getLegalComponentConfig(): LegalComponentConfig;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xsolla/payment-client-core",
3
- "version": "0.0.13",
3
+ "version": "0.1.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^15.2.0",
6
6
  "@angular/core": "^15.2.0",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLXBhcmFtcy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3N0YXR1cy9zdGF0dXMtcGFyYW1zLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTdGF0dXNQYXJhbXMge1xuICBpbnZvaWNlOiBudW1iZXI7XG4gIHNpZ25hdHVyZTogc3RyaW5nO1xuICBsb2NhbGU6IHN0cmluZztcbiAgdGVzdFByb2plY3Q/OiBudW1iZXI7XG4gIHRlc3RQcz86IG51bWJlcjtcbiAgdGVzdFhzb2xsYT86IG51bWJlcjtcbiAgdXNlclJldHVyblN0YXR1cz86IHN0cmluZztcbn1cbiJdfQ==
@@ -1,9 +0,0 @@
1
- export interface StatusParams {
2
- invoice: number;
3
- signature: string;
4
- locale: string;
5
- testProject?: number;
6
- testPs?: number;
7
- testXsolla?: number;
8
- userReturnStatus?: string;
9
- }