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,409 @@
1
+ /**
2
+ * @module Disputes
3
+ * @desc [MangoPay Disputes API Reference](https://docs.mangopay.com/endpoints/v2.01/dispute-documents)
4
+ */
5
+
6
+ var _ = require('underscore');
7
+ var fs = require('fs');
8
+
9
+ var Service = require('../service');
10
+ var Dispute = require('../models/Dispute');
11
+ var Transaction = require('../models/Transaction');
12
+ var Repudiation = require('../models/Repudiation');
13
+ var Transfer = require('../models/Transfer');
14
+ var DisputeDocument = require('../models/DisputeDocument');
15
+ var DisputeDocumentPage = require('../models/DisputeDocumentPage');
16
+ var Money = require('../models/Money');
17
+
18
+ var Disputes = Service.extend({
19
+ /**
20
+ * Get dispute
21
+ * @param {number} disputeId Dispute identifier
22
+ * @param {Function} callback Callback function
23
+ * @param {Object} options Request options
24
+ * @return {Object} Request promise
25
+ */
26
+ get: function(disputeId, callback, options) {
27
+ options = this._api._getOptions(callback, options, {
28
+ path: {
29
+ id: disputeId
30
+ },
31
+ dataClass: Dispute
32
+ });
33
+
34
+ return this._api.method('disputes_get', callback, options);
35
+ },
36
+
37
+ /**
38
+ * Get all disputes
39
+ * @param {Function} callback Callback function
40
+ * @param {Object} options Request options
41
+ * @return {Object} Request promise
42
+ */
43
+ getAll: function(callback, options) {
44
+ if (options && !options.hasOwnProperty('parameters'))
45
+ Object.assign(options, {parameters: {...options}});
46
+ options = this._api._getOptions(callback, options, {
47
+ dataClass: Dispute
48
+ });
49
+
50
+ return this._api.method('disputes_all', callback, options);
51
+ },
52
+
53
+ /**
54
+ * Update dispute's tag
55
+ * @param {Object} dispute Dispute object of properties hash
56
+ * @param {function} callback Callback function
57
+ * @param {Object} options Request options
58
+ * @return {Object} Request promise
59
+ */
60
+ update: function(dispute, callback, options) {
61
+ options = this._api._getOptions(callback, options, {
62
+ data: dispute,
63
+ path: {
64
+ id: dispute.Id
65
+ },
66
+ dataClass: Dispute
67
+ });
68
+
69
+ return this._api.method('disputes_save_tag', callback, options);
70
+ },
71
+
72
+ /**
73
+ * Contest dispute
74
+ * @param {number} disputeId Dispute id
75
+ * @param {Money} contestedFunds Contested funds
76
+ * @param {Function} callback Callback function
77
+ * @param {Object} options Request options
78
+ * @return {Object} Promise of the request
79
+ */
80
+ contestDispute: function(disputeId, contestedFunds, callback, options) {
81
+ contestedFunds = (contestedFunds instanceof Money) ? contestedFunds : new Money(contestedFunds);
82
+
83
+ var dispute = new Dispute({
84
+ Id: disputeId,
85
+ ContestedFunds: contestedFunds
86
+ });
87
+
88
+ options = this._api._getOptions(callback, options, {
89
+ data: dispute,
90
+ path: {
91
+ id: dispute.Id
92
+ },
93
+ dataClass: Dispute
94
+ });
95
+
96
+ return this._api.method('disputes_save_contest_funds', callback, options);
97
+ },
98
+
99
+ /**
100
+ * This method is used to resubmit a Dispute if it is reopened requiring more docs
101
+ * @param {number} disputeId Dispute id
102
+ * @param {Function} callback Callback function
103
+ * @param {Object} options Request options
104
+ * @return {Object} Promise of the request
105
+ */
106
+ resubmitDispute: function(disputeId, callback, options) {
107
+ var dispute = new Dispute({
108
+ Id: disputeId
109
+ });
110
+
111
+ options = this._api._getOptions(callback, options, {
112
+ data: dispute,
113
+ path: {
114
+ id: dispute.Id
115
+ },
116
+ dataClass: Dispute
117
+ });
118
+
119
+ return this._api.method('disputes_save_contest_funds', callback, options);
120
+ },
121
+
122
+ /**
123
+ * Close dispute
124
+ * @param {number} disputeId Dispute id
125
+ * @param {Function} callback Callback function
126
+ * @param {Object} options Request options
127
+ * @return {Object} Promise of the request
128
+ */
129
+ closeDispute: function(disputeId, callback, options) {
130
+ var dispute = new Dispute({
131
+ Id: disputeId
132
+ });
133
+
134
+ options = this._api._getOptions(callback, options, {
135
+ data: dispute,
136
+ path: {
137
+ id: dispute.Id
138
+ },
139
+ dataClass: Dispute
140
+ });
141
+
142
+ return this._api.method('dispute_save_close', callback, options);
143
+ },
144
+
145
+ /**
146
+ * Gets dispute's transactions
147
+ * @param {number} disputeId Dispute identifier
148
+ * @param {Function} callback Callback function
149
+ * @param {Object} options Request options
150
+ * @return {Object} Request promise
151
+ */
152
+ getTransactions: function(disputeId, callback, options) {
153
+ if (options && !options.hasOwnProperty('parameters'))
154
+ Object.assign(options, {parameters: {...options}});
155
+ options = this._api._getOptions(callback, options, {
156
+ path: {
157
+ id: disputeId
158
+ },
159
+ dataClass: Transaction
160
+ });
161
+
162
+ return this._api.method('disputes_get_transactions', callback, options);
163
+ },
164
+
165
+ /**
166
+ * Gets dispute's documents for wallet
167
+ * @param {number} walletId Wallet identifier
168
+ * @param {Function} callback Callback function
169
+ * @param {Object} options Request options
170
+ * @return {Object} Request promise
171
+ */
172
+ getDisputesForWallet: function(walletId, callback, options) {
173
+ if (options && !options.hasOwnProperty('parameters'))
174
+ Object.assign(options, {parameters: {...options}});
175
+ options = this._api._getOptions(callback, options, {
176
+ path: {
177
+ id: walletId
178
+ },
179
+ dataClass: Dispute
180
+ });
181
+
182
+ return this._api.method('disputes_get_for_wallet', callback, options);
183
+ },
184
+
185
+ /**
186
+ * Gets user's disputes
187
+ * @param {number} userId User identifier
188
+ * @param {Function} callback Callback function
189
+ * @param {Object} options Request options
190
+ * @return {Object} Request promise
191
+ */
192
+ getDisputesForUser: function(userId, callback, options) {
193
+ if (options && !options.hasOwnProperty('parameters'))
194
+ Object.assign(options, {parameters: {...options}});
195
+ options = this._api._getOptions(callback, options, {
196
+ path: {
197
+ id: userId
198
+ },
199
+ dataClass: Dispute
200
+ });
201
+
202
+ return this._api.method('disputes_get_for_user', callback, options);
203
+ },
204
+
205
+ /**
206
+ * Gets dispute's documents for PayIn
207
+ * @param {number} payInId PayIn identifier
208
+ * @param {Function} callback Callback function
209
+ * @param {Object} options Request options
210
+ * @return {Object} Request promise
211
+ */
212
+ getDisputesForPayIn: function(payInId, callback, options) {
213
+ if (options && !options.hasOwnProperty('parameters')) {
214
+ Object.assign(options, {parameters: {...options}});
215
+ }
216
+ options = this._api._getOptions(callback, options, {
217
+ path: {
218
+ id: payInId
219
+ },
220
+ dataClass: Dispute
221
+ });
222
+
223
+ return this._api.method('disputes_get_for_payin', callback, options);
224
+ },
225
+
226
+ /**
227
+ * Gets repudiation
228
+ * @param {number} repudiationId Repudiation identifier
229
+ * @param {Function} callback Callback function
230
+ * @param {Object} options Request options
231
+ * @return {Object} Request promise
232
+ */
233
+ getRepudiation: function(repudiationId, callback, options) {
234
+ options = this._api._getOptions(callback, options, {
235
+ path: {
236
+ id: repudiationId
237
+ },
238
+ dataClass: Repudiation
239
+ });
240
+
241
+ return this._api.method('disputes_repudiation_get', callback, options);
242
+ },
243
+
244
+ /**
245
+ * Creates settlement transfer
246
+ * @param {Object} settlementTransfer Settlement transfer
247
+ * @param {number} repudiationId Repudiation identifier
248
+ * @param {Function} callback Callback function
249
+ * @param {Object} options Request options
250
+ * @return {Object} Promise of the request
251
+ */
252
+ createSettlementTransfer: function(settlementTransfer, repudiationId, callback, options) {
253
+ options = this._api._getOptions(callback, options, {
254
+ path: {
255
+ id: repudiationId
256
+ },
257
+ dataClass: Transfer,
258
+ data: settlementTransfer
259
+ });
260
+
261
+ return this._api.method('disputes_repudiation_create_settlement', callback, options);
262
+ },
263
+
264
+ /**
265
+ * Gets settlement transfer
266
+ * @param {number} settlementTransferId Settlement Transfer identifier
267
+ * @param {Function} callback Callback function
268
+ * @param {Object} options Request options
269
+ * @return {Object} Request promise
270
+ */
271
+ getSettlementTransfer: function(settlementTransferId, callback, options) {
272
+ options = this._api._getOptions(callback, options, {
273
+ path: {
274
+ id: settlementTransferId
275
+ },
276
+ dataClass: Transfer
277
+ });
278
+
279
+ return this._api.method('disputes_repudiation_get_settlement', callback, options);
280
+ },
281
+
282
+ /**
283
+ * Gets documents for dispute
284
+ * @param {number} disputeId Dispute identifier
285
+ * @param {Function} callback Callback function
286
+ * @param {Object} options Request options
287
+ * @return {Object} Request promise
288
+ */
289
+ getDocumentsForDispute: function(disputeId, callback, options) {
290
+ if (options && !options.hasOwnProperty('parameters'))
291
+ Object.assign(options, {parameters: {...options}});
292
+ options = this._api._getOptions(callback, options, {
293
+ path: {
294
+ id: disputeId
295
+ },
296
+ dataClass: DisputeDocument
297
+ });
298
+
299
+ return this._api.method('disputes_document_get_for_dispute', callback, options);
300
+ },
301
+
302
+ /**
303
+ * Update dispute document
304
+ * @param {number} disputeId Dispute identifier
305
+ * @param {Object} disputeDocument Dispute document
306
+ * @param {Function} callback Callback function
307
+ * @param {Object} options Request options
308
+ * @return {Object} Promise of the request
309
+ */
310
+ updateDisputeDocument: function(disputeId, disputeDocument, callback, options) {
311
+ options = this._api._getOptions(callback, options, {
312
+ path: {
313
+ id: disputeId,
314
+ documentId: disputeDocument.Id
315
+ },
316
+ data: disputeDocument,
317
+ dataClass: DisputeDocument
318
+ });
319
+
320
+ return this._api.method('disputes_document_save', callback, options);
321
+ },
322
+
323
+ /**
324
+ * Creates document for dispute
325
+ * @param {number} disputeId Dispute Id
326
+ * @param {Object} disputeDocument Dispute document
327
+ * @param {Function} callback Callback function
328
+ * @param {Object} options Request options
329
+ * @return {Object} Promise of the request
330
+ */
331
+ createDisputeDocument: function(disputeId, disputeDocument, callback, options) {
332
+ options = this._api._getOptions(callback, options, {
333
+ path: {
334
+ id: disputeId
335
+ },
336
+ data: disputeDocument,
337
+ dataClass: DisputeDocument
338
+ });
339
+
340
+ return this._api.method('disputes_document_create', callback, options);
341
+ },
342
+
343
+ /**
344
+ * Creates document's page for dispute
345
+ * @param {number} disputeId Dispute identifier
346
+ * @param {number} disputeDocumentId Dispute document identifier
347
+ * @param {Object} disputeDocumentPage Dispute document page
348
+ * @param {Function} callback Callback function
349
+ * @param {Object} options Request options
350
+ * @return {Object} Promise of the request
351
+ */
352
+ createDisputeDocumentPage: function(disputeId, disputeDocumentId, disputeDocumentPage, callback, options) {
353
+ options = this._api._getOptions(callback, options, {
354
+ path: {
355
+ id: disputeId,
356
+ documentId: disputeDocumentId
357
+ },
358
+ data: disputeDocumentPage
359
+ });
360
+
361
+ return this._api.method('disputes_document_page_create', callback, options);
362
+ },
363
+
364
+ /**
365
+ * Creates document's page for dispute from file
366
+ * @param {number} disputeId Dispute identifier
367
+ * @param {number} disputeDocumentId Dispute document identifier
368
+ * @param {string} file File path
369
+ * @param {Function} callback Callback function
370
+ * @param {Object} options Request options
371
+ * @return {Object} Promise of the request
372
+ */
373
+ createDisputeDocumentPageFromFile: function(disputeId, disputeDocumentId, file, callback, options) {
374
+ if (!file) {
375
+ this._api.errorHandler('File path cannot be empty');
376
+ return;
377
+ }
378
+
379
+ try {
380
+ fs.statSync(file);
381
+ } catch (e) {
382
+ this._api.errorHandler('File does not exist');
383
+ return;
384
+ }
385
+
386
+ var disputeDocumentPage = new DisputeDocumentPage({
387
+ File: Buffer.from(fs.readFileSync(file)).toString('base64')
388
+ });
389
+
390
+ if (!disputeDocumentPage.File) this._api.errorHandler('Content of the file cannot be empty');
391
+ return this.createDisputeDocumentPage(disputeId, disputeDocumentId, disputeDocumentPage, callback, options);
392
+ },
393
+
394
+ /**
395
+ * Retrieve a list of Disputes pending settlement
396
+ * @param {function} callback Callback function
397
+ * @param {object} options Request options
398
+ * @return {object} Request promise
399
+ */
400
+ getPendingSettlement: function(callback, options) {
401
+ options = this._api._getOptions(callback, options, {
402
+ dataClass: Dispute
403
+ });
404
+
405
+ return this._api.method('disputes_pending_settlement', callback, options);
406
+ }
407
+ });
408
+
409
+ module.exports = Disputes;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @module Events
3
+ * @desc [MangoPay Events API Reference](https://docs.mangopay.com/endpoints/v2.01/events)
4
+ */
5
+
6
+ var Service = require('../service');
7
+
8
+ var Events = Service.extend({
9
+ /**
10
+ * Get events
11
+ * @param {Function} callback Callback function
12
+ * @param {Object} options Request options
13
+ * @return {Object} Request promise
14
+ */
15
+ getAll: function(callback, options) {
16
+ if (options && !options.hasOwnProperty('parameters'))
17
+ Object.assign(options, {parameters: {...options}});
18
+ options = this._api._getOptions(callback, options);
19
+
20
+ return this._api.method('events_all', callback, options);
21
+ }
22
+ });
23
+
24
+ module.exports = Events;
@@ -0,0 +1,81 @@
1
+ /**
2
+ * @module Hooks
3
+ * @desc [MangoPay Hooks API Reference](https://docs.mangopay.com/endpoints/v2.01/hooks)
4
+ */
5
+
6
+ var _ = require('underscore');
7
+ var Service = require('../service');
8
+ var Hook = require('../models/Hook');
9
+
10
+ var Hooks = Service.extend({
11
+ /**
12
+ * Create new hook
13
+ * @param {Object} hook Hook object
14
+ * @param {Function} callback Callback function
15
+ * @param {Object} options Request options
16
+ * @return {Object} Request promise
17
+ */
18
+ create: function(hook, callback, options) {
19
+ options = this._api._getOptions(callback, options, {
20
+ data: hook,
21
+ dataClass: Hook
22
+ });
23
+
24
+ return this._api.method('hooks_create', callback, options);
25
+ },
26
+
27
+ /**
28
+ * Get hook
29
+ * @param {number} hookId Hook identifier
30
+ * @param {Function} callback Callback function
31
+ * @param {Object} options Request options
32
+ * @return {Object} Request promise
33
+ */
34
+ get: function(hookId, callback, options) {
35
+ options = this._api._getOptions(callback, options, {
36
+ path: {
37
+ id: hookId
38
+ },
39
+ dataClass: Hook
40
+ });
41
+
42
+ return this._api.method('hooks_get', callback, options);
43
+ },
44
+
45
+ /**
46
+ * Save hook
47
+ * @param {Object} hook Hook object
48
+ * @param {Function} callback Callback function
49
+ * @param {Object} options Request options
50
+ * @return {Object} Request promise
51
+ */
52
+ update: function(hook, callback, options) {
53
+ options = this._api._getOptions(callback, options, {
54
+ path: {
55
+ id: hook.Id
56
+ },
57
+ data: hook,
58
+ dataClass: Hook
59
+ });
60
+
61
+ return this._api.method('hooks_save', callback, options);
62
+ },
63
+
64
+ /**
65
+ * Get all hooks
66
+ * @param {Function} callback Callback function
67
+ * @param {Object} options Request options
68
+ * @return {Object} Request promise
69
+ */
70
+ getAll: function(callback, options) {
71
+ if (options && !options.hasOwnProperty('parameters'))
72
+ Object.assign(options, {parameters: {...options}});
73
+ options = this._api._getOptions(callback, options, {
74
+ dataClass: Hook
75
+ });
76
+
77
+ return this._api.method('hooks_all', callback, options);
78
+ }
79
+ });
80
+
81
+ module.exports = Hooks;
@@ -0,0 +1,17 @@
1
+ var Service = require('../service');
2
+ var IdempotencyResponse = require('../models/IdempotencyResponse');
3
+
4
+ var Idempotency = Service.extend({
5
+ get: function(idempotencyKey, callback, options) {
6
+ options = this._api._getOptions(callback, options, {
7
+ path: {
8
+ idempotencyKey: idempotencyKey
9
+ },
10
+ dataClass: IdempotencyResponse
11
+ });
12
+
13
+ return this._api.method('idempotency_response_get', callback, options);
14
+ },
15
+ });
16
+
17
+ module.exports = Idempotency;
@@ -0,0 +1,48 @@
1
+ var Service = require('../service');
2
+ var IdentityVerification = require('../models/IdentityVerification');
3
+
4
+ var IdentityVerifications = Service.extend({
5
+ /**
6
+ * Start an identity verification session and get a link for the hosted experience
7
+ */
8
+ create: function(userId, identityVerification, callback, options) {
9
+ options = this._api._getOptions(callback, options, {
10
+ data: identityVerification,
11
+ dataClass: IdentityVerification,
12
+ path: {
13
+ userId: userId
14
+ }
15
+ });
16
+
17
+ return this._api.method('identity_verification_create', callback, options);
18
+ },
19
+
20
+ /**
21
+ * See the status and basic details of an identity verification session
22
+ */
23
+ get: function(identityVerificationId, callback, options) {
24
+ options = this._api._getOptions(callback, options, {
25
+ dataClass: IdentityVerification,
26
+ path: {
27
+ id: identityVerificationId
28
+ }
29
+ });
30
+
31
+ return this._api.method('identity_verification_get', callback, options);
32
+ },
33
+
34
+ /**
35
+ * Get all IdentityVerifications for a user
36
+ */
37
+ getAll: function(userId, callback, options) {
38
+ options = this._api._getOptions(callback, options, {
39
+ path: {
40
+ userId: userId
41
+ }
42
+ });
43
+
44
+ return this._api.method('identity_verification_get_all', callback, options);
45
+ }
46
+ });
47
+
48
+ module.exports = IdentityVerifications;
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @module KycDocuments
3
+ * @desc [MangoPay KYC Documents API Reference](https://docs.mangopay.com/index.php/endpoints/v2.01/kyc-documents)
4
+ */
5
+
6
+ var _ = require('underscore');
7
+
8
+ var Service = require('../service');
9
+ var KycDocument = require('../models/KycDocument');
10
+
11
+ var KycDocuments = Service.extend({
12
+ /**
13
+ * Get all KycDocuments
14
+ * @param {Function} callback Callback function
15
+ * @param {Object} options Request options
16
+ * @return {Object} Request promise
17
+ */
18
+ getAll: function (callback, options) {
19
+ if (options && !options.hasOwnProperty('parameters'))
20
+ Object.assign(options, {parameters: {...options}});
21
+ options = this._api._getOptions(callback, options, {
22
+ dataClass: KycDocument
23
+ });
24
+
25
+ return this._api.method('kyc_documents_all', callback, options);
26
+ },
27
+
28
+ /**
29
+ * Get KycDocument
30
+ * @param {number} kycDocumentId KycDocument identifier
31
+ * @param {Function} callback Callback function
32
+ * @param {Object} options Request options
33
+ * @return {Object} Request promise
34
+ */
35
+ get: function (kycDocumentId, callback, options) {
36
+ options = this._api._getOptions(callback, options, {
37
+ path: {
38
+ id: kycDocumentId
39
+ },
40
+ dataClass: KycDocument
41
+ });
42
+
43
+ return this._api.method('kyc_documents_get_alt', callback, options);
44
+ },
45
+
46
+ /**
47
+ * Creates temporary URLs where each page of a KYC document can be viewed.
48
+ *
49
+ * @param {string} documentId Document identifier
50
+ * @param {Function} callback Callback function
51
+ * @param {Object} options Request options
52
+ * @return {Object} Request promise
53
+ */
54
+ createKycDocumentConsult: function (documentId, callback, options) {
55
+ options = this._api._getOptions(callback, options, {
56
+ path: {
57
+ id: documentId
58
+ },
59
+ dataClass: KycDocument
60
+ });
61
+
62
+ return this._api.method('kyc_documents_create_consult', callback, options);
63
+ }
64
+ });
65
+
66
+ module.exports = KycDocuments;