@monnify/mcp-server 1.0.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 (192) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +563 -0
  3. package/build/auth/tokenManager.d.ts +11 -0
  4. package/build/auth/tokenManager.d.ts.map +1 -0
  5. package/build/auth/tokenManager.js +62 -0
  6. package/build/auth/tokenManager.js.map +1 -0
  7. package/build/cli.d.ts +3 -0
  8. package/build/cli.d.ts.map +1 -0
  9. package/build/cli.js +39 -0
  10. package/build/cli.js.map +1 -0
  11. package/build/client/monnifyClient.d.ts +7 -0
  12. package/build/client/monnifyClient.d.ts.map +1 -0
  13. package/build/client/monnifyClient.js +119 -0
  14. package/build/client/monnifyClient.js.map +1 -0
  15. package/build/config/env.d.ts +47 -0
  16. package/build/config/env.d.ts.map +1 -0
  17. package/build/config/env.js +39 -0
  18. package/build/config/env.js.map +1 -0
  19. package/build/index.d.ts +36 -0
  20. package/build/index.d.ts.map +1 -0
  21. package/build/index.js +84 -0
  22. package/build/index.js.map +1 -0
  23. package/build/schemas/compat.d.ts +24 -0
  24. package/build/schemas/compat.d.ts.map +1 -0
  25. package/build/schemas/compat.js +20 -0
  26. package/build/schemas/compat.js.map +1 -0
  27. package/build/schemas/extended/collections.d.ts +439 -0
  28. package/build/schemas/extended/collections.d.ts.map +1 -0
  29. package/build/schemas/extended/collections.js +403 -0
  30. package/build/schemas/extended/collections.js.map +1 -0
  31. package/build/schemas/extended/directDebit.d.ts +123 -0
  32. package/build/schemas/extended/directDebit.d.ts.map +1 -0
  33. package/build/schemas/extended/directDebit.js +121 -0
  34. package/build/schemas/extended/directDebit.js.map +1 -0
  35. package/build/schemas/extended/verification.d.ts +55 -0
  36. package/build/schemas/extended/verification.d.ts.map +1 -0
  37. package/build/schemas/extended/verification.js +51 -0
  38. package/build/schemas/extended/verification.js.map +1 -0
  39. package/build/schemas/generated.d.ts +4 -0
  40. package/build/schemas/generated.d.ts.map +1 -0
  41. package/build/schemas/generated.js +2603 -0
  42. package/build/schemas/generated.js.map +1 -0
  43. package/build/security/guards.d.ts +5 -0
  44. package/build/security/guards.d.ts.map +1 -0
  45. package/build/security/guards.js +43 -0
  46. package/build/security/guards.js.map +1 -0
  47. package/build/security/sanitiser.d.ts +46 -0
  48. package/build/security/sanitiser.d.ts.map +1 -0
  49. package/build/security/sanitiser.js +269 -0
  50. package/build/security/sanitiser.js.map +1 -0
  51. package/build/tools/collections/authoriseCard3ds.d.ts +7 -0
  52. package/build/tools/collections/authoriseCard3ds.d.ts.map +1 -0
  53. package/build/tools/collections/authoriseCard3ds.js +63 -0
  54. package/build/tools/collections/authoriseCard3ds.js.map +1 -0
  55. package/build/tools/collections/authoriseCardOtp.d.ts +7 -0
  56. package/build/tools/collections/authoriseCardOtp.d.ts.map +1 -0
  57. package/build/tools/collections/authoriseCardOtp.js +55 -0
  58. package/build/tools/collections/authoriseCardOtp.js.map +1 -0
  59. package/build/tools/collections/chargeCard.d.ts +7 -0
  60. package/build/tools/collections/chargeCard.d.ts.map +1 -0
  61. package/build/tools/collections/chargeCard.js +59 -0
  62. package/build/tools/collections/chargeCard.js.map +1 -0
  63. package/build/tools/collections/chargeCardToken.d.ts +7 -0
  64. package/build/tools/collections/chargeCardToken.d.ts.map +1 -0
  65. package/build/tools/collections/chargeCardToken.js +68 -0
  66. package/build/tools/collections/chargeCardToken.js.map +1 -0
  67. package/build/tools/collections/createInvoice.d.ts +7 -0
  68. package/build/tools/collections/createInvoice.d.ts.map +1 -0
  69. package/build/tools/collections/createInvoice.js +57 -0
  70. package/build/tools/collections/createInvoice.js.map +1 -0
  71. package/build/tools/collections/deallocateReservedAccount.d.ts +14 -0
  72. package/build/tools/collections/deallocateReservedAccount.d.ts.map +1 -0
  73. package/build/tools/collections/deallocateReservedAccount.js +55 -0
  74. package/build/tools/collections/deallocateReservedAccount.js.map +1 -0
  75. package/build/tools/collections/getAllTransactions.d.ts +47 -0
  76. package/build/tools/collections/getAllTransactions.d.ts.map +1 -0
  77. package/build/tools/collections/getAllTransactions.js +140 -0
  78. package/build/tools/collections/getAllTransactions.js.map +1 -0
  79. package/build/tools/collections/getReservedAccount.d.ts +14 -0
  80. package/build/tools/collections/getReservedAccount.d.ts.map +1 -0
  81. package/build/tools/collections/getReservedAccount.js +55 -0
  82. package/build/tools/collections/getReservedAccount.js.map +1 -0
  83. package/build/tools/collections/getReservedAccountTransactions.d.ts +20 -0
  84. package/build/tools/collections/getReservedAccountTransactions.d.ts.map +1 -0
  85. package/build/tools/collections/getReservedAccountTransactions.js +86 -0
  86. package/build/tools/collections/getReservedAccountTransactions.js.map +1 -0
  87. package/build/tools/collections/getTransactionDetails.d.ts +14 -0
  88. package/build/tools/collections/getTransactionDetails.d.ts.map +1 -0
  89. package/build/tools/collections/getTransactionDetails.js +60 -0
  90. package/build/tools/collections/getTransactionDetails.js.map +1 -0
  91. package/build/tools/collections/getTransactionStatus.d.ts +7 -0
  92. package/build/tools/collections/getTransactionStatus.d.ts.map +1 -0
  93. package/build/tools/collections/getTransactionStatus.js +58 -0
  94. package/build/tools/collections/getTransactionStatus.js.map +1 -0
  95. package/build/tools/collections/initiatePayment.d.ts +7 -0
  96. package/build/tools/collections/initiatePayment.d.ts.map +1 -0
  97. package/build/tools/collections/initiatePayment.js +63 -0
  98. package/build/tools/collections/initiatePayment.js.map +1 -0
  99. package/build/tools/collections/payWithBankTransfer.d.ts +7 -0
  100. package/build/tools/collections/payWithBankTransfer.d.ts.map +1 -0
  101. package/build/tools/collections/payWithBankTransfer.js +55 -0
  102. package/build/tools/collections/payWithBankTransfer.js.map +1 -0
  103. package/build/tools/collections/processRefund.d.ts +7 -0
  104. package/build/tools/collections/processRefund.d.ts.map +1 -0
  105. package/build/tools/collections/processRefund.js +55 -0
  106. package/build/tools/collections/processRefund.js.map +1 -0
  107. package/build/tools/collections/reserveAccount.d.ts +7 -0
  108. package/build/tools/collections/reserveAccount.d.ts.map +1 -0
  109. package/build/tools/collections/reserveAccount.js +57 -0
  110. package/build/tools/collections/reserveAccount.js.map +1 -0
  111. package/build/tools/directDebit/cancelMandate.d.ts +7 -0
  112. package/build/tools/directDebit/cancelMandate.d.ts.map +1 -0
  113. package/build/tools/directDebit/cancelMandate.js +55 -0
  114. package/build/tools/directDebit/cancelMandate.js.map +1 -0
  115. package/build/tools/directDebit/createMandate.d.ts +7 -0
  116. package/build/tools/directDebit/createMandate.d.ts.map +1 -0
  117. package/build/tools/directDebit/createMandate.js +55 -0
  118. package/build/tools/directDebit/createMandate.js.map +1 -0
  119. package/build/tools/directDebit/debitMandate.d.ts +7 -0
  120. package/build/tools/directDebit/debitMandate.d.ts.map +1 -0
  121. package/build/tools/directDebit/debitMandate.js +55 -0
  122. package/build/tools/directDebit/debitMandate.js.map +1 -0
  123. package/build/tools/directDebit/getMandateDebitStatus.d.ts +7 -0
  124. package/build/tools/directDebit/getMandateDebitStatus.d.ts.map +1 -0
  125. package/build/tools/directDebit/getMandateDebitStatus.js +55 -0
  126. package/build/tools/directDebit/getMandateDebitStatus.js.map +1 -0
  127. package/build/tools/directDebit/getMandateStatus.d.ts +7 -0
  128. package/build/tools/directDebit/getMandateStatus.d.ts.map +1 -0
  129. package/build/tools/directDebit/getMandateStatus.js +55 -0
  130. package/build/tools/directDebit/getMandateStatus.js.map +1 -0
  131. package/build/tools/registry.d.ts +11 -0
  132. package/build/tools/registry.d.ts.map +1 -0
  133. package/build/tools/registry.js +15 -0
  134. package/build/tools/registry.js.map +1 -0
  135. package/build/tools/utilities/getSupportedBanks.d.ts +8 -0
  136. package/build/tools/utilities/getSupportedBanks.d.ts.map +1 -0
  137. package/build/tools/utilities/getSupportedBanks.js +47 -0
  138. package/build/tools/utilities/getSupportedBanks.js.map +1 -0
  139. package/build/tools/utilities/getTransactionList.d.ts +47 -0
  140. package/build/tools/utilities/getTransactionList.d.ts.map +1 -0
  141. package/build/tools/utilities/getTransactionList.js +136 -0
  142. package/build/tools/utilities/getTransactionList.js.map +1 -0
  143. package/build/tools/verification/verifyBankAccount.d.ts +7 -0
  144. package/build/tools/verification/verifyBankAccount.d.ts.map +1 -0
  145. package/build/tools/verification/verifyBankAccount.js +58 -0
  146. package/build/tools/verification/verifyBankAccount.js.map +1 -0
  147. package/build/tools/verification/verifyBvn.d.ts +7 -0
  148. package/build/tools/verification/verifyBvn.d.ts.map +1 -0
  149. package/build/tools/verification/verifyBvn.js +55 -0
  150. package/build/tools/verification/verifyBvn.js.map +1 -0
  151. package/build/tools/verification/verifyBvnInfo.d.ts +7 -0
  152. package/build/tools/verification/verifyBvnInfo.d.ts.map +1 -0
  153. package/build/tools/verification/verifyBvnInfo.js +55 -0
  154. package/build/tools/verification/verifyBvnInfo.js.map +1 -0
  155. package/build/tools/verification/verifyNin.d.ts +7 -0
  156. package/build/tools/verification/verifyNin.d.ts.map +1 -0
  157. package/build/tools/verification/verifyNin.js +55 -0
  158. package/build/tools/verification/verifyNin.js.map +1 -0
  159. package/build/transport/http.d.ts +3 -0
  160. package/build/transport/http.d.ts.map +1 -0
  161. package/build/transport/http.js +71 -0
  162. package/build/transport/http.js.map +1 -0
  163. package/build/transport/stdio.d.ts +3 -0
  164. package/build/transport/stdio.d.ts.map +1 -0
  165. package/build/transport/stdio.js +8 -0
  166. package/build/transport/stdio.js.map +1 -0
  167. package/build/types/mcp.d.ts +11 -0
  168. package/build/types/mcp.d.ts.map +1 -0
  169. package/build/types/mcp.js +7 -0
  170. package/build/types/mcp.js.map +1 -0
  171. package/build/utils/clientContext.d.ts +7 -0
  172. package/build/utils/clientContext.d.ts.map +1 -0
  173. package/build/utils/clientContext.js +24 -0
  174. package/build/utils/clientContext.js.map +1 -0
  175. package/build/utils/errors.d.ts +21 -0
  176. package/build/utils/errors.d.ts.map +1 -0
  177. package/build/utils/errors.js +45 -0
  178. package/build/utils/errors.js.map +1 -0
  179. package/build/utils/format.d.ts +34 -0
  180. package/build/utils/format.d.ts.map +1 -0
  181. package/build/utils/format.js +362 -0
  182. package/build/utils/format.js.map +1 -0
  183. package/build/utils/formatters.d.ts +4 -0
  184. package/build/utils/formatters.d.ts.map +1 -0
  185. package/build/utils/formatters.js +26 -0
  186. package/build/utils/formatters.js.map +1 -0
  187. package/build/utils/logger.d.ts +3 -0
  188. package/build/utils/logger.d.ts.map +1 -0
  189. package/build/utils/logger.js +30 -0
  190. package/build/utils/logger.js.map +1 -0
  191. package/openapi/monnify.yaml +9295 -0
  192. package/package.json +55 -0
@@ -0,0 +1,403 @@
1
+ import { z } from "zod";
2
+ import { InitiatePaymentBodySchema, ReserveAccountBodySchema, CreateInvoiceBodySchema, ProcessRefundBodySchema, ChargeCardBodySchema, AuthoriseCardOtpBodySchema, AuthoriseCard3dsBodySchema, } from "../compat.js";
3
+ export const InitiatePaymentInputSchema = InitiatePaymentBodySchema.extend({
4
+ amount: z
5
+ .number()
6
+ .positive()
7
+ .describe("Payment amount in Naira (NGN). Must be a positive number."),
8
+ customerEmail: z
9
+ .string()
10
+ .email()
11
+ .describe("Email address of the customer initiating the payment."),
12
+ customerName: z.string().min(1).describe("Full name of the customer."),
13
+ paymentReference: z
14
+ .string()
15
+ .min(1)
16
+ .max(64)
17
+ .describe("Your unique idempotency reference for this payment. Reusing the same reference safely deduplicates retries."),
18
+ paymentDescription: z
19
+ .string()
20
+ .max(100)
21
+ .describe("Human-readable description shown to the customer on the payment page."),
22
+ currencyCode: z
23
+ .enum(["NGN"])
24
+ .default("NGN")
25
+ .describe("Currency code — currently only NGN is supported."),
26
+ contractCode: z
27
+ .string()
28
+ .min(1)
29
+ .optional()
30
+ .describe("Your Monnify contract code. Defaults to the contract code supplied at server startup — only override if you need a different contract."),
31
+ redirectUrl: z
32
+ .string()
33
+ .url()
34
+ .optional()
35
+ .describe("URL to redirect the customer to after payment. Must be HTTPS in production."),
36
+ paymentMethods: z
37
+ .array(z.enum(["CARD", "ACCOUNT_TRANSFER", "USSD", "PHONE_NUMBER"]))
38
+ .optional()
39
+ .describe("Allowed payment methods. Omit to allow all available methods."),
40
+ incomeSplitConfig: z
41
+ .array(z.object({
42
+ subAccountCode: z
43
+ .string()
44
+ .optional()
45
+ .describe("Monnify sub-account code to receive the split (e.g. 'MFY_SUB_319452883228')."),
46
+ feePercentage: z
47
+ .number()
48
+ .optional()
49
+ .describe("Percentage of Monnify's processing fee borne by this sub-account."),
50
+ splitPercentage: z
51
+ .number()
52
+ .optional()
53
+ .describe("Percentage of the payment amount credited to this sub-account."),
54
+ splitAmount: z
55
+ .number()
56
+ .optional()
57
+ .describe("Fixed amount (in Naira) credited to this sub-account per transaction."),
58
+ feeBearer: z
59
+ .boolean()
60
+ .optional()
61
+ .describe("If true, this sub-account bears the Monnify transaction fee."),
62
+ }))
63
+ .optional()
64
+ .describe("Income split configuration — distributes the payment across multiple sub-accounts at settlement. Omit to credit the full amount to the primary account."),
65
+ });
66
+ export const ReserveAccountInputSchema = ReserveAccountBodySchema.extend({
67
+ accountReference: z
68
+ .string()
69
+ .min(1)
70
+ .max(64)
71
+ .describe("Your unique reference for this reserved account. Used for idempotency."),
72
+ accountName: z
73
+ .string()
74
+ .min(1)
75
+ .describe("Display name for the reserved account."),
76
+ contractCode: z.string().min(1).optional().describe("Your Monnify contract code. Defaults to the contract code supplied at server startup."),
77
+ customerEmail: z.string().email().describe("Customer email address."),
78
+ customerName: z.string().min(1).describe("Full name of the customer."),
79
+ currencyCode: z
80
+ .enum(["NGN"])
81
+ .default("NGN")
82
+ .describe("Currency code — currently only NGN is supported."),
83
+ bvn: z
84
+ .string()
85
+ .regex(/^\d{11}$/, "BVN must be exactly 11 digits")
86
+ .describe("Customer's 11-digit Bank Verification Number (BVN) issued by the Central Bank of Nigeria. Required for KYC compliance."),
87
+ getAllAvailableBanks: z
88
+ .boolean()
89
+ .describe("If true, Monnify returns virtual account numbers across all available banking partners. Set to false to restrict to preferredBanks only."),
90
+ preferredBanks: z
91
+ .array(z.string())
92
+ .describe("Array of bank codes for the preferred virtual account banks (e.g. ['50515'] for Moniepoint MFB). Required even when getAllAvailableBanks is true — used as the fallback/priority set."),
93
+ nin: z
94
+ .string()
95
+ .regex(/^\d{11}$/, "NIN must be exactly 11 digits")
96
+ .optional()
97
+ .describe("Customer's 11-digit National Identification Number (NIN) issued by NIMC. Optional but recommended for enhanced KYC."),
98
+ restrictPaymentSource: z
99
+ .boolean()
100
+ .optional()
101
+ .default(true)
102
+ .describe("If true (default), only BVNs/accounts listed in allowedPaymentSources can fund this account. Set to false to allow payments from any source."),
103
+ allowedPaymentSources: z
104
+ .object({
105
+ bvns: z
106
+ .array(z.string())
107
+ .optional()
108
+ .describe("List of BVNs allowed to fund this account."),
109
+ bankAccounts: z
110
+ .array(z.object({
111
+ accountNumber: z.string().optional().describe("10-digit NUBAN account number."),
112
+ bankCode: z.string().optional().describe("3-digit bank code."),
113
+ }))
114
+ .optional()
115
+ .describe("List of specific bank accounts allowed to fund this account."),
116
+ accountNames: z
117
+ .array(z.string())
118
+ .optional()
119
+ .describe("List of account names allowed to fund this account."),
120
+ })
121
+ .optional()
122
+ .describe("Whitelist of payers allowed to fund this reserved account. Only enforced when restrictPaymentSource is true."),
123
+ incomeSplitConfig: z
124
+ .array(z.object({
125
+ subAccountCode: z
126
+ .string()
127
+ .optional()
128
+ .describe("Monnify sub-account code to receive the split (e.g. 'MFY_SUB_319452883228')."),
129
+ feePercentage: z
130
+ .number()
131
+ .optional()
132
+ .describe("Percentage of Monnify's processing fee borne by this sub-account."),
133
+ splitPercentage: z
134
+ .number()
135
+ .optional()
136
+ .describe("Percentage of the received amount credited to this sub-account."),
137
+ feeBearer: z
138
+ .boolean()
139
+ .optional()
140
+ .describe("If true, this sub-account bears the transaction fee."),
141
+ splitAmount: z
142
+ .number()
143
+ .optional()
144
+ .describe("Fixed amount (in Naira) credited to this sub-account per transaction."),
145
+ }))
146
+ .optional()
147
+ .describe("Income split configuration — distributes received payments across multiple sub-accounts. Omit to credit the full amount to the primary account."),
148
+ });
149
+ export const GetTransactionStatusInputSchema = z.object({
150
+ paymentReference: z
151
+ .string()
152
+ .min(1)
153
+ .describe("The payment reference used when the transaction was initiated."),
154
+ transactionReference: z
155
+ .string()
156
+ .optional()
157
+ .describe("Monnify's transaction reference. Provide either this or paymentReference."),
158
+ });
159
+ export const CreateInvoiceInputSchema = CreateInvoiceBodySchema.extend({
160
+ amount: z.number().positive().describe("Invoice amount in Naira (NGN)."),
161
+ invoiceReference: z
162
+ .string()
163
+ .min(1)
164
+ .max(64)
165
+ .describe("Your unique reference for this invoice. Used for idempotency."),
166
+ description: z
167
+ .string()
168
+ .max(100)
169
+ .describe("Description of the invoice — shown to the customer."),
170
+ contractCode: z.string().min(1).optional().describe("Your Monnify contract code. Defaults to the contract code supplied at server startup."),
171
+ customerEmail: z.string().email().describe("Customer email address."),
172
+ customerName: z.string().min(1).describe("Full name of the customer."),
173
+ currencyCode: z
174
+ .enum(["NGN"])
175
+ .default("NGN")
176
+ .describe("Currency code — currently only NGN is supported."),
177
+ expiryDate: z
178
+ .string()
179
+ .describe("Invoice expiry date in ISO 8601 format (YYYY-MM-DDTHH:mm:ss). After this date the invoice can no longer be paid."),
180
+ paymentMethods: z
181
+ .array(z.enum(["CARD", "ACCOUNT_TRANSFER", "USSD", "PHONE_NUMBER"]))
182
+ .optional()
183
+ .describe("Allowed payment methods. Omit to allow all available methods."),
184
+ redirectUrl: z
185
+ .string()
186
+ .url()
187
+ .optional()
188
+ .describe("URL to redirect the customer to after payment. Must be HTTPS in production."),
189
+ accountReference: z
190
+ .string()
191
+ .optional()
192
+ .describe("Your unique reference for the reserved account linked to this invoice. Required when creating a Static Invoice (one that reuses a reserved account)."),
193
+ });
194
+ export const ChargeCardInputSchema = ChargeCardBodySchema.extend({
195
+ transactionReference: z
196
+ .string()
197
+ .min(1)
198
+ .describe("Monnify transaction reference from monnify_initiate_payment. Links this card charge to the pending transaction."),
199
+ collectionChannel: z
200
+ .string()
201
+ .default("API_NOTIFICATION")
202
+ .describe("Collection channel. Defaults to API_NOTIFICATION for direct card charges."),
203
+ card: z.object({
204
+ number: z
205
+ .string()
206
+ .regex(/^\d{16}$/, "Card number must be exactly 16 digits")
207
+ .describe("16-digit card number. Handle with care — never log or store."),
208
+ expiryMonth: z
209
+ .string()
210
+ .regex(/^(0[1-9]|1[0-2])$/, "Expiry month must be MM format (01–12)")
211
+ .describe("Card expiry month in 2-digit format (e.g. '09' for September)."),
212
+ expiryYear: z
213
+ .string()
214
+ .regex(/^\d{4}$/, "Expiry year must be 4-digit YYYY format")
215
+ .describe("Card expiry year in 4-digit format (e.g. '2028')."),
216
+ pin: z
217
+ .string()
218
+ .regex(/^\d{4}$/, "PIN must be exactly 4 digits")
219
+ .describe("4-digit card PIN. Required for Nigerian-issued cards. Transmit only over TLS — never log."),
220
+ cvv: z
221
+ .string()
222
+ .regex(/^\d{3}$/, "CVV must be 3 digits")
223
+ .describe("3-digit card CVV on the back of the card. Never log or store."),
224
+ }),
225
+ deviceInformation: z.object({
226
+ httpBrowserLanguage: z
227
+ .string()
228
+ .describe("Browser language (e.g. 'en-US')."),
229
+ httpBrowserJavaEnabled: z
230
+ .boolean()
231
+ .describe("Whether Java is enabled in the browser."),
232
+ httpBrowserJavaScriptEnabled: z
233
+ .boolean()
234
+ .describe("Whether JavaScript is enabled in the browser."),
235
+ httpBrowserColorDepth: z
236
+ .number()
237
+ .int()
238
+ .describe("Browser screen colour depth in bits (e.g. 24)."),
239
+ httpBrowserScreenHeight: z
240
+ .number()
241
+ .int()
242
+ .describe("Browser screen height in pixels (e.g. 900)."),
243
+ httpBrowserScreenWidth: z
244
+ .number()
245
+ .int()
246
+ .describe("Browser screen width in pixels (e.g. 1440)."),
247
+ httpBrowserTimeDifference: z
248
+ .string()
249
+ .describe("UTC offset of the browser's timezone (e.g. '-60'). Pass empty string if unknown."),
250
+ userAgentBrowserValue: z
251
+ .string()
252
+ .describe("Full browser User-Agent string from the customer's browser."),
253
+ }),
254
+ });
255
+ export const AuthoriseCardOtpInputSchema = AuthoriseCardOtpBodySchema.extend({
256
+ transactionReference: z
257
+ .string()
258
+ .min(1)
259
+ .describe("Monnify transaction reference returned by monnify_charge_card. Must match the transaction awaiting OTP."),
260
+ tokenId: z
261
+ .string()
262
+ .min(1)
263
+ .describe("Token ID returned in the otpData from monnify_charge_card when status is OTP_AUTHORIZATION_REQUIRED."),
264
+ token: z
265
+ .string()
266
+ .min(4)
267
+ .max(8)
268
+ .describe("OTP sent to the customer's registered phone number by their bank. Collect from the customer and pass here."),
269
+ });
270
+ export const AuthoriseCard3dsInputSchema = AuthoriseCard3dsBodySchema.extend({
271
+ transactionReference: z
272
+ .string()
273
+ .min(1)
274
+ .describe("Monnify transaction reference returned by monnify_charge_card when status is THREE_DS_TRANSACTION_INITIATED."),
275
+ apiKey: z
276
+ .string()
277
+ .min(1)
278
+ .optional()
279
+ .describe("Your Monnify API key. Defaults to the API key supplied at server startup."),
280
+ card: z
281
+ .object({
282
+ number: z.union([z.string(), z.number()]).describe("Card number."),
283
+ expiryMonth: z
284
+ .union([z.string(), z.number()])
285
+ .describe("Card expiry month."),
286
+ expiryYear: z
287
+ .union([z.string(), z.number()])
288
+ .describe("Card expiry year."),
289
+ cvv: z.union([z.string(), z.number()]).describe("Card CVV."),
290
+ pin: z.union([z.string(), z.number()]).describe("Card PIN."),
291
+ })
292
+ .optional()
293
+ .describe("Card details — only required if not already captured in the initial charge."),
294
+ });
295
+ export const PayWithBankTransferInputSchema = z.object({
296
+ transactionReference: z
297
+ .string()
298
+ .min(1)
299
+ .describe("Monnify transaction reference returned by monnify_initiate_payment. Required to link this bank transfer to an existing pending transaction."),
300
+ bankCode: z
301
+ .string()
302
+ .length(3)
303
+ .optional()
304
+ .describe("3-digit bank code for USSD string generation (e.g. '058' for GTBank). Optional — omit to let Monnify select the bank. Call monnify_get_supported_banks to retrieve the full list."),
305
+ });
306
+ export const ChargeCardTokenInputSchema = z.object({
307
+ cardToken: z
308
+ .string()
309
+ .min(1)
310
+ .describe("Card token retrieved from the Get Transaction Status response after a previous successful card charge. Use monnify_get_transaction_status to obtain it."),
311
+ amount: z
312
+ .number()
313
+ .positive()
314
+ .describe("Amount to charge in Naira (NGN). Minimum is ₦20."),
315
+ customerEmail: z
316
+ .string()
317
+ .email()
318
+ .describe("Email address of the customer — must match the email used in the original card charge that produced this token."),
319
+ paymentReference: z
320
+ .string()
321
+ .min(1)
322
+ .max(64)
323
+ .describe("Your unique idempotency reference for this charge. Reusing the same reference safely deduplicates retries."),
324
+ contractCode: z
325
+ .string()
326
+ .min(1)
327
+ .optional()
328
+ .describe("Your Monnify contract code. Defaults to the contract code supplied at server startup."),
329
+ apiKey: z
330
+ .string()
331
+ .min(1)
332
+ .optional()
333
+ .describe("Your Monnify API key. Defaults to the API key supplied at server startup."),
334
+ customerName: z
335
+ .string()
336
+ .optional()
337
+ .describe("Full name of the customer."),
338
+ paymentDescription: z
339
+ .string()
340
+ .max(100)
341
+ .optional()
342
+ .describe("Human-readable description of this payment."),
343
+ currencyCode: z
344
+ .enum(["NGN"])
345
+ .default("NGN")
346
+ .describe("Currency code — currently only NGN is supported."),
347
+ metaData: z
348
+ .object({
349
+ ipAddress: z.string().optional().describe("Customer's IP address (e.g. '127.0.0.1')."),
350
+ deviceType: z.string().optional().describe("Customer's device type (e.g. 'mobile', 'desktop')."),
351
+ })
352
+ .optional()
353
+ .describe("Optional metadata about the customer's device."),
354
+ incomeSplitConfig: z
355
+ .array(z.object({
356
+ subAccountCode: z.string().optional().describe("Sub-account code to receive the split."),
357
+ feePercentage: z.number().optional().describe("Percentage of the fee borne by this sub-account."),
358
+ splitPercentage: z.number().optional().describe("Percentage of the amount credited to this sub-account."),
359
+ splitAmount: z.number().optional().describe("Fixed amount credited to this sub-account per transaction."),
360
+ feeBearer: z.boolean().optional().describe("If true, this sub-account bears the transaction fee."),
361
+ }))
362
+ .optional()
363
+ .describe("Income split configuration. Omit to credit the full amount to the primary account."),
364
+ });
365
+ export const ProcessRefundInputSchema = ProcessRefundBodySchema.extend({
366
+ transactionReference: z
367
+ .string()
368
+ .min(1)
369
+ .describe("The Monnify transaction reference of the original payment to refund."),
370
+ refundReference: z
371
+ .string()
372
+ .min(1)
373
+ .max(64)
374
+ .describe("Your unique idempotency reference for this refund. Reusing the same reference is safe and will not create a duplicate refund."),
375
+ refundAmount: z
376
+ .number()
377
+ .positive()
378
+ .describe("Amount to refund in Naira. Cannot exceed the original payment amount."),
379
+ refundReason: z
380
+ .enum([
381
+ "CUSTOMER_REQUEST",
382
+ "ORDER_CANCELLATION",
383
+ "SUSPICIOUS_TRANSACTION",
384
+ "DUPLICATE_CHARGE",
385
+ "OTHERS",
386
+ ])
387
+ .describe("Reason code for the refund."),
388
+ customerNote: z
389
+ .string()
390
+ .max(200)
391
+ .describe("Human-readable note to the customer explaining the refund."),
392
+ destinationAccountNumber: z
393
+ .string()
394
+ .length(10)
395
+ .optional()
396
+ .describe("10-digit NUBAN account number to credit the refund to. Required if refunding to a different account than the original payer."),
397
+ destinationAccountBankCode: z
398
+ .string()
399
+ .length(3)
400
+ .optional()
401
+ .describe("3-digit bank code for the destination account. Required when destinationAccountNumber is provided. Call monnify_get_supported_banks to retrieve."),
402
+ });
403
+ //# sourceMappingURL=collections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collections.js","sourceRoot":"","sources":["../../../src/schemas/extended/collections.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ import { z } from "zod";
2
+ export declare const CreateMandateInputSchema: z.ZodObject<{
3
+ [x: string]: z.ZodTypeAny;
4
+ } & {
5
+ mandateReference: z.ZodString;
6
+ mandateAmount: z.ZodNumber;
7
+ customerAccountNumber: z.ZodString;
8
+ customerAccountBankCode: z.ZodString;
9
+ customerName: z.ZodString;
10
+ customerEmailAddress: z.ZodString;
11
+ customerPhoneNumber: z.ZodString;
12
+ customerAddress: z.ZodString;
13
+ mandateDescription: z.ZodString;
14
+ mandateStartDate: z.ZodString;
15
+ mandateEndDate: z.ZodString;
16
+ contractCode: z.ZodString;
17
+ redirectUrl: z.ZodOptional<z.ZodString>;
18
+ debitAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
19
+ autoRenew: z.ZodOptional<z.ZodBoolean>;
20
+ customerCancellation: z.ZodOptional<z.ZodBoolean>;
21
+ }, z.UnknownKeysParam, z.ZodTypeAny, {
22
+ [x: string]: any;
23
+ mandateReference?: unknown;
24
+ mandateAmount?: unknown;
25
+ customerAccountNumber?: unknown;
26
+ customerAccountBankCode?: unknown;
27
+ customerName?: unknown;
28
+ customerEmailAddress?: unknown;
29
+ customerPhoneNumber?: unknown;
30
+ customerAddress?: unknown;
31
+ mandateDescription?: unknown;
32
+ mandateStartDate?: unknown;
33
+ mandateEndDate?: unknown;
34
+ contractCode?: unknown;
35
+ redirectUrl?: unknown;
36
+ debitAmount?: unknown;
37
+ autoRenew?: unknown;
38
+ customerCancellation?: unknown;
39
+ }, {
40
+ [x: string]: any;
41
+ mandateReference?: unknown;
42
+ mandateAmount?: unknown;
43
+ customerAccountNumber?: unknown;
44
+ customerAccountBankCode?: unknown;
45
+ customerName?: unknown;
46
+ customerEmailAddress?: unknown;
47
+ customerPhoneNumber?: unknown;
48
+ customerAddress?: unknown;
49
+ mandateDescription?: unknown;
50
+ mandateStartDate?: unknown;
51
+ mandateEndDate?: unknown;
52
+ contractCode?: unknown;
53
+ redirectUrl?: unknown;
54
+ debitAmount?: unknown;
55
+ autoRenew?: unknown;
56
+ customerCancellation?: unknown;
57
+ }>;
58
+ export declare const GetMandateStatusInputSchema: z.ZodObject<{
59
+ mandateReferences: z.ZodString;
60
+ }, "strip", z.ZodTypeAny, {
61
+ mandateReferences: string;
62
+ }, {
63
+ mandateReferences: string;
64
+ }>;
65
+ export declare const DebitMandateInputSchema: z.ZodObject<{
66
+ [x: string]: z.ZodTypeAny;
67
+ } & {
68
+ paymentReference: z.ZodString;
69
+ mandateCode: z.ZodString;
70
+ debitAmount: z.ZodNumber;
71
+ narration: z.ZodString;
72
+ customerEmail: z.ZodString;
73
+ incomeSplitConfig: z.ZodOptional<z.ZodArray<z.ZodObject<{
74
+ subAccountCode: z.ZodOptional<z.ZodString>;
75
+ feePercentage: z.ZodOptional<z.ZodNumber>;
76
+ splitAmount: z.ZodOptional<z.ZodNumber>;
77
+ splitPercentage: z.ZodOptional<z.ZodNumber>;
78
+ feeBearer: z.ZodOptional<z.ZodBoolean>;
79
+ }, "strip", z.ZodTypeAny, {
80
+ subAccountCode?: string | undefined;
81
+ feePercentage?: number | undefined;
82
+ splitAmount?: number | undefined;
83
+ splitPercentage?: number | undefined;
84
+ feeBearer?: boolean | undefined;
85
+ }, {
86
+ subAccountCode?: string | undefined;
87
+ feePercentage?: number | undefined;
88
+ splitAmount?: number | undefined;
89
+ splitPercentage?: number | undefined;
90
+ feeBearer?: boolean | undefined;
91
+ }>, "many">>;
92
+ }, z.UnknownKeysParam, z.ZodTypeAny, {
93
+ [x: string]: any;
94
+ paymentReference?: unknown;
95
+ mandateCode?: unknown;
96
+ debitAmount?: unknown;
97
+ narration?: unknown;
98
+ customerEmail?: unknown;
99
+ incomeSplitConfig?: unknown;
100
+ }, {
101
+ [x: string]: any;
102
+ paymentReference?: unknown;
103
+ mandateCode?: unknown;
104
+ debitAmount?: unknown;
105
+ narration?: unknown;
106
+ customerEmail?: unknown;
107
+ incomeSplitConfig?: unknown;
108
+ }>;
109
+ export declare const GetMandateDebitStatusInputSchema: z.ZodObject<{
110
+ paymentReference: z.ZodString;
111
+ }, "strip", z.ZodTypeAny, {
112
+ paymentReference: string;
113
+ }, {
114
+ paymentReference: string;
115
+ }>;
116
+ export declare const CancelMandateInputSchema: z.ZodObject<{
117
+ mandateCode: z.ZodString;
118
+ }, "strip", z.ZodTypeAny, {
119
+ mandateCode: string;
120
+ }, {
121
+ mandateCode: string;
122
+ }>;
123
+ //# sourceMappingURL=directDebit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directDebit.d.ts","sourceRoot":"","sources":["../../../src/schemas/extended/directDebit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8EnC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;EAKtC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsClC,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;;EAK3C,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;EAOnC,CAAC"}
@@ -0,0 +1,121 @@
1
+ import { z } from "zod";
2
+ import { CreateMandateBodySchema, DebitMandateBodySchema, } from "../compat.js";
3
+ export const CreateMandateInputSchema = CreateMandateBodySchema.extend({
4
+ mandateReference: z
5
+ .string()
6
+ .min(1)
7
+ .max(64)
8
+ .describe("Your unique reference for this mandate. Used for idempotency — resubmitting the same reference will not create a duplicate mandate."),
9
+ mandateAmount: z
10
+ .number()
11
+ .positive()
12
+ .describe("Total lifetime amount debitable on this mandate in Naira (NGN)."),
13
+ customerAccountNumber: z
14
+ .string()
15
+ .length(10)
16
+ .describe("10-digit NUBAN account number of the customer to mandate."),
17
+ customerAccountBankCode: z
18
+ .string()
19
+ .length(3)
20
+ .describe("3-digit bank code of the customer's bank. Call monnify_get_supported_banks to retrieve."),
21
+ customerName: z
22
+ .string()
23
+ .min(1)
24
+ .describe("Full name of the customer — must match the bank account holder name."),
25
+ customerEmailAddress: z
26
+ .string()
27
+ .email()
28
+ .describe("Customer email address — Monnify will send mandate notifications here."),
29
+ customerPhoneNumber: z
30
+ .string()
31
+ .describe("Customer phone number in international format e.g. 2348012345678."),
32
+ customerAddress: z
33
+ .string()
34
+ .min(1)
35
+ .describe("Customer's home address (e.g. '123 Example Street, Lagos, Nigeria')."),
36
+ mandateDescription: z
37
+ .string()
38
+ .min(1)
39
+ .describe("Description of what this mandate is for — shown to the customer (e.g. 'Monthly Subscription Fee')."),
40
+ mandateStartDate: z
41
+ .string()
42
+ .describe("Mandate start date in ISO 8601 datetime format (YYYY-MM-DDTHH:mm:ss, e.g. '2024-12-19T10:15:30')."),
43
+ mandateEndDate: z
44
+ .string()
45
+ .describe("Mandate end date in ISO 8601 datetime format (YYYY-MM-DDTHH:mm:ss, e.g. '2025-12-19T10:15:30')."),
46
+ contractCode: z
47
+ .string()
48
+ .min(1)
49
+ .describe("Your Monnify contract code."),
50
+ redirectUrl: z
51
+ .string()
52
+ .url()
53
+ .optional()
54
+ .describe("URL to redirect the customer to after mandate authorisation is completed."),
55
+ debitAmount: z
56
+ .number()
57
+ .positive()
58
+ .nullable()
59
+ .optional()
60
+ .describe("Fixed amount to debit periodically in Naira (NGN). Omit for variable-amount mandates."),
61
+ autoRenew: z
62
+ .boolean()
63
+ .optional()
64
+ .describe("If true, Monnify automatically renews the mandate when it reaches the end date."),
65
+ customerCancellation: z
66
+ .boolean()
67
+ .optional()
68
+ .describe("If true, the customer is allowed to cancel this mandate themselves."),
69
+ });
70
+ export const GetMandateStatusInputSchema = z.object({
71
+ mandateReferences: z
72
+ .string()
73
+ .min(1)
74
+ .describe("The mandate reference to look up. This is the mandateReference you provided when creating the mandate."),
75
+ });
76
+ export const DebitMandateInputSchema = DebitMandateBodySchema.extend({
77
+ paymentReference: z
78
+ .string()
79
+ .min(1)
80
+ .max(64)
81
+ .describe("Your unique idempotency reference for this debit. The same reference can be safely resubmitted to check status without double-charging."),
82
+ mandateCode: z
83
+ .string()
84
+ .min(1)
85
+ .describe("Monnify's generated mandate identifier (e.g. 'MTDD|01HY8WMN8JYKDRJC67QPQVS1N0'). Returned in the mandateCode field from monnify_get_mandate_status. The mandate status MUST be ACTIVATED."),
86
+ debitAmount: z
87
+ .number()
88
+ .positive()
89
+ .describe("Amount to debit in Naira (NGN)."),
90
+ narration: z
91
+ .string()
92
+ .max(100)
93
+ .describe("Description of this debit — appears on the customer's bank statement."),
94
+ customerEmail: z
95
+ .string()
96
+ .email()
97
+ .describe("Email address of the customer being debited."),
98
+ incomeSplitConfig: z
99
+ .array(z.object({
100
+ subAccountCode: z.string().optional().describe("Sub-account code to receive the split."),
101
+ feePercentage: z.number().optional().describe("Percentage of the fee borne by this sub-account."),
102
+ splitAmount: z.number().optional().describe("Fixed amount credited to this sub-account per debit."),
103
+ splitPercentage: z.number().optional().describe("Percentage of the debit amount credited to this sub-account."),
104
+ feeBearer: z.boolean().optional().describe("If true, this sub-account bears the transaction fee."),
105
+ }))
106
+ .optional()
107
+ .describe("Income split configuration for this debit. Omit to credit the full amount to the primary account."),
108
+ });
109
+ export const GetMandateDebitStatusInputSchema = z.object({
110
+ paymentReference: z
111
+ .string()
112
+ .min(1)
113
+ .describe("Your unique payment reference used when the debit was initiated (the paymentReference you passed to monnify_debit_mandate)."),
114
+ });
115
+ export const CancelMandateInputSchema = z.object({
116
+ mandateCode: z
117
+ .string()
118
+ .min(1)
119
+ .describe("Monnify's generated mandate identifier (e.g. 'MTDD|01HY8WMN8JYKDRJC67QPQVS1N0'). Returned in the mandateCode field from monnify_get_mandate_status. This is irreversible — the customer will need a new mandate to authorise future debits."),
120
+ });
121
+ //# sourceMappingURL=directDebit.js.map