aeremmiddleware 1.0.26 → 1.0.28

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 (36) hide show
  1. package/README.md +28 -28
  2. package/dist/Finance/Ingenico.types.d.ts +5 -4
  3. package/dist/Finance/ingenicoHtml.js +114 -114
  4. package/dist/Finance/ingenicoHtml.js.map +1 -1
  5. package/dist/Finance/novel.types.js +1 -1
  6. package/dist/Finance/novel.types.js.map +1 -1
  7. package/dist/Socials/Sms.types.js +1 -1
  8. package/dist/Socials/Sms.types.js.map +1 -1
  9. package/dist/Socials/Whatsapp.types.js +1 -1
  10. package/dist/Socials/Whatsapp.types.js.map +1 -1
  11. package/package.json +21 -21
  12. package/src/Finance/Ingenico.types.ts +22 -21
  13. package/src/Finance/auEncrypt.ts +32 -32
  14. package/src/Finance/auFinance.ts +115 -115
  15. package/src/Finance/crimeCheck.ts +212 -212
  16. package/src/Finance/crimecheck.types.ts +31 -31
  17. package/src/Finance/encrypt.ts +18 -18
  18. package/src/Finance/idfy.ts +542 -542
  19. package/src/Finance/index.ts +16 -16
  20. package/src/Finance/ingenico.ts +104 -104
  21. package/src/Finance/ingenicoHtml.ts +119 -119
  22. package/src/Finance/novel.ts +233 -233
  23. package/src/Finance/novel.types.ts +30 -30
  24. package/src/Finance/qbrik.ts +828 -828
  25. package/src/Finance/qbrik.types.ts +131 -131
  26. package/src/Finance/setu.ts +560 -560
  27. package/src/Finance/setu.types.ts +44 -44
  28. package/src/PushNotification/index.ts +5 -5
  29. package/src/PushNotification/pushNotificationFCM.ts +37 -37
  30. package/src/Socials/Sms.types.ts +9 -9
  31. package/src/Socials/SmsSender.ts +78 -78
  32. package/src/Socials/Whatsapp.types.ts +95 -95
  33. package/src/Socials/index.ts +6 -6
  34. package/src/Socials/whatsApp.ts +188 -188
  35. package/src/index.ts +9 -9
  36. package/tsconfig.json +111 -111
@@ -1,16 +1,16 @@
1
- import IdfyAPIWrapper from "./idfy";
2
- import NovelApiWrapper from "./novel";
3
- import IngenicoApiWrapper from "./ingenico";
4
- import CrimeSearchAPIWrapper from "./crimeCheck";
5
- import QbrikApiWrapper from "./qbrik";
6
- import AuFinanceApiWrapper from "./auFinance";
7
- import SetuApiWrapper from "./setu";
8
- export const finance = {
9
- idFy: IdfyAPIWrapper,
10
- novel: NovelApiWrapper,
11
- ingenico: IngenicoApiWrapper,
12
- crimecheck: CrimeSearchAPIWrapper,
13
- qbrik: QbrikApiWrapper,
14
- auFinance: AuFinanceApiWrapper,
15
- setu: SetuApiWrapper,
16
- };
1
+ import IdfyAPIWrapper from "./idfy";
2
+ import NovelApiWrapper from "./novel";
3
+ import IngenicoApiWrapper from "./ingenico";
4
+ import CrimeSearchAPIWrapper from "./crimeCheck";
5
+ import QbrikApiWrapper from "./qbrik";
6
+ import AuFinanceApiWrapper from "./auFinance";
7
+ import SetuApiWrapper from "./setu";
8
+ export const finance = {
9
+ idFy: IdfyAPIWrapper,
10
+ novel: NovelApiWrapper,
11
+ ingenico: IngenicoApiWrapper,
12
+ crimecheck: CrimeSearchAPIWrapper,
13
+ qbrik: QbrikApiWrapper,
14
+ auFinance: AuFinanceApiWrapper,
15
+ setu: SetuApiWrapper,
16
+ };
@@ -1,104 +1,104 @@
1
- import axios from "axios";
2
- import { MandateDataType } from "./Ingenico.types";
3
- import { createSHA512Hash } from "./encrypt";
4
- import { createHash } from "crypto";
5
- import { mandateHtml } from "./ingenicoHtml";
6
-
7
- class IngenicoApiWrapper {
8
- private verificationUrl = "https://www.paynimo.com/api/paynimoV2.req";
9
- private salt = "";
10
-
11
- constructor(salt: string) {
12
- this.salt = salt;
13
- }
14
- async startMandate(mandateData: MandateDataType): Promise<any> {
15
- const hashingData = {
16
- merchantId: mandateData.merchantId,
17
- txnId: mandateData.txnId,
18
- totalamount: mandateData.totalamount,
19
- accountNo: mandateData.accountNo,
20
- consumerId: mandateData.consumerId,
21
- consumerMobileNo: mandateData.consumerMobileNo,
22
- consumerEmailId: mandateData.consumerEmailId,
23
- debitStartDate: mandateData.debitStartDate,
24
- debitEndDate: mandateData.debitEndDate,
25
- maxAmount: mandateData.maxAmount,
26
- amountType: mandateData.amountType,
27
- frequency: mandateData.frequency,
28
- cardNumber: "",
29
- expMonth: "",
30
- expYear: "",
31
- cvvCode: "",
32
- };
33
-
34
- const tokenId = createSHA512Hash(hashingData, this.salt);
35
- return mandateHtml(mandateData, tokenId);
36
- }
37
-
38
- private hashString(input: string): string {
39
- const hash = createHash("sha512");
40
-
41
- return hash.update(input).digest("hex");
42
- }
43
-
44
- async dualVerification(inputString: any): Promise<any> {
45
- const originalHash = this.hashString(inputString);
46
- console.log("originalhash", originalHash);
47
- const dataArray = inputString.split("|");
48
- dataArray[dataArray.length - 1] = this.salt;
49
- const modifiedString = dataArray.join("|");
50
- const modifiedHash = this.hashString(modifiedString);
51
- console.log("modifiedhash", modifiedHash);
52
-
53
- if (originalHash === modifiedHash) {
54
- console.log("true");
55
- return true;
56
- } else {
57
- console.log("faalse");
58
- return false;
59
- }
60
- }
61
-
62
- async mandateVerification(requestData: any): Promise<any> {
63
- try {
64
- const response = await axios.post(this.verificationUrl, requestData, {
65
- headers: {
66
- "Content-Type": "application/json",
67
- },
68
- });
69
-
70
- return response.data;
71
- } catch (error) {
72
- console.error("Error:", error);
73
- }
74
- }
75
-
76
- async transactionScheduling(requestData: any): Promise<any> {
77
- try {
78
- const response = await axios.post(this.verificationUrl, requestData, {
79
- headers: {
80
- "Content-Type": "application/json",
81
- },
82
- });
83
-
84
- return response.data;
85
- } catch (error) {
86
- console.error("Error:", error);
87
- }
88
- }
89
- async transactionVerification(requestData: any): Promise<any> {
90
- try {
91
- const response = await axios.post(this.verificationUrl, requestData, {
92
- headers: {
93
- "Content-Type": "application/json",
94
- },
95
- });
96
-
97
- return response.data;
98
- } catch (error) {
99
- console.error("Error:", error);
100
- }
101
- }
102
- }
103
-
104
- export default IngenicoApiWrapper;
1
+ import axios from "axios";
2
+ import { MandateDataType } from "./Ingenico.types";
3
+ import { createSHA512Hash } from "./encrypt";
4
+ import { createHash } from "crypto";
5
+ import { mandateHtml } from "./ingenicoHtml";
6
+
7
+ class IngenicoApiWrapper {
8
+ private verificationUrl = "https://www.paynimo.com/api/paynimoV2.req";
9
+ private salt = "";
10
+
11
+ constructor(salt: string) {
12
+ this.salt = salt;
13
+ }
14
+ async startMandate(mandateData: MandateDataType): Promise<any> {
15
+ const hashingData = {
16
+ merchantId: mandateData.merchantId,
17
+ txnId: mandateData.txnId,
18
+ totalamount: mandateData.totalamount,
19
+ accountNo: mandateData.accountNo,
20
+ consumerId: mandateData.consumerId,
21
+ consumerMobileNo: mandateData.consumerMobileNo,
22
+ consumerEmailId: mandateData.consumerEmailId,
23
+ debitStartDate: mandateData.debitStartDate,
24
+ debitEndDate: mandateData.debitEndDate,
25
+ maxAmount: mandateData.maxAmount,
26
+ amountType: mandateData.amountType,
27
+ frequency: mandateData.frequency,
28
+ cardNumber: "",
29
+ expMonth: "",
30
+ expYear: "",
31
+ cvvCode: "",
32
+ };
33
+
34
+ const tokenId = createSHA512Hash(hashingData, this.salt);
35
+ return mandateHtml(mandateData, tokenId);
36
+ }
37
+
38
+ private hashString(input: string): string {
39
+ const hash = createHash("sha512");
40
+
41
+ return hash.update(input).digest("hex");
42
+ }
43
+
44
+ async dualVerification(inputString: any): Promise<any> {
45
+ const originalHash = this.hashString(inputString);
46
+ console.log("originalhash", originalHash);
47
+ const dataArray = inputString.split("|");
48
+ dataArray[dataArray.length - 1] = this.salt;
49
+ const modifiedString = dataArray.join("|");
50
+ const modifiedHash = this.hashString(modifiedString);
51
+ console.log("modifiedhash", modifiedHash);
52
+
53
+ if (originalHash === modifiedHash) {
54
+ console.log("true");
55
+ return true;
56
+ } else {
57
+ console.log("faalse");
58
+ return false;
59
+ }
60
+ }
61
+
62
+ async mandateVerification(requestData: any): Promise<any> {
63
+ try {
64
+ const response = await axios.post(this.verificationUrl, requestData, {
65
+ headers: {
66
+ "Content-Type": "application/json",
67
+ },
68
+ });
69
+
70
+ return response.data;
71
+ } catch (error) {
72
+ console.error("Error:", error);
73
+ }
74
+ }
75
+
76
+ async transactionScheduling(requestData: any): Promise<any> {
77
+ try {
78
+ const response = await axios.post(this.verificationUrl, requestData, {
79
+ headers: {
80
+ "Content-Type": "application/json",
81
+ },
82
+ });
83
+
84
+ return response.data;
85
+ } catch (error) {
86
+ console.error("Error:", error);
87
+ }
88
+ }
89
+ async transactionVerification(requestData: any): Promise<any> {
90
+ try {
91
+ const response = await axios.post(this.verificationUrl, requestData, {
92
+ headers: {
93
+ "Content-Type": "application/json",
94
+ },
95
+ });
96
+
97
+ return response.data;
98
+ } catch (error) {
99
+ console.error("Error:", error);
100
+ }
101
+ }
102
+ }
103
+
104
+ export default IngenicoApiWrapper;
@@ -1,119 +1,119 @@
1
- import { MandateDataType } from "./Ingenico.types";
2
-
3
- export const mandateHtml = (mandateData: MandateDataType, tokenId: string) => {
4
- return `<!DOCTYPE html>
5
- <html>
6
- <head>
7
- <title>Checkout Demo</title>
8
- <meta name="viewport" content="user-scalable=no, width=device-width,
9
- initial-scale=1" / />
10
- <script
11
- src="https://www.paynimo.com/paynimocheckout/client/lib/jquery.min.js"
12
- type="text/javascript"
13
- ></script>
14
- </head>
15
-
16
- <body>
17
- <button id="btnSubmit">Register Now</button>
18
-
19
- <script
20
- type="text/javascript"
21
- src="https://www.paynimo.com/paynimocheckout/server/lib/checkout.js"
22
- ></script>
23
-
24
- <script type="text/javascript">
25
- $(document).ready(function () {
26
- function handleResponse(res) {
27
- if (
28
- typeof res != "undefined" &&
29
- typeof res.paymentMethod != "undefined" &&
30
- typeof res.paymentMethod.paymentTransaction != "undefined" &&
31
- typeof res.paymentMethod.paymentTransaction.statusCode !=
32
- "undefined" &&
33
- res.paymentMethod.paymentTransaction.statusCode == "0300"
34
- ) {
35
- // success block
36
- console.log("success block",res);
37
- } else if (
38
- typeof res != "undefined" &&
39
- typeof res.paymentMethod != "undefined" &&
40
- typeof res.paymentMethod.paymentTransaction != "undefined" &&
41
- typeof res.paymentMethod.paymentTransaction.statusCode !=
42
- "undefined" &&
43
- res.paymentMethod.paymentTransaction.statusCode == "0398"
44
- ) {
45
- // initiated block
46
- console.log("initiate block",res);
47
- } else {
48
- // error block
49
- console.log("error block",res);
50
- }
51
- }
52
-
53
- $(document)
54
- .off("click", "#btnSubmit")
55
- .on("click", "#btnSubmit", function (e) {
56
- e.preventDefault();
57
-
58
- var reqJson = {
59
- features: {
60
- enableAbortResponse: true,
61
- enableNewWindowFlow: true, //for hybrid applications please disable this by passing false
62
- enableExpressPay: true,
63
- enableMerTxnDetails: true,
64
- siDetailsAtMerchantEnd: true,
65
- enableSI: true,
66
- },
67
- consumerData: {
68
- deviceId: "WEBSH2",
69
- token:"${tokenId}",
70
- returnUrl:
71
- "https://aerem.co/", //merchant response page URL
72
- responseHandler: handleResponse,
73
- paymentMode: "${mandateData.paymentMode}",
74
- merchantLogoUrl:
75
- "https://www.paynimo.com/CompanyDocs/company-logo-vertical.png",
76
- merchantId: "${mandateData.merchantId}",
77
- currency: "INR",
78
- consumerId: "${mandateData.consumerId}",
79
- consumerMobileNo: "${mandateData.consumerMobileNo}",
80
- consumerEmailId: "${mandateData.consumerEmailId}",
81
- txnId: "${mandateData.txnId}",
82
-
83
- items: [
84
- {
85
- itemId: "FIRST",
86
- amount: "${mandateData.totalamount}",
87
- comAmt: "0",
88
- },
89
- ],
90
- customStyle: {
91
- PRIMARY_COLOR_CODE: "#45beaa",
92
- SECONDARY_COLOR_CODE: "#FFFFFF",
93
- BUTTON_COLOR_CODE_1: "#2d8c8c",
94
- BUTTON_COLOR_CODE_2: "#FFFFFF",
95
- },
96
- accountNo: "${mandateData.accountNo}", //Pass this if accountNo is captured at merchant side for eMandate/eNACH
97
-
98
- ifscCode: "${mandateData.ifscCode}", //Pass this if ifscCode is captured at merchant side.
99
- accountType: "${mandateData.accountType}", //Required for eNACH registration this is mandatory field
100
- debitStartDate: "${mandateData.debitStartDate}",
101
- debitEndDate: "${mandateData.debitEndDate}",
102
- maxAmount: "${mandateData.maxAmount}",
103
- amountType: "${mandateData.amountType}",
104
- frequency: "${mandateData.frequency}",
105
- },
106
- };
107
-
108
- $.pnCheckout(reqJson);
109
- if (reqJson.features.enableNewWindowFlow) {
110
- pnCheckoutShared.openNewWindow();
111
- }
112
- });
113
- });
114
- </script>
115
- </body>
116
- </html>
117
-
118
- `;
119
- };
1
+ import { MandateDataType } from "./Ingenico.types";
2
+
3
+ export const mandateHtml = (mandateData: MandateDataType, tokenId: string) => {
4
+ return `<!DOCTYPE html>
5
+ <html>
6
+ <head>
7
+ <title>Checkout Demo</title>
8
+ <meta name="viewport" content="user-scalable=no, width=device-width,
9
+ initial-scale=1" / />
10
+ <script
11
+ src="https://www.paynimo.com/paynimocheckout/client/lib/jquery.min.js"
12
+ type="text/javascript"
13
+ ></script>
14
+ </head>
15
+
16
+ <body>
17
+ <button id="btnSubmit">Register Now</button>
18
+
19
+ <script
20
+ type="text/javascript"
21
+ src="https://www.paynimo.com/paynimocheckout/server/lib/checkout.js"
22
+ ></script>
23
+
24
+ <script type="text/javascript">
25
+ $(document).ready(function () {
26
+ function handleResponse(res) {
27
+ if (
28
+ typeof res != "undefined" &&
29
+ typeof res.paymentMethod != "undefined" &&
30
+ typeof res.paymentMethod.paymentTransaction != "undefined" &&
31
+ typeof res.paymentMethod.paymentTransaction.statusCode !=
32
+ "undefined" &&
33
+ res.paymentMethod.paymentTransaction.statusCode == "0300"
34
+ ) {
35
+ // success block
36
+ console.log("success block",res);
37
+ } else if (
38
+ typeof res != "undefined" &&
39
+ typeof res.paymentMethod != "undefined" &&
40
+ typeof res.paymentMethod.paymentTransaction != "undefined" &&
41
+ typeof res.paymentMethod.paymentTransaction.statusCode !=
42
+ "undefined" &&
43
+ res.paymentMethod.paymentTransaction.statusCode == "0398"
44
+ ) {
45
+ // initiated block
46
+ console.log("initiate block",res);
47
+ } else {
48
+ // error block
49
+ console.log("error block",res);
50
+ }
51
+ }
52
+
53
+ $(document)
54
+ .off("click", "#btnSubmit")
55
+ .on("click", "#btnSubmit", function (e) {
56
+ e.preventDefault();
57
+
58
+ var reqJson = {
59
+ features: {
60
+ enableAbortResponse: true,
61
+ enableNewWindowFlow: true, //for hybrid applications please disable this by passing false
62
+ enableExpressPay: true,
63
+ enableMerTxnDetails: true,
64
+ siDetailsAtMerchantEnd: true,
65
+ enableSI: true,
66
+ },
67
+ consumerData: {
68
+ deviceId: "WEBSH2",
69
+ token:"${tokenId}",
70
+ returnUrl:
71
+ "${mandateData?.returnUrl}", //merchant response page URL
72
+ responseHandler: handleResponse,
73
+ paymentMode: "${mandateData.paymentMode}",
74
+ merchantLogoUrl:
75
+ "https://www.paynimo.com/CompanyDocs/company-logo-vertical.png",
76
+ merchantId: "${mandateData.merchantId}",
77
+ currency: "INR",
78
+ consumerId: "${mandateData.consumerId}",
79
+ consumerMobileNo: "${mandateData.consumerMobileNo}",
80
+ consumerEmailId: "${mandateData.consumerEmailId}",
81
+ txnId: "${mandateData.txnId}",
82
+
83
+ items: [
84
+ {
85
+ itemId: "FIRST",
86
+ amount: "${mandateData.totalamount}",
87
+ comAmt: "0",
88
+ },
89
+ ],
90
+ customStyle: {
91
+ PRIMARY_COLOR_CODE: "#45beaa",
92
+ SECONDARY_COLOR_CODE: "#FFFFFF",
93
+ BUTTON_COLOR_CODE_1: "#2d8c8c",
94
+ BUTTON_COLOR_CODE_2: "#FFFFFF",
95
+ },
96
+ accountNo: "${mandateData.accountNo}", //Pass this if accountNo is captured at merchant side for eMandate/eNACH
97
+
98
+ ifscCode: "${mandateData.ifscCode}", //Pass this if ifscCode is captured at merchant side.
99
+ accountType: "${mandateData.accountType}", //Required for eNACH registration this is mandatory field
100
+ debitStartDate: "${mandateData.debitStartDate}",
101
+ debitEndDate: "${mandateData.debitEndDate}",
102
+ maxAmount: "${mandateData.maxAmount}",
103
+ amountType: "${mandateData.amountType}",
104
+ frequency: "${mandateData.frequency}",
105
+ },
106
+ };
107
+
108
+ $.pnCheckout(reqJson);
109
+ if (reqJson.features.enableNewWindowFlow) {
110
+ pnCheckoutShared.openNewWindow();
111
+ }
112
+ });
113
+ });
114
+ </script>
115
+ </body>
116
+ </html>
117
+
118
+ `;
119
+ };