@konplit-services/common 1.21.0 → 1.23.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.
@@ -375,6 +375,12 @@ declare class AppConfigs {
375
375
  account_id: string;
376
376
  webhook_secret: string;
377
377
  };
378
+ getFirsDetails(): {
379
+ apiUrl: string;
380
+ encryptionUrl: string;
381
+ apiKey: string;
382
+ apiSecret: string;
383
+ };
378
384
  getValue(key: string): string;
379
385
  ensureValues(keys?: string[]): this;
380
386
  getNODE_ENV(): string | undefined;
@@ -968,6 +968,27 @@ class AppConfigs {
968
968
  webhook_secret: this.env.MONO_WEBHOOK_SECRET,
969
969
  };
970
970
  }
971
+ // FIRS
972
+ getFirsDetails() {
973
+ if (!this.env.FIRS_API_KEY) {
974
+ throw new Error("FIRS_API_KEY is required");
975
+ }
976
+ if (!this.env.FIRS_SECRET) {
977
+ throw new Error("FIRS_SECRET is required");
978
+ }
979
+ if (!this.env.FIRS_API_URL) {
980
+ throw new Error("FIRS_API_URL is required");
981
+ }
982
+ if (!this.env.FIRS_ENCRYPTION_URL) {
983
+ throw new Error("FIRS_ENCRYPTION_URL is required");
984
+ }
985
+ return {
986
+ apiUrl: this.env.FIRS_API_URL,
987
+ apiKey: this.env.FIRS_API_KEY,
988
+ encryptionUrl: this.env.FIRS_ENCRYPTION_URL,
989
+ apiSecret: this.env.FIRS_SECRET,
990
+ };
991
+ }
971
992
  getValue(key) {
972
993
  const value = this.env[key];
973
994
  if (!value) {
@@ -21,3 +21,5 @@ export * from "./subaccount-updated.interface";
21
21
  export * from "./subaccount-deleted.interface";
22
22
  export * from "./bvn-validation-created.interface";
23
23
  export * from "./bvn-validation-updated.interface";
24
+ export * from "./merchant-registration-created.interface";
25
+ export * from "./merchant-registration-updated.interface";
@@ -41,3 +41,6 @@ __exportStar(require("./subaccount-deleted.interface"), exports);
41
41
  //BVN validation
42
42
  __exportStar(require("./bvn-validation-created.interface"), exports);
43
43
  __exportStar(require("./bvn-validation-updated.interface"), exports);
44
+ //Registration
45
+ __exportStar(require("./merchant-registration-created.interface"), exports);
46
+ __exportStar(require("./merchant-registration-updated.interface"), exports);
@@ -0,0 +1,8 @@
1
+ import { RegistrationI } from "../../../interfaces/registration.interface";
2
+ import { StreamEvent, StreamName, Subjects } from "../../subjects";
3
+ export interface MerchantRegistrationCreatedEvent {
4
+ subject: Subjects.MerchantRegistrationCreated;
5
+ streamName: StreamName.name;
6
+ streamEvents: StreamEvent.Event;
7
+ data: RegistrationI;
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ import { RegistrationI } from "../../../interfaces/registration.interface";
2
+ import { StreamEvent, StreamName, Subjects } from "../../subjects";
3
+ export interface MerchantRegistrationUpdatedEvent {
4
+ subject: Subjects.MerchantRegistrationUpdated;
5
+ streamName: StreamName.name;
6
+ streamEvents: StreamEvent.Event;
7
+ data: RegistrationI;
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -17,6 +17,8 @@ export declare enum Subjects {
17
17
  MerchantLogCreated = "events.merchant.Log.created",
18
18
  MerchantRepBVNValidationCreated = "events.rep.bvn.validation.created",
19
19
  MerchantRepBVNValidationUpdated = "events.rep.bvn.validation.updated",
20
+ MerchantRegistrationCreated = "events.registration.created",
21
+ MerchantRegistrationUpdated = "events.registration.updated",
20
22
  TransferCreated = "events.transfer.created",
21
23
  TransferUpdated = "events.transfer.updated",
22
24
  PermissionCreated = "events.permission.created",
@@ -114,6 +116,7 @@ export declare enum Subjects {
114
116
  TransactionCancelled = "events.transaction.cancelled",
115
117
  TransactionDeclined = "events.transaction.declined",
116
118
  TransactionWebhook = "events.transaction.webhook",
119
+ TransactionFIRSNotification = "events.transaction.firs.created",
117
120
  TransactionDailyResetAmountCreated = "events.transaction.daily.reset.created",
118
121
  TransactionAmountUpdateSyncCreated = "events.transaction.amount.update.sync.created",
119
122
  TransactionExpiryDelayCreated = "events.transaction.expiry.delay.created",
@@ -27,6 +27,8 @@ var Subjects;
27
27
  //Merchants Rep BVN Validation
28
28
  Subjects["MerchantRepBVNValidationCreated"] = "events.rep.bvn.validation.created";
29
29
  Subjects["MerchantRepBVNValidationUpdated"] = "events.rep.bvn.validation.updated";
30
+ Subjects["MerchantRegistrationCreated"] = "events.registration.created";
31
+ Subjects["MerchantRegistrationUpdated"] = "events.registration.updated";
30
32
  //Transfer Subjects
31
33
  Subjects["TransferCreated"] = "events.transfer.created";
32
34
  Subjects["TransferUpdated"] = "events.transfer.updated";
@@ -140,6 +142,7 @@ var Subjects;
140
142
  Subjects["TransactionCancelled"] = "events.transaction.cancelled";
141
143
  Subjects["TransactionDeclined"] = "events.transaction.declined";
142
144
  Subjects["TransactionWebhook"] = "events.transaction.webhook";
145
+ Subjects["TransactionFIRSNotification"] = "events.transaction.firs.created";
143
146
  Subjects["TransactionDailyResetAmountCreated"] = "events.transaction.daily.reset.created";
144
147
  Subjects["TransactionAmountUpdateSyncCreated"] = "events.transaction.amount.update.sync.created";
145
148
  Subjects["TransactionExpiryDelayCreated"] = "events.transaction.expiry.delay.created";
@@ -0,0 +1,31 @@
1
+ import { CURRENCY_TYPE, PaymentOptions, TRANSACTION_STATUS, TRANSACTION_TYPE, Usage } from "../../../helper";
2
+ import { StreamEvent, StreamName, Subjects } from "../../subjects";
3
+ export interface TransactionFirsNotificationEvent {
4
+ subject: Subjects.TransactionFIRSNotification;
5
+ streamName: StreamName.name;
6
+ streamEvents: StreamEvent.Event;
7
+ data: {
8
+ id: string;
9
+ merchantId: string;
10
+ accountId: string;
11
+ valueRef: string;
12
+ transactionRef: string;
13
+ customerId: string;
14
+ status?: TRANSACTION_STATUS;
15
+ type?: TRANSACTION_TYPE;
16
+ redirectUrl?: string;
17
+ paymentOption?: PaymentOptions;
18
+ channels?: PaymentOptions[];
19
+ usage?: Usage;
20
+ currency?: CURRENCY_TYPE;
21
+ amount: number;
22
+ fees?: number;
23
+ stampDuty?: number;
24
+ tax?: number;
25
+ metaData?: Record<string, any>;
26
+ completedAt?: Date;
27
+ settlementDueDate?: Date;
28
+ version?: number;
29
+ createdAt?: Date | null;
30
+ };
31
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -9,3 +9,4 @@ export * from "./total-amount-triger-update.interface";
9
9
  export * from "./expiry-delay-timer.interface";
10
10
  export * from "./expiry-delay-timer.update.interface";
11
11
  export * from "./transaction-webhook.interface";
12
+ export * from "./firs-notification-created.interface";
@@ -25,3 +25,4 @@ __exportStar(require("./total-amount-triger-update.interface"), exports);
25
25
  __exportStar(require("./expiry-delay-timer.interface"), exports);
26
26
  __exportStar(require("./expiry-delay-timer.update.interface"), exports);
27
27
  __exportStar(require("./transaction-webhook.interface"), exports);
28
+ __exportStar(require("./firs-notification-created.interface"), exports);
@@ -0,0 +1,35 @@
1
+ export interface RegistrationI {
2
+ id: string;
3
+ yearRegistration: number;
4
+ regNumber?: string;
5
+ businesNumber?: string;
6
+ merchantId: string;
7
+ accountId: string;
8
+ formcac1_1?: string;
9
+ formcacBN?: string;
10
+ formcacIT1?: string;
11
+ formcacITNumber?: string;
12
+ constitution?: string;
13
+ authorizationLetter?: string;
14
+ officialGazette?: string;
15
+ creationNotice?: string;
16
+ license?: string;
17
+ ctcSituation_changeRegAddress?: string;
18
+ particularsOfDirectors?: string;
19
+ shareCapitalStatement?: string;
20
+ formcac2?: string;
21
+ formcac7?: string;
22
+ tin?: string;
23
+ nin?: string;
24
+ maa?: string;
25
+ coopCert?: string;
26
+ certifiedAppForm?: string;
27
+ gvtApDoc?: string;
28
+ businessOwnerDocs?: string;
29
+ certOfIncorporation?: string;
30
+ certName?: string;
31
+ cacStatusReport?: string;
32
+ isNINVerified?: boolean;
33
+ isVerified?: boolean;
34
+ version?: number;
35
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@konplit-services/common",
3
- "version": "1.21.0",
3
+ "version": "1.23.0",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",