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,110 @@
1
+ /**
2
+ * @module PayOuts
3
+ * @desc [MangoPay PayOuts API Reference](https://docs.mangopay.com/endpoints/v2.01/payouts)
4
+ */
5
+
6
+ var Service = require('../service');
7
+
8
+ var PayOut = require('../models/PayOut');
9
+ var PayOutPaymentDetailsBankWire = require('../models/PayOutPaymentDetailsBankWire');
10
+ var Refund = require('../models/Refund');
11
+
12
+ var PayOuts = Service.extend({
13
+ /**
14
+ * Create new pay-out
15
+ * @param {Object} payOut PayOut object
16
+ * @param {Function} callback Callback function
17
+ * @param {Object} options Request options
18
+ * @return {Object} Request promise
19
+ */
20
+ create: function(payOut, callback, options) {
21
+ options = this._api._getOptions(callback, options, {
22
+ data: payOut,
23
+ dataClass: PayOut
24
+ });
25
+
26
+ var paymentKey = this.getPaymentKey(payOut);
27
+
28
+ return this._api.method('payouts_' + paymentKey + '_create', callback, options);
29
+ },
30
+
31
+ /**
32
+ * Get payout
33
+ * @param {number} payOutId PayOut identifiers
34
+ * @param {Function} callback Callback function
35
+ * @param {Object} options Request options
36
+ * @return {Object} Request promise
37
+ */
38
+ get: function(payOutId, callback, options) {
39
+ options = this._api._getOptions(callback, options, {
40
+ path: {
41
+ id: payOutId
42
+ },
43
+ dataClass: PayOut
44
+ });
45
+
46
+ return this._api.method('payouts_get', callback, options);
47
+ },
48
+
49
+ /**
50
+ * Get payout
51
+ * @param {number} payOutId PayOut identifiers
52
+ * @param {Function} callback Callback function
53
+ * @param {Object} options Request options
54
+ * @return {Object} Request promise
55
+ */
56
+ getBankwire: function(payOutId, callback, options) {
57
+ options = this._api._getOptions(callback, options, {
58
+ path: {
59
+ id: payOutId
60
+ },
61
+ dataClass: PayOut
62
+ });
63
+
64
+ return this._api.method('payouts_bankwire_get', callback, options);
65
+ },
66
+
67
+ /**
68
+ * Gets list of Refunds of a PayOut
69
+ * @param {number} payOutId PayOut identifier
70
+ * @param {function} callback Callback function
71
+ * @param {Object} options Request options
72
+ * @return {Object} Request promise
73
+ */
74
+ getRefunds: function(payOutId, callback, options) {
75
+ if (options && !options.hasOwnProperty('parameters'))
76
+ Object.assign(options, {parameters: {...options}});
77
+ options = this._api._getOptions(callback, options, {
78
+ path: {
79
+ id: payOutId
80
+ },
81
+ dataClass: Refund
82
+ });
83
+
84
+ return this._api.method("refunds_get_for_payout", callback, options);
85
+ },
86
+
87
+ getPaymentKey: function(payOut) {
88
+ if (!payOut.MeanOfPaymentDetails && !payOut.PaymentType) {
89
+ this._api.errorHandler('Create Payout needs MeanOfPaymentDetails or PaymentType');
90
+ }
91
+
92
+ // Payment Type can be BANK_WIRE, etc.
93
+ if (payOut.PaymentType) {
94
+ return payOut.PaymentType.toLowerCase().replace('_', '');
95
+ }
96
+
97
+ if (payOut.MeanOfPaymentDetails instanceof PayOutPaymentDetailsBankWire) return 'bankwire';
98
+ },
99
+
100
+ checkEligibility: function(payOut, callback, options) {
101
+ options = this._api._getOptions(callback, options, {
102
+ data: payOut,
103
+ dataClass: PayOut
104
+ });
105
+
106
+ return this._api.method('payouts_check_eligibility', callback, options);
107
+ },
108
+ });
109
+
110
+ module.exports = PayOuts;
@@ -0,0 +1,117 @@
1
+ var Service = require('../service');
2
+ var Recipient = require('../models/Recipient');
3
+ var RecipientSchema = require('../models/RecipientSchema');
4
+ var PayoutMethods = require('../models/PayoutMethods');
5
+
6
+ var Recipients = Service.extend({
7
+ /**
8
+ * Create a Recipient
9
+ */
10
+ create: function(recipient, userId, callback, options) {
11
+ options = this._api._getOptions(callback, options, {
12
+ data: recipient,
13
+ dataClass: Recipient,
14
+ path: {
15
+ userId: userId
16
+ }
17
+ });
18
+
19
+ return this._api.method('recipients_create', callback, options);
20
+ },
21
+
22
+ /**
23
+ * Get a Recipient
24
+ */
25
+ get: function(recipientId, callback, options) {
26
+ options = this._api._getOptions(callback, options, {
27
+ path: {
28
+ recipientId: recipientId
29
+ },
30
+ dataClass: Recipient
31
+ });
32
+
33
+ return this._api.method('recipients_get', callback, options);
34
+ },
35
+
36
+ /**
37
+ * Get all Recipients for a user
38
+ */
39
+ getUserRecipients: function(userId, callback, options) {
40
+ if (options && !options.hasOwnProperty('parameters')) {
41
+ Object.assign(options, {parameters: {...options}});
42
+ }
43
+ options = this._api._getOptions(callback, options, {
44
+ path: {
45
+ userId: userId
46
+ }
47
+ });
48
+
49
+ return this._api.method('recipients_get_all', callback, options);
50
+ },
51
+
52
+ /**
53
+ * Get a Recipient schema
54
+ */
55
+ getSchema: function(payoutMethodType, recipientType, currency, country, callback, options) {
56
+ options = this._api._getOptions(callback, options, {
57
+ path: {
58
+ payoutMethodType: payoutMethodType,
59
+ recipientType: recipientType,
60
+ currency: currency,
61
+ country: country
62
+ },
63
+ dataClass: RecipientSchema
64
+ });
65
+
66
+ return this._api.method('recipients_get_schema', callback, options);
67
+ },
68
+
69
+ /**
70
+ * Get a Payment Methods
71
+ */
72
+ getPayoutMethods: function(country, currency, callback, options) {
73
+ options = this._api._getOptions(callback, options, {
74
+ path: {
75
+ country: country,
76
+ currency: currency
77
+ },
78
+ dataClass: PayoutMethods
79
+ });
80
+
81
+ return this._api.method('recipients_get_payout_methods', callback, options);
82
+ },
83
+
84
+ /**
85
+ * Validates a Recipient
86
+ */
87
+ validate: function(recipient, userId, callback, options) {
88
+ options = this._api._getOptions(callback, options, {
89
+ data: recipient,
90
+ path: {
91
+ userId: userId
92
+ }
93
+ });
94
+
95
+ return this._api.method('recipients_validate', callback, options);
96
+ },
97
+
98
+ /**
99
+ * Deactivates a Recipient
100
+ */
101
+ deactivate: function(recipientId, callback, options) {
102
+ options = this._api._getOptions(callback, options, {
103
+ data: {
104
+ "Status": "DEACTIVATED"
105
+ },
106
+ dataClass: Recipient,
107
+ path: {
108
+ recipientId: recipientId
109
+ }
110
+ });
111
+
112
+ return this._api.method('recipients_deactivate', callback, options);
113
+ }
114
+
115
+ });
116
+
117
+ module.exports = Recipients;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @module Refunds
3
+ * @desc [MangoPay Refunds API Reference](https://docs.mangopay.com/endpoints/v2.01/refunds)
4
+ */
5
+
6
+ var Service = require('../service');
7
+ var Refund = require('../models/Refund');
8
+
9
+ var Refunds = Service.extend({
10
+ /**
11
+ * Get events
12
+ * @param {number} refundId Refund id
13
+ * @param {Function} callback Callback function
14
+ * @param {Object} options Request options
15
+ * @return {Object} Request promise
16
+ */
17
+ get: function(refundId, callback, options) {
18
+ options = this._api._getOptions(callback, options, {
19
+ path: {
20
+ id: refundId
21
+ },
22
+ dataClass: Refund
23
+ });
24
+
25
+ return this._api.method('refunds_get', callback, options);
26
+ }
27
+ });
28
+
29
+ module.exports = Refunds;
@@ -0,0 +1,29 @@
1
+ var Service = require('../service');
2
+ const CountryAuthorization = require("../models/CountryAuthorization");
3
+
4
+ var Regulatory = Service.extend({
5
+
6
+ /**
7
+ * View the restrictions for a specific country
8
+ * @param countryCode: the code of the Country
9
+ */
10
+ getCountryAuthorizations: function(countryCode, callback, options) {
11
+ options = this._api._getOptions(callback, options, {
12
+ path: {
13
+ countryCode: countryCode
14
+ },
15
+ dataClass: CountryAuthorization
16
+ });
17
+
18
+ return this._api.method('countries_get_one', callback, options);
19
+ },
20
+
21
+ /**
22
+ * View the restrictions for al countries
23
+ */
24
+ getAllCountriesAuthorizations: function(callback, options) {
25
+ return this._api.method('countries_get_all', callback, options);
26
+ }
27
+ });
28
+
29
+ module.exports = Regulatory;
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @module Reports
3
+ * @desc [MangoPay Reports API Reference](https://docs.mangopay.com/endpoints/v2.01/reporting)
4
+ */
5
+
6
+ var Service = require('../service');
7
+ var Report = require('../models/Report');
8
+
9
+ var Reports = Service.extend({
10
+ /**
11
+ * Create a report
12
+ * @param {Object} report Report Data
13
+ * @param {Function} callback Callback function
14
+ * @param {Object} options Request options
15
+ * @return {Object} Request promise
16
+ */
17
+ create: function(report, callback, options) {
18
+ options = this._api._getOptions(callback, options, {
19
+ data: report,
20
+ dataClass: Report
21
+ });
22
+
23
+ if (!report.ReportType) {
24
+ throw new Error('Please specify ReportType in the report data (ex: "TRANSACTIONS", "WALLETS")')
25
+ }
26
+
27
+ var reportType = report.ReportType.toLowerCase();
28
+
29
+ return this._api.method('reports_' + report.ReportType.toLowerCase() + '_create', callback, options);
30
+ },
31
+
32
+ /**
33
+ * Get a report
34
+ * @param {number} reportId Report Id
35
+ * @param {Function} callback Callback function
36
+ * @param {Object} options Request options
37
+ * @return {Object} Request promise
38
+ */
39
+ get: function(reportId, callback, options) {
40
+ options = this._api._getOptions(callback, options, {
41
+ path: {
42
+ id: reportId
43
+ },
44
+ dataClass: Report
45
+ });
46
+
47
+ return this._api.method('reports_get', callback, options);
48
+ },
49
+
50
+ /**
51
+ * Get all reports
52
+ * @param {Function} callback Callback function
53
+ * @param {Object} options Request options
54
+ * @return {Object} Request promise
55
+ */
56
+ getAll: function(callback, options) {
57
+ return this._api.method('reports_all', callback, options);
58
+ }
59
+ });
60
+
61
+ module.exports = Reports;
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @module Reports 2025
3
+ * @desc [MangoPay Reports API Reference](https://mangopay-reports.mintlify.app/api-reference/reporting/report-object)
4
+ */
5
+
6
+ var Service = require('../service');
7
+ var ReportV2 = require('../models/ReportV2');
8
+
9
+ var ReportsV2 = Service.extend({
10
+ /**
11
+ * Create a report
12
+ * @param {Object} report Report Data
13
+ * @param {Function} callback Callback function
14
+ * @param {Object} options Request options
15
+ * @return {Object} Request promise
16
+ */
17
+ create: function (report, callback, options) {
18
+ options = this._api._getOptions(callback, options, {
19
+ data: report,
20
+ dataClass: ReportV2
21
+ });
22
+
23
+ return this._api.method('reports_create', callback, options);
24
+ },
25
+
26
+ /**
27
+ * Get a report
28
+ * @param {number} reportId Report Id
29
+ * @param {Function} callback Callback function
30
+ * @param {Object} options Request options
31
+ * @return {Object} Request promise
32
+ */
33
+ get: function (reportId, callback, options) {
34
+ options = this._api._getOptions(callback, options, {
35
+ path: {
36
+ id: reportId
37
+ },
38
+ dataClass: ReportV2
39
+ });
40
+
41
+ return this._api.method('reports_get_v2', callback, options);
42
+ },
43
+
44
+ /**
45
+ * Get all reports
46
+ * @param {Function} callback Callback function
47
+ * @param {Object} options Request options
48
+ * @return {Object} Request promise
49
+ */
50
+ getAll: function (callback, options) {
51
+ return this._api.method('reports_all_v2', callback, options);
52
+ }
53
+ });
54
+
55
+ module.exports = ReportsV2;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @module Repudiations
3
+ * @desc [MangoPay Repudiations API Reference](https://docs.mangopay.com/endpoints/v2.01/repudiations)
4
+ */
5
+
6
+ var Service = require('../service');
7
+
8
+ var Refund = require('../models/Refund');
9
+
10
+ var Repudiations = Service.extend({
11
+
12
+ /**
13
+ * Gets list of Refunds of a Repudiation
14
+ * @param {number} repudiationId Repudiation identifier
15
+ * @param {function} callback Callback function
16
+ * @param {Object} options Request options
17
+ * @return {Object} Request promise
18
+ */
19
+ getRefunds: function(repudiationId, callback, options) {
20
+ if (options && !options.hasOwnProperty('parameters'))
21
+ Object.assign(options, {parameters: {...options}});
22
+ options = this._api._getOptions(callback, options, {
23
+ path: {
24
+ id: repudiationId
25
+ },
26
+ dataClass: Refund
27
+ });
28
+
29
+ return this._api.method("refunds_get_for_repudiation", callback, options);
30
+ }
31
+ });
32
+
33
+ module.exports = Repudiations;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @module Responses
3
+ */
4
+
5
+ var _ = require('underscore');
6
+
7
+ var Service = require('../service');
8
+
9
+ var Responses = Service.extend({
10
+ /**
11
+ * Get response from previous call
12
+ * @param {Function} callback Callback function
13
+ * @param {Object} options Request options
14
+ * @return {Object} Request promise
15
+ */
16
+ get: function(callback, options) {
17
+ options = this._api._getOptions(callback, options);
18
+
19
+ return this._api.method('responses_get', callback, options);
20
+ }
21
+ });
22
+
23
+ module.exports = Responses;
@@ -0,0 +1,74 @@
1
+ /**
2
+ * @module Settlements
3
+ */
4
+
5
+ var Service = require('../service');
6
+ var Settlement = require('../models/Settlement');
7
+
8
+ var Settlements = Service.extend({
9
+ /**
10
+ * Upload a settlement file
11
+ * @param {Buffer} file The settlement file to be uploaded
12
+ * @param {Function} callback Callback function
13
+ * @param {Object} options Request options
14
+ * @return {Object} Request promise
15
+ */
16
+ upload: function (file, callback, options) {
17
+ if (file === undefined || !Buffer.isBuffer(file)) {
18
+ throw new Error('The file needs to be a Buffer');
19
+ }
20
+
21
+ options = this._api._getOptions(callback, options, {
22
+ dataClass: Settlement,
23
+ data: {
24
+ file: file,
25
+ fileName: 'settlement_file.csv'
26
+ }
27
+ });
28
+
29
+ return this._api.multipartFormMethod('settlement_create', callback, options);
30
+ },
31
+
32
+ /**
33
+ * Get a settlement
34
+ * @param {string} settlementId Settlement Id
35
+ * @param {Function} callback Callback function
36
+ * @param {Object} options Request options
37
+ * @return {Object} Request promise
38
+ */
39
+ get: function (settlementId, callback, options) {
40
+ options = this._api._getOptions(callback, options, {
41
+ path: {id: settlementId},
42
+ dataClass: Settlement
43
+ });
44
+
45
+ return this._api.method('settlement_get', callback, options);
46
+ },
47
+
48
+ /**
49
+ * Update a settlement file
50
+ * @param {string} settlementId Settlement identifier
51
+ * @param {Buffer} file The settlement file to be updated
52
+ * @param {Function} callback Callback function
53
+ * @param {Object} options Request options
54
+ * @return {Object} Request promise
55
+ */
56
+ update: function (settlementId, file, callback, options) {
57
+ if (file === undefined || !Buffer.isBuffer(file)) {
58
+ throw new Error('The file needs to be a Buffer');
59
+ }
60
+
61
+ options = this._api._getOptions(callback, options, {
62
+ dataClass: Settlement,
63
+ data: {
64
+ file: file,
65
+ fileName: 'settlement_file.csv'
66
+ },
67
+ path: {id: settlementId}
68
+ });
69
+
70
+ return this._api.multipartFormMethod('settlement_update', callback, options);
71
+ },
72
+ });
73
+
74
+ module.exports = Settlements;
@@ -0,0 +1,87 @@
1
+ /**
2
+ * @module Transfers
3
+ * @desc [MangoPay Transfers API Reference](https://docs.mangopay.com/endpoints/v2.01/transfers)
4
+ */
5
+
6
+ var Service = require('../service');
7
+
8
+ var Transfer = require('../models/Transfer');
9
+ var Refund = require('../models/Refund');
10
+
11
+ var Transfers = Service.extend({
12
+ /**
13
+ * Create new transfer
14
+ * @param {Object} transfer Transfer object
15
+ * @param {Function} callback Callback function
16
+ * @param {Object} options Request options
17
+ * @return {Object} Request promise
18
+ */
19
+ create: function(transfer, callback, options) {
20
+ options = this._api._getOptions(callback, options, {
21
+ data: transfer,
22
+ dataClass: Transfer
23
+ });
24
+
25
+ return this._api.method('transfers_create', callback, options);
26
+ },
27
+
28
+ /**
29
+ * Get transfer
30
+ * @param {number} transferId Transfer identifier
31
+ * @param {Function} callback Callback function
32
+ * @param {Object} options Request options
33
+ * @return {Object} Request promise
34
+ */
35
+ get: function(transferId, callback, options) {
36
+ options = this._api._getOptions(callback, options, {
37
+ path: {
38
+ id: transferId
39
+ },
40
+ dataClass: Transfer
41
+ });
42
+
43
+ return this._api.method('transfers_get', callback, options);
44
+ },
45
+
46
+ /**
47
+ * Create refund for transfer object
48
+ * @param {number} transferId Transfer identifier
49
+ * @param {Object} refund Refund object
50
+ * @param {Function} callback Callback function
51
+ * @param {Object} options Request options
52
+ * @return {Object} Request promise
53
+ */
54
+ createRefund: function(transferId, refund, callback, options) {
55
+ options = this._api._getOptions(callback, options, {
56
+ data: refund,
57
+ path: {
58
+ id: transferId
59
+ },
60
+ dataClass: Refund
61
+ });
62
+
63
+ return this._api.method('transfers_createrefunds', callback, options);
64
+ },
65
+
66
+ /**
67
+ * Gets list of Refunds of a Transfer
68
+ * @param {number} transferId Transfer identifier
69
+ * @param {function} callback Callback function
70
+ * @param {Object} options Request options
71
+ * @return {Object} Request promise
72
+ */
73
+ getRefunds: function(transferId, callback, options) {
74
+ if (options && !options.hasOwnProperty('parameters'))
75
+ Object.assign(options, {parameters: {...options}});
76
+ options = this._api._getOptions(callback, options, {
77
+ path: {
78
+ id: transferId
79
+ },
80
+ dataClass: Refund
81
+ });
82
+
83
+ return this._api.method('refunds_get_for_transfer', callback, options);
84
+ }
85
+ });
86
+
87
+ module.exports = Transfers;