mangopay4-nodejs-sdk 1.64.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 (353) hide show
  1. package/.github/workflows/node.js.yml +32 -0
  2. package/.github/workflows/npm-publish.yml +26 -0
  3. package/.jshintrc +16 -0
  4. package/CHANGELOG.md +946 -0
  5. package/LICENSE +21 -0
  6. package/README.md +179 -0
  7. package/docs/BankAccounts.md +35 -0
  8. package/docs/BankingAliases.md +108 -0
  9. package/docs/CardPreAuthorizations.md +55 -0
  10. package/docs/CardRegistrations.md +55 -0
  11. package/docs/Cards.md +82 -0
  12. package/docs/Clients.md +142 -0
  13. package/docs/DisputeDocuments.md +53 -0
  14. package/docs/Disputes.md +292 -0
  15. package/docs/Events.md +23 -0
  16. package/docs/Hooks.md +68 -0
  17. package/docs/Idempotency.md +11 -0
  18. package/docs/KycDocuments.md +52 -0
  19. package/docs/Mandates.md +125 -0
  20. package/docs/OptionsHelper.md +32 -0
  21. package/docs/PayIns.md +72 -0
  22. package/docs/PayOuts.md +55 -0
  23. package/docs/README.md +131 -0
  24. package/docs/Refunds.md +25 -0
  25. package/docs/Reports.md +63 -0
  26. package/docs/Repudiations.md +25 -0
  27. package/docs/Responses.md +33 -0
  28. package/docs/Transfers.md +72 -0
  29. package/docs/UboDeclarations.md +70 -0
  30. package/docs/Users.md +322 -0
  31. package/docs/Wallets.md +70 -0
  32. package/docs/templates/class.mustache +11 -0
  33. package/docs/templates/file.mustache +53 -0
  34. package/docs/templates/function.mustache +33 -0
  35. package/docs/templates/index.mustache +26 -0
  36. package/docs/templates/overview.mustache +1 -0
  37. package/examples/createUsers.js +112 -0
  38. package/examples/createWallet.js +28 -0
  39. package/examples/failedRequest.js +20 -0
  40. package/examples/getBankAccounts.js +29 -0
  41. package/examples/getUserEmoney.js +16 -0
  42. package/examples/getUsers.js +32 -0
  43. package/examples/readResponseHeaders.js +42 -0
  44. package/index.js +1 -0
  45. package/lib/Model.js +58 -0
  46. package/lib/api.js +467 -0
  47. package/lib/apiMethods.js +270 -0
  48. package/lib/config.js +57 -0
  49. package/lib/log.js +9 -0
  50. package/lib/mangopay.js +8 -0
  51. package/lib/models/Address.js +32 -0
  52. package/lib/models/BankAccount.js +45 -0
  53. package/lib/models/BankAccountDetails.js +7 -0
  54. package/lib/models/BankAccountDetailsCA.js +12 -0
  55. package/lib/models/BankAccountDetailsGB.js +10 -0
  56. package/lib/models/BankAccountDetailsIBAN.js +10 -0
  57. package/lib/models/BankAccountDetailsOTHER.js +16 -0
  58. package/lib/models/BankAccountDetailsUS.js +14 -0
  59. package/lib/models/BankAccountType.js +8 -0
  60. package/lib/models/BankingAlias.js +37 -0
  61. package/lib/models/BankingAliasIBAN.js +27 -0
  62. package/lib/models/Billing.js +14 -0
  63. package/lib/models/BinData.js +16 -0
  64. package/lib/models/Birthplace.js +10 -0
  65. package/lib/models/BrowserInfo.js +15 -0
  66. package/lib/models/Card.js +19 -0
  67. package/lib/models/CardInfo.js +32 -0
  68. package/lib/models/CardPreAuthorization.js +144 -0
  69. package/lib/models/CardRegistration.js +29 -0
  70. package/lib/models/CardValidation.js +19 -0
  71. package/lib/models/CategorizeUserLegal.js +15 -0
  72. package/lib/models/CategorizeUserNatural.js +18 -0
  73. package/lib/models/Check.js +13 -0
  74. package/lib/models/CheckData.js +8 -0
  75. package/lib/models/Client.js +62 -0
  76. package/lib/models/ClientWallet.js +28 -0
  77. package/lib/models/Conversion.js +19 -0
  78. package/lib/models/ConversionRate.js +10 -0
  79. package/lib/models/CountryAuthorization.js +12 -0
  80. package/lib/models/DebitedBankAccount.js +15 -0
  81. package/lib/models/DeclaredUbo.js +29 -0
  82. package/lib/models/DeclaredUboStatus.js +17 -0
  83. package/lib/models/Deposit.js +29 -0
  84. package/lib/models/Dispute.js +46 -0
  85. package/lib/models/DisputeDocument.js +10 -0
  86. package/lib/models/DisputeDocumentPage.js +12 -0
  87. package/lib/models/DisputeReason.js +11 -0
  88. package/lib/models/Document.js +12 -0
  89. package/lib/models/DocumentPageConsult.js +17 -0
  90. package/lib/models/EMoney.js +30 -0
  91. package/lib/models/EntityBase.js +70 -0
  92. package/lib/models/Hook.js +19 -0
  93. package/lib/models/IdempotencyResponse.js +11 -0
  94. package/lib/models/IdentityVerification.js +12 -0
  95. package/lib/models/KycDocument.js +11 -0
  96. package/lib/models/KycDocumentStatus.js +7 -0
  97. package/lib/models/KycDocumentType.js +7 -0
  98. package/lib/models/KycPage.js +12 -0
  99. package/lib/models/LegalPersonType.js +7 -0
  100. package/lib/models/LegalRepresentative.js +16 -0
  101. package/lib/models/Mandate.js +69 -0
  102. package/lib/models/MandateStatus.js +7 -0
  103. package/lib/models/Money.js +16 -0
  104. package/lib/models/PayByBankSupportedBank.js +7 -0
  105. package/lib/models/PayIn.js +36 -0
  106. package/lib/models/PayInExecutionDetails.js +7 -0
  107. package/lib/models/PayInExecutionDetailsBankingAlias.js +19 -0
  108. package/lib/models/PayInExecutionDetailsDirect.js +29 -0
  109. package/lib/models/PayInExecutionDetailsWeb.js +40 -0
  110. package/lib/models/PayInExecutionType.js +5 -0
  111. package/lib/models/PayInIntent.js +20 -0
  112. package/lib/models/PayInIntentSplit.js +14 -0
  113. package/lib/models/PayInIntentSplits.js +7 -0
  114. package/lib/models/PayInPaymentDetails.js +7 -0
  115. package/lib/models/PayInPaymentDetailsApplePay.js +19 -0
  116. package/lib/models/PayInPaymentDetailsBancontact.js +13 -0
  117. package/lib/models/PayInPaymentDetailsBankWire.js +23 -0
  118. package/lib/models/PayInPaymentDetailsBankingAlias.js +18 -0
  119. package/lib/models/PayInPaymentDetailsBizum.js +23 -0
  120. package/lib/models/PayInPaymentDetailsBlik.js +17 -0
  121. package/lib/models/PayInPaymentDetailsCard.js +10 -0
  122. package/lib/models/PayInPaymentDetailsCardDirect.js +14 -0
  123. package/lib/models/PayInPaymentDetailsCardWeb.js +28 -0
  124. package/lib/models/PayInPaymentDetailsDirectDebitDirect.js +22 -0
  125. package/lib/models/PayInPaymentDetailsDirectDebitWeb.js +13 -0
  126. package/lib/models/PayInPaymentDetailsGiropay.js +15 -0
  127. package/lib/models/PayInPaymentDetailsGooglePay.js +35 -0
  128. package/lib/models/PayInPaymentDetailsIdeal.js +25 -0
  129. package/lib/models/PayInPaymentDetailsKlarna.js +36 -0
  130. package/lib/models/PayInPaymentDetailsMbway.js +20 -0
  131. package/lib/models/PayInPaymentDetailsMultibanco.js +14 -0
  132. package/lib/models/PayInPaymentDetailsPayByBank.js +71 -0
  133. package/lib/models/PayInPaymentDetailsPayPal.js +63 -0
  134. package/lib/models/PayInPaymentDetailsPayconiq.js +23 -0
  135. package/lib/models/PayInPaymentDetailsPreAuthorized.js +10 -0
  136. package/lib/models/PayInPaymentDetailsSatispay.js +19 -0
  137. package/lib/models/PayInPaymentDetailsSwish.js +35 -0
  138. package/lib/models/PayInPaymentDetailsTwint.js +15 -0
  139. package/lib/models/PayInPaymentType.js +21 -0
  140. package/lib/models/PayInRecurringRegistration.js +64 -0
  141. package/lib/models/PayInTemplateURLOptions.js +10 -0
  142. package/lib/models/PayOut.js +24 -0
  143. package/lib/models/PayOutPaymentDetails.js +7 -0
  144. package/lib/models/PayOutPaymentDetailsBankWire.js +32 -0
  145. package/lib/models/PayOutPaymentType.js +3 -0
  146. package/lib/models/PaymentData.js +20 -0
  147. package/lib/models/PaymentMethodMetadata.js +38 -0
  148. package/lib/models/PayoutMethods.js +7 -0
  149. package/lib/models/PendingUserAction.js +16 -0
  150. package/lib/models/PersonType.js +5 -0
  151. package/lib/models/PlatformCategorization.js +16 -0
  152. package/lib/models/PlatformType.js +10 -0
  153. package/lib/models/Quote.js +11 -0
  154. package/lib/models/Recipient.js +20 -0
  155. package/lib/models/RecipientSchema.js +17 -0
  156. package/lib/models/RecurringPayIn.js +10 -0
  157. package/lib/models/RecurringPayInCIT.js +32 -0
  158. package/lib/models/RecurringPayInCurrentState.js +24 -0
  159. package/lib/models/RecurringPayInMIT.js +27 -0
  160. package/lib/models/RecurringPayInPut.js +24 -0
  161. package/lib/models/Refund.js +26 -0
  162. package/lib/models/RefundReasonDetails.js +10 -0
  163. package/lib/models/Report.js +54 -0
  164. package/lib/models/ReportFilter.js +52 -0
  165. package/lib/models/ReportFilterV2.js +11 -0
  166. package/lib/models/ReportV2.js +28 -0
  167. package/lib/models/Repudiation.js +51 -0
  168. package/lib/models/SecurityInfo.js +12 -0
  169. package/lib/models/Settlement.js +16 -0
  170. package/lib/models/SettlementTransfer.js +37 -0
  171. package/lib/models/Shipping.js +14 -0
  172. package/lib/models/ShippingAddress.js +25 -0
  173. package/lib/models/ShippingPreference.js +5 -0
  174. package/lib/models/Transaction.js +50 -0
  175. package/lib/models/Transfer.js +13 -0
  176. package/lib/models/Ubo.js +19 -0
  177. package/lib/models/UboDeclaration.js +42 -0
  178. package/lib/models/UboDeclarationRefusedReasonType.js +23 -0
  179. package/lib/models/UboDeclarationStatus.js +26 -0
  180. package/lib/models/UboRefusedReasonType.js +14 -0
  181. package/lib/models/User.js +66 -0
  182. package/lib/models/UserCategory.js +5 -0
  183. package/lib/models/UserConsent.js +7 -0
  184. package/lib/models/UserDataFormatValidation.js +7 -0
  185. package/lib/models/UserEnrollmentResult.js +7 -0
  186. package/lib/models/UserLegal.js +65 -0
  187. package/lib/models/UserLegalOwner.js +66 -0
  188. package/lib/models/UserLegalPayer.js +66 -0
  189. package/lib/models/UserLegalSca.js +57 -0
  190. package/lib/models/UserNatural.js +51 -0
  191. package/lib/models/UserNaturalCapacity.js +13 -0
  192. package/lib/models/UserNaturalOwner.js +55 -0
  193. package/lib/models/UserNaturalPayer.js +55 -0
  194. package/lib/models/UserNaturalPut.js +49 -0
  195. package/lib/models/UserNaturalSca.js +56 -0
  196. package/lib/models/VirtualAccount.js +22 -0
  197. package/lib/models/Wallet.js +32 -0
  198. package/lib/models/index.js +102 -0
  199. package/lib/service.js +14 -0
  200. package/lib/services/BankAccounts.js +31 -0
  201. package/lib/services/BankingAliases.js +137 -0
  202. package/lib/services/CardPreAuthorizations.js +75 -0
  203. package/lib/services/CardRegistrations.js +64 -0
  204. package/lib/services/Cards.js +168 -0
  205. package/lib/services/Clients.js +196 -0
  206. package/lib/services/Conversions.js +155 -0
  207. package/lib/services/Deposits.js +109 -0
  208. package/lib/services/DisputeDocuments.js +65 -0
  209. package/lib/services/Disputes.js +409 -0
  210. package/lib/services/Events.js +24 -0
  211. package/lib/services/Hooks.js +81 -0
  212. package/lib/services/Idempotency.js +17 -0
  213. package/lib/services/IdentityVerifications.js +48 -0
  214. package/lib/services/KycDocuments.js +66 -0
  215. package/lib/services/Mandates.js +161 -0
  216. package/lib/services/OptionsHelper.js +20 -0
  217. package/lib/services/PayIns.js +690 -0
  218. package/lib/services/PayOuts.js +110 -0
  219. package/lib/services/Recipients.js +117 -0
  220. package/lib/services/Refunds.js +29 -0
  221. package/lib/services/Regulatory.js +29 -0
  222. package/lib/services/Reports.js +61 -0
  223. package/lib/services/ReportsV2.js +55 -0
  224. package/lib/services/Repudiations.js +33 -0
  225. package/lib/services/Responses.js +23 -0
  226. package/lib/services/Settlements.js +74 -0
  227. package/lib/services/Transfers.js +87 -0
  228. package/lib/services/UboDeclarations.js +135 -0
  229. package/lib/services/Users.js +831 -0
  230. package/lib/services/VirtualAccounts.js +99 -0
  231. package/lib/services/Wallets.js +85 -0
  232. package/lib/services/index.js +34 -0
  233. package/lib/utils.js +36 -0
  234. package/package.json +40 -0
  235. package/test/TestKycPageFile.png +0 -0
  236. package/test/helpers.js +1431 -0
  237. package/test/main.js +10 -0
  238. package/test/mocha.opts +3 -0
  239. package/test/services/BankAccounts.js +46 -0
  240. package/test/services/BankingAliases.js +89 -0
  241. package/test/services/CardPreAuthorizations.js +70 -0
  242. package/test/services/CardRegistrations.js +239 -0
  243. package/test/services/Cards.js +54 -0
  244. package/test/services/Clients.js +235 -0
  245. package/test/services/Conversions.js +308 -0
  246. package/test/services/Deposits.js +148 -0
  247. package/test/services/Disputes.js +542 -0
  248. package/test/services/EMoney.js +54 -0
  249. package/test/services/Events.js +143 -0
  250. package/test/services/Hooks.js +109 -0
  251. package/test/services/Idempotency.js +46 -0
  252. package/test/services/IdentityVerifications.js +68 -0
  253. package/test/services/KycDocuments.js +73 -0
  254. package/test/services/Mandates.js +256 -0
  255. package/test/services/PayIns.js +2553 -0
  256. package/test/services/PayOuts.js +106 -0
  257. package/test/services/RateLimit.js +48 -0
  258. package/test/services/Recipients.js +234 -0
  259. package/test/services/Refunds.js +123 -0
  260. package/test/services/Regulatory.js +45 -0
  261. package/test/services/Reports.js +114 -0
  262. package/test/services/ReportsV2.js +306 -0
  263. package/test/services/Repudiations.js +22 -0
  264. package/test/services/Settlements.js +58 -0
  265. package/test/services/Tokens.js +55 -0
  266. package/test/services/Transfers.js +137 -0
  267. package/test/services/UboDeclarations.js +135 -0
  268. package/test/services/Users.js +1303 -0
  269. package/test/services/VirtualAccounts.js +105 -0
  270. package/test/services/Wallets.js +132 -0
  271. package/test/settlement_sample.csv +8 -0
  272. package/typings/base.d.ts +308 -0
  273. package/typings/enums.d.ts +204 -0
  274. package/typings/index.d.ts +885 -0
  275. package/typings/index.test-d.ts +1535 -0
  276. package/typings/models/address.d.ts +70 -0
  277. package/typings/models/bankAccount.d.ts +235 -0
  278. package/typings/models/bankingAlias.d.ts +97 -0
  279. package/typings/models/billing.d.ts +42 -0
  280. package/typings/models/birthplace.d.ts +9 -0
  281. package/typings/models/card.d.ts +119 -0
  282. package/typings/models/cardPreauthorization.d.ts +157 -0
  283. package/typings/models/cardRegistration.d.ts +83 -0
  284. package/typings/models/cardValidation.d.ts +125 -0
  285. package/typings/models/client.d.ts +208 -0
  286. package/typings/models/conversion.d.ts +225 -0
  287. package/typings/models/conversionRate.d.ts +29 -0
  288. package/typings/models/countryAuthorization.d.ts +16 -0
  289. package/typings/models/deposit.d.ts +104 -0
  290. package/typings/models/dispute.d.ts +116 -0
  291. package/typings/models/disputeDocument.d.ts +119 -0
  292. package/typings/models/entityBase.d.ts +9 -0
  293. package/typings/models/event.d.ts +142 -0
  294. package/typings/models/hook.d.ts +39 -0
  295. package/typings/models/idempotency.d.ts +36 -0
  296. package/typings/models/identityVerification.d.ts +98 -0
  297. package/typings/models/kycDocument.d.ts +114 -0
  298. package/typings/models/mandate.d.ts +93 -0
  299. package/typings/models/money.d.ts +45 -0
  300. package/typings/models/payIn.d.ts +3742 -0
  301. package/typings/models/payOut.d.ts +144 -0
  302. package/typings/models/recipient.d.ts +242 -0
  303. package/typings/models/refund.d.ts +92 -0
  304. package/typings/models/report.d.ts +234 -0
  305. package/typings/models/reportV2.d.ts +145 -0
  306. package/typings/models/repudiation.d.ts +26 -0
  307. package/typings/models/securityInfo.d.ts +12 -0
  308. package/typings/models/settlement.d.ts +50 -0
  309. package/typings/models/settlementTransfer.d.ts +37 -0
  310. package/typings/models/shipping.d.ts +37 -0
  311. package/typings/models/shippingAddress.d.ts +15 -0
  312. package/typings/models/transaction.d.ts +85 -0
  313. package/typings/models/transfer.d.ts +119 -0
  314. package/typings/models/uboDeclaration.d.ts +100 -0
  315. package/typings/models/user.d.ts +1001 -0
  316. package/typings/models/virtualAccount.d.ts +182 -0
  317. package/typings/models/wallet.d.ts +46 -0
  318. package/typings/models.d.ts +74 -0
  319. package/typings/services/BankAccounts.d.ts +12 -0
  320. package/typings/services/BankingAliases.d.ts +51 -0
  321. package/typings/services/CardPreauthorizations.d.ts +44 -0
  322. package/typings/services/CardRegistrations.d.ts +43 -0
  323. package/typings/services/Cards.d.ts +80 -0
  324. package/typings/services/Clients.d.ts +77 -0
  325. package/typings/services/Conversions.d.ts +23 -0
  326. package/typings/services/Deposits.d.ts +20 -0
  327. package/typings/services/DisputeDocuments.d.ts +27 -0
  328. package/typings/services/Disputes.d.ts +169 -0
  329. package/typings/services/Events.d.ts +11 -0
  330. package/typings/services/Hooks.d.ts +33 -0
  331. package/typings/services/Idempotency.d.ts +7 -0
  332. package/typings/services/IdentityVerifications.d.ts +29 -0
  333. package/typings/services/KycDocuments.d.ts +38 -0
  334. package/typings/services/Mandates.d.ts +59 -0
  335. package/typings/services/OptionsHelper.d.ts +11 -0
  336. package/typings/services/PayIns.d.ts +319 -0
  337. package/typings/services/PayOuts.d.ts +34 -0
  338. package/typings/services/Recipients.d.ts +55 -0
  339. package/typings/services/Refunds.d.ts +12 -0
  340. package/typings/services/Regulatory.d.ts +17 -0
  341. package/typings/services/Reports.d.ts +26 -0
  342. package/typings/services/ReportsV2.d.ts +26 -0
  343. package/typings/services/Repudiations.d.ts +12 -0
  344. package/typings/services/Responses.d.ts +10 -0
  345. package/typings/services/Settlements.d.ts +28 -0
  346. package/typings/services/Transfers.d.ts +38 -0
  347. package/typings/services/UboDeclarations.d.ts +81 -0
  348. package/typings/services/Users.d.ts +308 -0
  349. package/typings/services/VirtualAccounts.d.ts +42 -0
  350. package/typings/services/Wallets.d.ts +36 -0
  351. package/typings/tsconfig.json +20 -0
  352. package/typings/tslint.json +11 -0
  353. package/typings/types.d.ts +652 -0
@@ -0,0 +1,182 @@
1
+ import { CountryISO, CurrencyISO, VirtualAccountOwner, VirtualAccountPurpose, VirtualAccountStatus } from "../types";
2
+ import { entityBase } from "./entityBase";
3
+
4
+ export namespace virtualAccount {
5
+
6
+ interface VirtualAccountData extends entityBase.EntityBaseData {
7
+ /**
8
+ * The wallet ID
9
+ */
10
+ WalletId: string;
11
+
12
+ /**
13
+ * The credited user ID
14
+ */
15
+ CreditedUserId: string;
16
+
17
+ /**
18
+ * The type of the virtual account
19
+ * Allowed values: `COLLECTION`, `USER_OWNED`
20
+ */
21
+ VirtualAccountPurpose: VirtualAccountPurpose;
22
+
23
+ /**
24
+ * The country of the IBAN. The country must correspond to the currency of the wallet
25
+ */
26
+ Country: CountryISO;
27
+
28
+ /**
29
+ * The status of the virtual account creation
30
+ */
31
+ Status: VirtualAccountStatus;
32
+
33
+ /**
34
+ * Whether the virtual account is active and can receive pay-ins. `Active` is only `true`
35
+ * when the `Status` is `ACTIVE`.
36
+ */
37
+ Active: boolean;
38
+
39
+ /**
40
+ * Owner of the virtual account.
41
+ */
42
+ AccountOwner: VirtualAccountOwner;
43
+
44
+ /**
45
+ * Details of the account in local account identifier format
46
+ */
47
+ LocalAccountsDetails: LocalAccountsDetails;
48
+
49
+ /**
50
+ * Details of the account in IBAN format.
51
+ * The `InternationalAccountDetails` are not returned if the country doesn’t use IBAN (e.g. AU -
52
+ * Australia)
53
+ */
54
+ InternationalAccountDetails: InternationalAccountDetails;
55
+
56
+ /**
57
+ * Information about the account’s payment capabilities
58
+ */
59
+ Capabilities: VirtualAccountCapabilities;
60
+
61
+ ResultCode: string;
62
+
63
+ ResultMessage: string;
64
+ }
65
+
66
+ interface CreateVirtualAccount {
67
+ /**
68
+ * The country of the IBAN. The country must correspond to the currency of the wallet
69
+ */
70
+ Country: CountryISO;
71
+
72
+ /**
73
+ * The type of the virtual account
74
+ * Allowed values: `COLLECTION`, `USER_OWNED`
75
+ */
76
+ VirtualAccountPurpose: VirtualAccountPurpose;
77
+
78
+ /**
79
+ * Tag
80
+ */
81
+ Tag?: string;
82
+ }
83
+
84
+ interface VirtualAccountAvailabilitiesData {
85
+ Collection: VirtualAccountAvailability[];
86
+ UserOwned: VirtualAccountAvailability[];
87
+ }
88
+
89
+ interface VirtualAccountAvailability {
90
+ Country: CountryISO;
91
+ Available: boolean;
92
+ Currencies: CurrencyISO[];
93
+ }
94
+
95
+ interface InternationalAccountDetails {
96
+ /**
97
+ * Information about the address associated with the international IBAN account.
98
+ */
99
+ Address: VirtualAccountAddress;
100
+
101
+ /**
102
+ * The IBAN and BIC of the account.
103
+ */
104
+ Account: InternationalAccount;
105
+
106
+ BankName: string;
107
+ }
108
+
109
+ interface LocalAccountsDetails {
110
+ /**
111
+ * Information about the address associated with the local IBAN account.
112
+ */
113
+ Address: VirtualAccountAddress;
114
+
115
+ Account: LocalAccount;
116
+
117
+ BankName: string;
118
+ }
119
+
120
+ interface VirtualAccountAddress {
121
+ StreetName: string;
122
+ PostCode: string;
123
+ TownName: string;
124
+ CountrySubDivision: string;
125
+ Country: CountryISO;
126
+ }
127
+
128
+ interface LocalAccount {
129
+ /**
130
+ * The account number of the account
131
+ */
132
+ AccountNumber: string;
133
+
134
+ /**
135
+ * The sort code of the account.
136
+ */
137
+ SortCode: string;
138
+
139
+ Iban: string;
140
+
141
+ Bic: string;
142
+
143
+ AchNumber: string;
144
+
145
+ FedWireNumber: string;
146
+
147
+ AccountType: string;
148
+
149
+ BranchCode: string;
150
+
151
+ InstitutionNumber: string;
152
+ }
153
+
154
+ interface InternationalAccount {
155
+ /**
156
+ * IBAN
157
+ */
158
+ Iban: string;
159
+
160
+ /**
161
+ * BIC
162
+ */
163
+ Bic: string;
164
+ }
165
+
166
+ interface VirtualAccountCapabilities {
167
+ /**
168
+ * Whether or not local bank wires can be made to this account.
169
+ */
170
+ LocalPayinAvailable: boolean;
171
+
172
+ /**
173
+ * Whether or not international bank wires can be made to this account
174
+ */
175
+ InternationalPayinAvailable: boolean;
176
+
177
+ /**
178
+ * List of currencies supported by the account
179
+ */
180
+ Currencies: CurrencyISO[];
181
+ }
182
+ }
@@ -0,0 +1,46 @@
1
+ import { CurrencyISO, Omit, PickPartial } from "../types";
2
+ import { entityBase } from "./entityBase";
3
+ import { money } from "./money";
4
+
5
+ export namespace wallet {
6
+ import MoneyData = money.MoneyData;
7
+
8
+ type ClientFundsType = "FEES" | "CREDIT";
9
+
10
+ type FundsType = "DEFAULT" | ClientFundsType;
11
+
12
+ type CreateWallet = UpdateWallet & Pick<WalletData, "Owners" | "Currency" | "Description">;
13
+
14
+ type UpdateWallet = PickPartial<WalletData, "Tag" | "Description">;
15
+
16
+ interface WalletData extends entityBase.EntityBaseData {
17
+ /**
18
+ * An array of userIDs of who own's the wallet. For now, you only can set up a unique owner.
19
+ */
20
+ Owners: [string];
21
+
22
+ /**
23
+ * The current balance of the wallet
24
+ */
25
+ Balance: MoneyData;
26
+
27
+ /**
28
+ * The type of funds in the wallet
29
+ */
30
+ FundsType: FundsType;
31
+
32
+ /**
33
+ * A description of the wallet
34
+ */
35
+ Description: string;
36
+
37
+ /**
38
+ * The currency - should be ISO_4217 format
39
+ */
40
+ Currency: CurrencyISO;
41
+ }
42
+
43
+ interface ClientWalletData extends Omit<WalletData, "Owners" | "Description"> {
44
+ FundsType: ClientFundsType;
45
+ }
46
+ }
@@ -0,0 +1,74 @@
1
+ import { MakeKeysRequired } from "./types";
2
+ import { wallet } from "./models/wallet";
3
+ import { user } from "./models/user";
4
+ import { address } from "./models/address";
5
+ import { base } from "./base";
6
+ import MangoPay = require("./index");
7
+
8
+ export namespace Models {
9
+ import EntityBase = MangoPay.models.EntityBase;
10
+ import ModelMethods = MangoPay.models.ModelMethods;
11
+ import DependsObject = base.DependsObject;
12
+
13
+ class Model<T extends {} = any> implements ModelMethods<T> {
14
+ initialize(): void;
15
+
16
+ getData<K extends keyof T>(attribute: K): T[K];
17
+
18
+ setData<K extends keyof T>(attribute: K, value: T[K]): this;
19
+
20
+ setData(attribute: Partial<T>): this;
21
+
22
+ setData(attribute: any, value?: any): this;
23
+
24
+ getReadOnlyProperties(): Array<keyof T>;
25
+
26
+ getDependsObjects(): DependsObject[];
27
+
28
+ parse(): void;
29
+
30
+ constructor(data: T);
31
+ }
32
+
33
+ class Address extends EntityBase<address.AddressData> {
34
+ constructor(data: Partial<address.AddressData> | address.CreateAddress);
35
+ }
36
+
37
+ class BankAccountDetails {
38
+ constructor(data: any);
39
+ }
40
+
41
+ class Wallet extends EntityBase<wallet.WalletData> {
42
+ constructor(data: wallet.CreateWallet | wallet.UpdateWallet);
43
+ }
44
+
45
+ class UserLegal extends EntityBase<user.UserLegalData> {
46
+ PersonType: "LEGAL";
47
+
48
+ constructor(
49
+ data: MakeKeysRequired<Partial<user.UserLegalData>,
50
+ user.RequiredUserLegalData>
51
+ );
52
+
53
+ /**
54
+ * Sets the person type for the model
55
+ * @param personType
56
+ */
57
+ setPersonType(type: user.PersonType): void;
58
+ }
59
+
60
+ class UserNatural extends EntityBase<user.UserNaturalData> {
61
+ PersonType: "NATURAL";
62
+
63
+ constructor(
64
+ data: MakeKeysRequired<Partial<user.UserNaturalData>,
65
+ user.RequiredUserNaturalData>
66
+ );
67
+
68
+ /**
69
+ * Sets the person type for the model
70
+ * @param personType
71
+ */
72
+ setPersonType(type: user.PersonType): void;
73
+ }
74
+ }
@@ -0,0 +1,12 @@
1
+ import { transaction } from "../models/transaction";
2
+ import { base } from "../base";
3
+ import MethodOverload = base.MethodOverload;
4
+
5
+ export class BankAccounts {
6
+ /**
7
+ * Retrieve list of transactions for a bank account
8
+ * @param bankAccountId
9
+ * @param options
10
+ */
11
+ getTransactions: MethodOverload<string, transaction.TransactionData[]>;
12
+ }
@@ -0,0 +1,51 @@
1
+ import { bankingAlias } from "../models/bankingAlias";
2
+ import { Omit } from "../types";
3
+ import { base } from "../base";
4
+ import MethodOverload = base.MethodOverload;
5
+ import NoArgMethodOverload = base.NoArgMethodOverload;
6
+
7
+ export class BankingAliases {
8
+ /**
9
+ * Create a banking alias
10
+ * @param bankingAlias
11
+ * @param options
12
+ */
13
+ create: MethodOverload<bankingAlias.CreateIBANBankingAlias,
14
+ bankingAlias.IBANBankingAliasData>;
15
+
16
+ /**
17
+ * Get a banking alias
18
+ * @param bankingAliasId
19
+ * @param options
20
+ */
21
+ get: MethodOverload<string, bankingAlias.IBANBankingAliasData>;
22
+
23
+ /**
24
+ * Get all banking aliases
25
+ * @param walletId
26
+ * @param options
27
+ */
28
+ getAll: MethodOverload<string, bankingAlias.IBANBankingAliasData[]>;
29
+
30
+ /**
31
+ * Update banking alias
32
+ * @param bankingAliasId
33
+ * @param options
34
+ */
35
+ update: MethodOverload<bankingAlias.UpdateIBANBankingAlias,
36
+ bankingAlias.IBANBankingAliasData>;
37
+
38
+ /**
39
+ * Deactivate banking alias
40
+ * @param bankingAliasId
41
+ * @param options
42
+ */
43
+ deactivate: MethodOverload<string, bankingAlias.IBANBankingAliasData>;
44
+
45
+ /**
46
+ * Activate banking alias
47
+ * @param bankingAliasId
48
+ * @param options
49
+ */
50
+ activate: MethodOverload<string, bankingAlias.IBANBankingAliasData>;
51
+ }
@@ -0,0 +1,44 @@
1
+ import { cardPreAuthorization } from "../models/cardPreauthorization";
2
+ import { base } from "../base";
3
+ import MethodOverload = base.MethodOverload;
4
+
5
+ /**
6
+ * The PreAuthorization Object ensures the solvency of a registered card for 7 days. The overall process is as follows:
7
+ *
8
+ * 1. Register a card (CardRegistration)
9
+ * 2. Create a PreAuthorization with the CardId. This allows you to charge an amount on a card
10
+ * 3. Charge the card through the PreAuthorized PayIn object (Payins/preauthorized/direct)
11
+ *
12
+ * How does PreAuthorization work?
13
+ * - Once the PreAuthorization object is created the Status is "CREATED" until 3D secure validation.
14
+ * - If the authorization is successful the status is "SUCCEEDED" if it failed the status is "FAILED".
15
+ * - Once Status = "SUCCEEDED" and PaymentStatus = "WAITING" you can charge the card.
16
+ * - The Pay-In amount has to be less than or equal to the amount authorized.
17
+ */
18
+ export class CardPreAuthorizations {
19
+ /**
20
+ * Create new pre-authorization
21
+ * @param cardPreAuthorization
22
+ * @param options
23
+ */
24
+ create: MethodOverload<
25
+ cardPreAuthorization.CreateCardPreAuthorization,
26
+ cardPreAuthorization.CardPreAuthorizationData
27
+ >;
28
+
29
+ /**
30
+ * Get data for Card pre-authorization
31
+ * @param cardPreAuthorizationId
32
+ * @param options
33
+ */
34
+ get: MethodOverload<string, cardPreAuthorization.CardPreAuthorizationData>;
35
+
36
+ /**
37
+ * Update pre-authorization object (currently only supports cancellation)
38
+ * @param cardPreAuthorization
39
+ */
40
+ update: MethodOverload<
41
+ cardPreAuthorization.UpdateCardPreAuthorization,
42
+ cardPreAuthorization.CardPreAuthorizationData
43
+ >;
44
+ }
@@ -0,0 +1,43 @@
1
+ import { cardRegistration } from "../models/cardRegistration";
2
+ import { base } from "../base";
3
+ import MethodOverload = base.MethodOverload;
4
+
5
+ /**
6
+ * You need to register a card in order to process a Direct PayIn. Card registration enables you to tokenize a Card. These are the steps to follow:
7
+ *
8
+ * 1. Create a CardRegistration Object
9
+ * 2. Get a PreRegistrationData
10
+ * 3. The user posts PreRegistrationData, AccessKey and card details through a form (PHP & JS samples) to the CardRegistrationURL (5. in the diagram)
11
+ * 4. Get a RegistrationData back
12
+ * 5. Edit the CardRegistration Object (POST method) with the RegistrationData just received
13
+ * 6. Get the CardId ready to use into the Direct PayIn Object
14
+ *
15
+ * - If you don’t want to save the card you must change the field ACTIVE in the card object to false
16
+ */
17
+ export class CardRegistrations {
18
+ /**
19
+ * Create new card registration
20
+ * @param cardRegistration
21
+ * @param options
22
+ */
23
+ create: MethodOverload<
24
+ cardRegistration.CreateCardRegistration,
25
+ cardRegistration.CardRegistrationData
26
+ >;
27
+
28
+ /**
29
+ * View a card registration
30
+ * @param cardRegistrationId
31
+ * @param options
32
+ */
33
+ get: MethodOverload<string, cardRegistration.CardRegistrationData>;
34
+
35
+ /**
36
+ * Update card registration
37
+ * @param cardRegistration
38
+ */
39
+ update: MethodOverload<
40
+ cardRegistration.UpdateCardRegistration,
41
+ cardRegistration.CardRegistrationData
42
+ >;
43
+ }
@@ -0,0 +1,80 @@
1
+ import { card } from "../models/card";
2
+ import { transaction } from "../models/transaction";
3
+ import { cardPreAuthorization } from "../models/cardPreauthorization";
4
+ import { base } from "../base";
5
+ import { cardValidation } from "../models/cardValidation";
6
+ import MethodOverload = base.MethodOverload;
7
+ import TwoArgsMethodOverload = base.TwoArgsMethodOverload;
8
+
9
+ export class Cards {
10
+ /**
11
+ * Get card
12
+ * @param cardId
13
+ * @param ptions
14
+ */
15
+ get: MethodOverload<string, card.CardData>;
16
+
17
+ /**
18
+ * Gets a list of cards having the same fingerprint.
19
+ * The fingerprint is a hash uniquely generated per 16-digit card number.
20
+ *
21
+ * @param fingerprint The fingerprint hash
22
+ */
23
+ getByFingerprint: MethodOverload<string, card.CardData[]>;
24
+
25
+ /**
26
+ * Update card (currently only supports deactivation)
27
+ * @param card
28
+ * @param options
29
+ */
30
+ update: MethodOverload<card.UpdateCard, card.CardData>;
31
+
32
+ /**
33
+ * Get list of Transactions of a Card
34
+ * @param cardId
35
+ * @param options
36
+ */
37
+ getTransactions: MethodOverload<string, transaction.TransactionData[]>;
38
+
39
+ /**
40
+ * Gets list of PreAuthorizations of a Card.
41
+ * @param cardId
42
+ * @param options
43
+ */
44
+ getPreAuthorizations: MethodOverload<string,
45
+ cardPreAuthorization.CardPreAuthorizationData[]>;
46
+
47
+ /**
48
+ * Validate a card
49
+ * @param cardId
50
+ * @param cardValidation
51
+ * @param callback
52
+ * @param options
53
+ * @returns {*|Promise}
54
+ */
55
+ validate: TwoArgsMethodOverload<
56
+ string,
57
+ cardValidation.CreateCardValidation,
58
+ cardValidation.CardValidationData
59
+ >;
60
+
61
+ /**
62
+ * Validate a card
63
+ * @param cardId
64
+ * @param cardValidationId
65
+ * @param callback
66
+ * @param options
67
+ * @returns {*|Promise}
68
+ */
69
+ getCardValidation: TwoArgsMethodOverload<
70
+ string,
71
+ string,
72
+ cardValidation.CardValidationData
73
+ >;
74
+
75
+ /**
76
+ * Get a list of Transactions for a fingerprint
77
+ * @param fingerprint
78
+ */
79
+ getTransactionsForFingerprint: MethodOverload<string, transaction.TransactionData[]>;
80
+ }
@@ -0,0 +1,77 @@
1
+ import { client } from "../models/client";
2
+ import { wallet } from "../models/wallet";
3
+ import { CurrencyISO } from "../types";
4
+ import { transaction } from "../models/transaction";
5
+ import { base } from "../base";
6
+ import { payIn } from "../models/payIn";
7
+ import NoArgMethodOverload = base.NoArgMethodOverload;
8
+ import MethodOverload = base.MethodOverload;
9
+ import TwoArgsMethodOverload = base.TwoArgsMethodOverload;
10
+
11
+ export class Clients {
12
+ /**
13
+ * Get the client
14
+ */
15
+ get: NoArgMethodOverload<client.ClientData>;
16
+
17
+ /**
18
+ * Update the client
19
+ * @param client
20
+ * @param options
21
+ */
22
+ update: MethodOverload<client.UpdateClient, client.ClientData>;
23
+
24
+ /**
25
+ * Upload client logo from base64 image string
26
+ * @param base64Logo
27
+ * @param options
28
+ */
29
+ uploadLogo: MethodOverload<string, client.ClientData>;
30
+
31
+ /**
32
+ * Upload client logo from file path
33
+ * @param filePath
34
+ * @param options
35
+ */
36
+ uploadLogoFromFile: MethodOverload<string, client.ClientData>;
37
+
38
+ /**
39
+ * Get all client wallets
40
+ * @param options
41
+ */
42
+ getClientWallets: NoArgMethodOverload<wallet.ClientWalletData[]>;
43
+
44
+ /**
45
+ * Get a client wallet
46
+ * @param fundsType
47
+ * @param currency
48
+ * @param options
49
+ */
50
+ getClientWallet: TwoArgsMethodOverload<wallet.ClientFundsType,
51
+ CurrencyISO,
52
+ wallet.ClientWalletData>;
53
+
54
+ /**
55
+ * Get client wallets by the type of funds
56
+ * @param fundsType
57
+ * @param options
58
+ */
59
+ getClientWalletsByFundsType: MethodOverload<wallet.ClientFundsType,
60
+ wallet.ClientWalletData[]>;
61
+
62
+ /**
63
+ * Get a client wallet's transactions
64
+ * @param fundsType
65
+ * @param currency
66
+ * @param options
67
+ */
68
+ getClientWalletTransactions: TwoArgsMethodOverload<wallet.ClientFundsType,
69
+ CurrencyISO,
70
+ transaction.TransactionData[]>;
71
+
72
+ /**
73
+ * Create a Direct Bank Wire PayIn, instead of a Settlement Transfer, to the Repudiation Wallet in order to settle the negative balance due to a LOST dispute.
74
+ * The object expires 1 month after creation if no funds are received.
75
+ */
76
+ createBankWireDirectPayIn: MethodOverload<client.CreateBankWireDirectPayIn, payIn.BankWireDirectPayInData>
77
+ }
@@ -0,0 +1,23 @@
1
+ import { base } from "../base";
2
+ import { conversionRate } from "../models/conversionRate";
3
+ import { conversion } from "../models/conversion";
4
+ import MethodOverload = base.MethodOverload;
5
+ import TwoArgsMethodOverload = base.TwoArgsMethodOverload;
6
+
7
+ export class Conversions {
8
+ getConversionRate: TwoArgsMethodOverload<string, string, conversionRate.ConversionRateData>;
9
+
10
+ createInstantConversion: MethodOverload<conversion.CreateInstantConversion, conversion.ConversionData>;
11
+
12
+ createQuotedConversion: MethodOverload<conversion.CreateQuotedConversion, conversion.ConversionData>;
13
+
14
+ createClientWalletsQuotedConversion: MethodOverload<conversion.CreateClientWalletsQuotedConversion, conversion.ConversionData>;
15
+
16
+ createClientWalletsInstantConversion: MethodOverload<conversion.CreateClientWalletsInstantConversion, conversion.ConversionData>;
17
+
18
+ getConversion: MethodOverload<string, conversion.ConversionData>;
19
+
20
+ createQuote: MethodOverload<conversion.CreateQuote, conversion.QuoteData>;
21
+
22
+ getQuote: MethodOverload<string, conversion.QuoteData>;
23
+ }
@@ -0,0 +1,20 @@
1
+ import { base } from "../base";
2
+ import { deposit } from "../models/deposit";
3
+ import { transaction } from "../models/transaction";
4
+ import MethodOverload = base.MethodOverload;
5
+
6
+ export class Deposits {
7
+ create: MethodOverload<deposit.CreateDeposit, deposit.DepositData>;
8
+
9
+ get: MethodOverload<string, deposit.DepositData>;
10
+
11
+ cancel: MethodOverload<string, deposit.DepositData>;
12
+
13
+ getAllForCard: MethodOverload<string, deposit.DepositData[]>;
14
+
15
+ getAllForUser: MethodOverload<string, deposit.DepositData[]>;
16
+
17
+ update: MethodOverload<deposit.UpdateDeposit, deposit.DepositData>;
18
+
19
+ getTransactions: MethodOverload<string, transaction.TransactionData[]>;
20
+ }
@@ -0,0 +1,27 @@
1
+ import { disputeDocument } from "../models/disputeDocument";
2
+ import { base } from "../base";
3
+ import NoArgMethodOverload = base.NoArgMethodOverload;
4
+ import MethodOverload = base.MethodOverload;
5
+
6
+ export class DisputeDocuments {
7
+ /**
8
+ * Get all KycDocuments
9
+ * @param options
10
+ */
11
+ getAll: NoArgMethodOverload<disputeDocument.DisputeDocumentData[]>;
12
+
13
+ /**
14
+ * Get KycDocument
15
+ * @param documentId
16
+ * @param options
17
+ */
18
+ get: MethodOverload<string, disputeDocument.DisputeDocumentData>;
19
+
20
+ /**
21
+ * Creates temporary URLs where each page of a KYC document can be viewed.
22
+ * @param documentId
23
+ */
24
+ createDisputeDocumentConsult: MethodOverload<string,
25
+ any // Unsure of data structure from docs
26
+ >;
27
+ }