@maxkabechani/mtn-momo-sdk 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 (93) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +187 -0
  3. package/lib/cjs/auth.d.ts +17 -0
  4. package/lib/cjs/auth.d.ts.map +1 -0
  5. package/lib/cjs/auth.js +86 -0
  6. package/lib/cjs/auth.js.map +1 -0
  7. package/lib/cjs/cli.d.ts +3 -0
  8. package/lib/cjs/cli.d.ts.map +1 -0
  9. package/lib/cjs/cli.js +66 -0
  10. package/lib/cjs/cli.js.map +1 -0
  11. package/lib/cjs/client.d.ts +7 -0
  12. package/lib/cjs/client.d.ts.map +1 -0
  13. package/lib/cjs/client.js +67 -0
  14. package/lib/cjs/client.js.map +1 -0
  15. package/lib/cjs/collections.d.ts +176 -0
  16. package/lib/cjs/collections.d.ts.map +1 -0
  17. package/lib/cjs/collections.js +219 -0
  18. package/lib/cjs/collections.js.map +1 -0
  19. package/lib/cjs/common.d.ts +299 -0
  20. package/lib/cjs/common.d.ts.map +1 -0
  21. package/lib/cjs/common.js +41 -0
  22. package/lib/cjs/common.js.map +1 -0
  23. package/lib/cjs/disbursements.d.ts +190 -0
  24. package/lib/cjs/disbursements.d.ts.map +1 -0
  25. package/lib/cjs/disbursements.js +268 -0
  26. package/lib/cjs/disbursements.js.map +1 -0
  27. package/lib/cjs/errors.d.ts +67 -0
  28. package/lib/cjs/errors.d.ts.map +1 -0
  29. package/lib/cjs/errors.js +207 -0
  30. package/lib/cjs/errors.js.map +1 -0
  31. package/lib/cjs/index.d.ts +24 -0
  32. package/lib/cjs/index.d.ts.map +1 -0
  33. package/lib/cjs/index.js +87 -0
  34. package/lib/cjs/index.js.map +1 -0
  35. package/lib/cjs/package.json +1 -0
  36. package/lib/cjs/remittance.d.ts +59 -0
  37. package/lib/cjs/remittance.d.ts.map +1 -0
  38. package/lib/cjs/remittance.js +145 -0
  39. package/lib/cjs/remittance.js.map +1 -0
  40. package/lib/cjs/users.d.ts +22 -0
  41. package/lib/cjs/users.d.ts.map +1 -0
  42. package/lib/cjs/users.js +42 -0
  43. package/lib/cjs/users.js.map +1 -0
  44. package/lib/cjs/validate.d.ts +14 -0
  45. package/lib/cjs/validate.d.ts.map +1 -0
  46. package/lib/cjs/validate.js +111 -0
  47. package/lib/cjs/validate.js.map +1 -0
  48. package/lib/esm/auth.d.ts +17 -0
  49. package/lib/esm/auth.d.ts.map +1 -0
  50. package/lib/esm/auth.js +78 -0
  51. package/lib/esm/auth.js.map +1 -0
  52. package/lib/esm/cli.d.ts +3 -0
  53. package/lib/esm/cli.d.ts.map +1 -0
  54. package/lib/esm/cli.js +31 -0
  55. package/lib/esm/cli.js.map +1 -0
  56. package/lib/esm/client.d.ts +7 -0
  57. package/lib/esm/client.d.ts.map +1 -0
  58. package/lib/esm/client.js +29 -0
  59. package/lib/esm/client.js.map +1 -0
  60. package/lib/esm/collections.d.ts +176 -0
  61. package/lib/esm/collections.d.ts.map +1 -0
  62. package/lib/esm/collections.js +216 -0
  63. package/lib/esm/collections.js.map +1 -0
  64. package/lib/esm/common.d.ts +299 -0
  65. package/lib/esm/common.d.ts.map +1 -0
  66. package/lib/esm/common.js +38 -0
  67. package/lib/esm/common.js.map +1 -0
  68. package/lib/esm/disbursements.d.ts +190 -0
  69. package/lib/esm/disbursements.d.ts.map +1 -0
  70. package/lib/esm/disbursements.js +265 -0
  71. package/lib/esm/disbursements.js.map +1 -0
  72. package/lib/esm/errors.d.ts +67 -0
  73. package/lib/esm/errors.d.ts.map +1 -0
  74. package/lib/esm/errors.js +182 -0
  75. package/lib/esm/errors.js.map +1 -0
  76. package/lib/esm/index.d.ts +24 -0
  77. package/lib/esm/index.d.ts.map +1 -0
  78. package/lib/esm/index.js +63 -0
  79. package/lib/esm/index.js.map +1 -0
  80. package/lib/esm/package.json +1 -0
  81. package/lib/esm/remittance.d.ts +59 -0
  82. package/lib/esm/remittance.d.ts.map +1 -0
  83. package/lib/esm/remittance.js +142 -0
  84. package/lib/esm/remittance.js.map +1 -0
  85. package/lib/esm/users.d.ts +22 -0
  86. package/lib/esm/users.d.ts.map +1 -0
  87. package/lib/esm/users.js +39 -0
  88. package/lib/esm/users.js.map +1 -0
  89. package/lib/esm/validate.d.ts +14 -0
  90. package/lib/esm/validate.d.ts.map +1 -0
  91. package/lib/esm/validate.js +100 -0
  92. package/lib/esm/validate.js.map +1 -0
  93. package/package.json +68 -0
@@ -0,0 +1,100 @@
1
+ import { strictEqual } from "assert";
2
+ import { Environment } from "./common";
3
+ export function validateRequestToPay(paymentRequest) {
4
+ const { amount, currency, payer } = paymentRequest || {};
5
+ return Promise.resolve().then(() => {
6
+ strictEqual(isTruthy(amount), true, "amount is required");
7
+ strictEqual(isNumeric(amount), true, "amount must be a number");
8
+ strictEqual(isTruthy(currency), true, "currency is required");
9
+ strictEqual(isTruthy(payer), true, "payer is required");
10
+ strictEqual(isTruthy(payer.partyId), true, "payer.partyId is required");
11
+ strictEqual(isTruthy(payer.partyIdType), true, "payer.partyIdType is required");
12
+ strictEqual(isString(currency), true, "currency must be a string");
13
+ });
14
+ }
15
+ export function validateWithdrawalRequest(request) {
16
+ const { amount, currency, payee } = request || {};
17
+ return Promise.resolve().then(() => {
18
+ strictEqual(isTruthy(amount), true, "amount is required");
19
+ strictEqual(isNumeric(amount), true, "amount must be a number");
20
+ strictEqual(isTruthy(currency), true, "currency is required");
21
+ strictEqual(isTruthy(payee), true, "payee is required");
22
+ strictEqual(isTruthy(payee?.partyId), true, "payee.partyId is required");
23
+ strictEqual(isTruthy(payee?.partyIdType), true, "payee.partyIdType is required");
24
+ strictEqual(isString(currency), true, "currency must be a string");
25
+ });
26
+ }
27
+ export function validateDepositRequest(request) {
28
+ const { amount, currency, payee } = request || {};
29
+ return Promise.resolve().then(() => {
30
+ strictEqual(isTruthy(amount), true, "amount is required");
31
+ strictEqual(isNumeric(amount), true, "amount must be a number");
32
+ strictEqual(isTruthy(currency), true, "currency is required");
33
+ strictEqual(isTruthy(payee), true, "payee is required");
34
+ strictEqual(isTruthy(payee?.partyId), true, "payee.partyId is required");
35
+ strictEqual(isTruthy(payee?.partyIdType), true, "payee.partyIdType is required");
36
+ strictEqual(isString(currency), true, "currency must be a string");
37
+ });
38
+ }
39
+ export function validateRefundRequest(request) {
40
+ const { amount, currency, referenceIdToRefund } = request || {};
41
+ return Promise.resolve().then(() => {
42
+ strictEqual(isTruthy(referenceIdToRefund), true, "referenceIdToRefund is required");
43
+ strictEqual(isUuid4(referenceIdToRefund), true, "referenceIdToRefund must be a valid uuid v4");
44
+ strictEqual(isTruthy(amount), true, "amount is required");
45
+ strictEqual(isNumeric(amount), true, "amount must be a number");
46
+ strictEqual(isTruthy(currency), true, "currency is required");
47
+ strictEqual(isString(currency), true, "currency must be a string");
48
+ });
49
+ }
50
+ export function validateTransfer(payoutRequest) {
51
+ const { amount, currency, payee, referenceId } = payoutRequest || {};
52
+ return Promise.resolve().then(() => {
53
+ strictEqual(isTruthy(referenceId), true, "referenceId is required");
54
+ strictEqual(isUuid4(referenceId), true, "referenceId must be a valid uuid v4");
55
+ strictEqual(isTruthy(amount), true, "amount is required");
56
+ strictEqual(isNumeric(amount), true, "amount must be a number");
57
+ strictEqual(isTruthy(currency), true, "currency is required");
58
+ strictEqual(isTruthy(payee), true, "payee is required");
59
+ strictEqual(isTruthy(payee.partyId), true, "payee.partyId is required");
60
+ strictEqual(isTruthy(payee.partyIdType), true, "payee.partyIdType is required");
61
+ strictEqual(isString(currency), true, "amount must be a string");
62
+ });
63
+ }
64
+ export function validateGlobalConfig(config) {
65
+ const { callbackHost, baseUrl, environment } = config;
66
+ strictEqual(isTruthy(callbackHost), true, "callbackHost is required");
67
+ if (environment && environment !== Environment.SANDBOX) {
68
+ strictEqual(isTruthy(baseUrl), true, "baseUrl is required if environment is not sandbox");
69
+ strictEqual(isString(baseUrl), true, "baseUrl must be a string");
70
+ }
71
+ }
72
+ export function validateProductConfig(config) {
73
+ validateSubscriptionConfig(config);
74
+ validateUserConfig(config);
75
+ }
76
+ export function validateSubscriptionConfig(config) {
77
+ const { primaryKey } = config;
78
+ strictEqual(isTruthy(primaryKey), true, "primaryKey is required");
79
+ strictEqual(isString(primaryKey), true, "primaryKey must be a string");
80
+ }
81
+ export function validateUserConfig({ userId, userSecret }) {
82
+ strictEqual(isTruthy(userId), true, "userId is required");
83
+ strictEqual(isString(userId), true, "userId must be a string");
84
+ strictEqual(isTruthy(userSecret), true, "userSecret is required");
85
+ strictEqual(isString(userSecret), true, "userSecret must be a string");
86
+ strictEqual(isUuid4(userId), true, "userId must be a valid uuid v4");
87
+ }
88
+ function isNumeric(value) {
89
+ return !isNaN(parseInt(value, 10));
90
+ }
91
+ function isTruthy(value) {
92
+ return !!value;
93
+ }
94
+ function isString(value) {
95
+ return typeof value === "string";
96
+ }
97
+ function isUuid4(value) {
98
+ return /^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i.test(value);
99
+ }
100
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,68 @@
1
+ {
2
+ "name": "@maxkabechani/mtn-momo-sdk",
3
+ "version": "0.1.0",
4
+ "description": "MTN Mobile Money API Client for NodeJS written in TypeScript",
5
+ "type": "module",
6
+ "main": "./lib/cjs/index.js",
7
+ "module": "./lib/esm/index.js",
8
+ "types": "./lib/esm/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": {
12
+ "types": "./lib/esm/index.d.ts",
13
+ "default": "./lib/esm/index.js"
14
+ },
15
+ "require": {
16
+ "types": "./lib/cjs/index.d.ts",
17
+ "default": "./lib/cjs/index.js"
18
+ }
19
+ }
20
+ },
21
+ "scripts": {
22
+ "clean": "rm -rf lib",
23
+ "typecheck": "bunx tsc -p tsconfig.typecheck.json",
24
+ "build:esm": "tsc -p tsconfig.esm.json",
25
+ "build:cjs": "tsc -p tsconfig.cjs.json",
26
+ "build": "bun run clean && bun run build:esm && bun run build:cjs && mkdir -p lib/esm lib/cjs && echo '{\"type\":\"module\"}' > lib/esm/package.json && echo '{\"type\":\"commonjs\"}' > lib/cjs/package.json",
27
+ "test": "NODE_ENV=test vitest run",
28
+ "test:integration": "vitest run test/integration.test.ts",
29
+ "test:watch": "NODE_ENV=test vitest",
30
+ "test:coverage": "NODE_ENV=test vitest run --coverage",
31
+ "example:collections": "bun examples/collections.ts",
32
+ "example:collections:extended": "bun examples/collections-extended.ts",
33
+ "example:disbursements": "bun examples/disbursements.ts",
34
+ "example:disbursements:v2": "bun examples/disbursements-v2.ts",
35
+ "example:remittance": "bun examples/remittance.ts",
36
+ "example:users": "bun examples/users.ts"
37
+ },
38
+ "keywords": [
39
+ "MTN",
40
+ "Mobile",
41
+ "Money",
42
+ "Momo",
43
+ "TypeScript",
44
+ "NodeJS",
45
+ "Payment",
46
+ "API"
47
+ ],
48
+ "bin": {
49
+ "momo-sandbox": "lib/cjs/cli.js"
50
+ },
51
+ "license": "ISC",
52
+ "dependencies": {
53
+ "axios": "^1.13.6",
54
+ "commander": "^14.0.3",
55
+ "uuid": "^13.0.0"
56
+ },
57
+ "devDependencies": {
58
+ "@types/node": "^25.5.0",
59
+ "@vitest/coverage-v8": "^4.1.1",
60
+ "axios-mock-adapter": "^2.1.0",
61
+ "dotenv": "^17.3.1",
62
+ "typescript": "^6.0.2",
63
+ "vitest": "^4.1.1"
64
+ },
65
+ "files": [
66
+ "lib"
67
+ ]
68
+ }