@konplit-services/common 1.0.153 → 1.0.155

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.
@@ -35,6 +35,12 @@ interface Interswitch {
35
35
  recurrent_client_id: string;
36
36
  recurrent_secret_key: string;
37
37
  }
38
+ interface InterswitchTransfer {
39
+ client_id: string;
40
+ secret_key: string;
41
+ access_token_url: string;
42
+ base_url: string;
43
+ }
38
44
  interface MessageQueue {
39
45
  sendMail: string;
40
46
  Payment: string;
@@ -156,6 +162,7 @@ declare class AppConfigs {
156
162
  account_mode: string;
157
163
  };
158
164
  getInterswitchDetails(): Interswitch;
165
+ getInterswitchTransferDetails(): InterswitchTransfer;
159
166
  getMonoDetails(): {
160
167
  base_url: string;
161
168
  public_key: string;
@@ -546,6 +546,28 @@ class AppConfigs {
546
546
  recurrent_secret_key: this.env.INTERSWITCH_RECURRENT_SECRET_KEY,
547
547
  };
548
548
  }
549
+ // Interswitch
550
+ getInterswitchTransferDetails() {
551
+ // Interswitch
552
+ if (!this.env.INTERSWITCH_TRANSFER_CLIENT_ID) {
553
+ throw new Error("INTERSWITCH_TRANSFER_CLIENT_ID is required");
554
+ }
555
+ if (!this.env.INTERSWITCH_TRANSFER_SECRET_KEY) {
556
+ throw new Error("INTERSWITCH_TRANSFER_SECRET_KEY is required");
557
+ }
558
+ if (!this.env.INTERSWITCH_ACCESS_TOKEN_URL) {
559
+ throw new Error("INTERSWITCH_ACCESS_TOKEN_URL is required");
560
+ }
561
+ if (!this.env.INTERSWITCH_BASE_URL) {
562
+ throw new Error("INTERSWITCH_BASE_URL is required");
563
+ }
564
+ return {
565
+ client_id: this.env.INTERSWITCH_TRANSFER_CLIENT_ID,
566
+ secret_key: this.env.INTERSWITCH_TRANSFER_SECRET_KEY,
567
+ access_token_url: this.env.INTERSWITCH_ACCESS_TOKEN_URL,
568
+ base_url: this.env.INTERSWITCH_BASE_URL,
569
+ };
570
+ }
549
571
  // MONO MOBILE MONEY
550
572
  getMonoDetails() {
551
573
  if (!this.env.MONO_BASE_URL) {
@@ -67,4 +67,23 @@ declare const generateBase64Key: (client_id: string, secret_key: string) => stri
67
67
  * @returns Base64 encoded key for BVN
68
68
  */
69
69
  declare const generateBase64KeyNibssBVN: () => string;
70
- export { hashingKey, generateSignMD5, generateSignMD5Fedilty, authData, generateOrderId, generateBase64Key, generateSignatureCipher, generateBase64KeyNibssBVN, generateTransactionID, };
70
+ /**
71
+ * Interface for the input parameters required to generate the MAC.
72
+ */
73
+ interface MACParams {
74
+ initiatingAmount: string;
75
+ initiatingCurrencyCode: string;
76
+ initiatingPaymentMethodCode: string;
77
+ terminatingAmount: string;
78
+ terminatingCurrencyCode: string;
79
+ terminatingPaymentMethodCode: string;
80
+ terminatingCountryCode: string;
81
+ }
82
+ /**
83
+ * Generates a MAC (Message Authentication Code) using SHA-512.
84
+ *
85
+ * @param params - An object containing the required parameters.
86
+ * @returns The generated MAC as a hexadecimal string.
87
+ */
88
+ declare const generateMAC: (params: MACParams) => string;
89
+ export { MACParams, generateMAC, hashingKey, generateSignMD5, generateSignMD5Fedilty, authData, generateOrderId, generateBase64Key, generateSignatureCipher, generateBase64KeyNibssBVN, generateTransactionID, };
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.generateTransactionID = exports.generateBase64KeyNibssBVN = exports.generateSignatureCipher = exports.generateBase64Key = exports.generateOrderId = exports.authData = exports.generateSignMD5Fedilty = exports.generateSignMD5 = exports.hashingKey = void 0;
26
+ exports.generateTransactionID = exports.generateBase64KeyNibssBVN = exports.generateSignatureCipher = exports.generateBase64Key = exports.generateOrderId = exports.authData = exports.generateSignMD5Fedilty = exports.generateSignMD5 = exports.hashingKey = exports.generateMAC = void 0;
27
27
  const crypto = __importStar(require("crypto"));
28
28
  const forge = __importStar(require("node-forge"));
29
29
  const timestamp_1 = require("./timestamp");
@@ -176,3 +176,24 @@ const generateBase64KeyNibssBVN = () => {
176
176
  return Buffer.from(dataToString).toString("base64");
177
177
  };
178
178
  exports.generateBase64KeyNibssBVN = generateBase64KeyNibssBVN;
179
+ /**
180
+ * Generates a MAC (Message Authentication Code) using SHA-512.
181
+ *
182
+ * @param params - An object containing the required parameters.
183
+ * @returns The generated MAC as a hexadecimal string.
184
+ */
185
+ const generateMAC = (params) => {
186
+ const { initiatingAmount, initiatingCurrencyCode, initiatingPaymentMethodCode, terminatingAmount, terminatingCurrencyCode, terminatingPaymentMethodCode, terminatingCountryCode, } = params;
187
+ // Concatenate all input parameters
188
+ const data = initiatingAmount +
189
+ initiatingCurrencyCode +
190
+ initiatingPaymentMethodCode +
191
+ terminatingAmount +
192
+ terminatingCurrencyCode +
193
+ terminatingPaymentMethodCode +
194
+ terminatingCountryCode;
195
+ // Create the hash using SHA-512
196
+ const hash = crypto.createHash("sha512").update(data, "utf8").digest("hex");
197
+ return hash;
198
+ };
199
+ exports.generateMAC = generateMAC;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@konplit-services/common",
3
- "version": "1.0.153",
3
+ "version": "1.0.155",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",