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,49 @@
1
+ var _ = require('underscore');
2
+
3
+ var PersonType = require('./PersonType');
4
+
5
+ var User = require('./User');
6
+ var Address = require('./Address');
7
+
8
+ var UserNaturalPut = User.extend({
9
+ defaults: _.extend({}, User.prototype.defaults, {
10
+ FirstName: null,
11
+ LastName: null,
12
+ Address: null,
13
+ Birthday: null,
14
+ Nationality: null,
15
+ CountryOfResidence: null,
16
+ Occupation: null,
17
+ IncomeRange: null,
18
+ Capacity: null
19
+ }),
20
+
21
+ initialize: function() {
22
+ User.prototype.initialize.apply(this, arguments);
23
+ this.setPersonType(PersonType.Natural);
24
+ },
25
+
26
+ /**
27
+ * Get object with key as object type and value the object class
28
+ * @return {Object} Mapping of sub-objects
29
+ */
30
+ getSubObjects: function() {
31
+ var subObjects = User.prototype.getSubObjects();
32
+
33
+ return _.extend({}, subObjects, {
34
+ Address: Address
35
+ });
36
+ },
37
+
38
+ /**
39
+ * Get array with read-only properties
40
+ * @return {Array}
41
+ */
42
+ getReadOnlyProperties: function() {
43
+ var properties = User.prototype.getReadOnlyProperties();
44
+ properties.push('PersonType');
45
+ return properties;
46
+ }
47
+ });
48
+
49
+ module.exports = UserNaturalPut;
@@ -0,0 +1,56 @@
1
+ var _ = require('underscore');
2
+
3
+ var PersonType = require('./PersonType');
4
+
5
+ var User = require('./User');
6
+ var Address = require('./Address');
7
+ var PendingUserAction = require('./PendingUserAction');
8
+
9
+ var UserNaturalSca = User.extend({
10
+ defaults: _.extend({}, User.prototype.defaults, {
11
+ FirstName: null,
12
+ LastName: null,
13
+ Address: null,
14
+ Birthday: null,
15
+ Nationality: null,
16
+ CountryOfResidence: null,
17
+ Occupation: null,
18
+ IncomeRange: null,
19
+ ProofOfIdentity: null,
20
+ ProofOfAddress: null,
21
+ PhoneNumber: null,
22
+ PhoneNumberCountry: null,
23
+ PendingUserAction: null,
24
+ ScaContext: null
25
+ }),
26
+
27
+ initialize: function() {
28
+ User.prototype.initialize.apply(this, arguments);
29
+ this.setPersonType(PersonType.Natural);
30
+ },
31
+
32
+ /**
33
+ * Get object with key as object type and value the object class
34
+ * @return {Object} Mapping of sub-objects
35
+ */
36
+ getSubObjects: function() {
37
+ var subObjects = User.prototype.getSubObjects();
38
+
39
+ return _.extend({}, subObjects, {
40
+ Address: Address,
41
+ PendingUserAction: PendingUserAction
42
+ });
43
+ },
44
+
45
+ /**
46
+ * Get array with read-only properties
47
+ * @return {Array}
48
+ */
49
+ getReadOnlyProperties: function() {
50
+ var properties = User.prototype.getReadOnlyProperties();
51
+ properties.push('PersonType', 'ProofOfIdentity', 'ProofOfAddress', 'PendingUserAction');
52
+ return properties;
53
+ }
54
+ });
55
+
56
+ module.exports = UserNaturalSca;
@@ -0,0 +1,22 @@
1
+ var EntityBase = require('./EntityBase');
2
+
3
+ var VirtualAccount = EntityBase.extend({
4
+
5
+ defaults: {
6
+ WalletId: null,
7
+ CreditedUserId: null,
8
+ VirtualAccountPurpose: null,
9
+ Country: null,
10
+ Status: null,
11
+ Active: null,
12
+ AccountOwner: null,
13
+ LocalAccountsDetails: null,
14
+ InternationalAccountDetails: null,
15
+ Capabilities: null,
16
+ ResultCode: null,
17
+ ResultMessage: null
18
+ }
19
+
20
+ });
21
+
22
+ module.exports = VirtualAccount;
@@ -0,0 +1,32 @@
1
+ var EntityBase = require('./EntityBase');
2
+ var Money = require('./Money');
3
+
4
+ var Wallet = EntityBase.extend({
5
+ defaults: {
6
+ /**
7
+ * Array with owners identities
8
+ */
9
+ Owners: null,
10
+ Description: null,
11
+ Balance: null,
12
+ Currency: null
13
+ },
14
+
15
+ getSubObjects: function() {
16
+ return {
17
+ 'Balance': Money
18
+ }
19
+ },
20
+
21
+ /**
22
+ * Get array with read-only properties
23
+ * @return {Array} List of string properties
24
+ */
25
+ getReadOnlyProperties: function() {
26
+ var properties = EntityBase.prototype.getReadOnlyProperties();
27
+ properties.push('Balance');
28
+ return properties;
29
+ }
30
+ });
31
+
32
+ module.exports = Wallet;
@@ -0,0 +1,102 @@
1
+ module.exports = {
2
+ Address: require('./Address'),
3
+ BankAccount: require('./BankAccount'),
4
+ BankAccountDetails: require('./BankAccountDetails'),
5
+ BankAccountDetailsCA: require('./BankAccountDetailsCA'),
6
+ BankAccountDetailsGB: require('./BankAccountDetailsGB'),
7
+ BankAccountDetailsIBAN: require('./BankAccountDetailsIBAN'),
8
+ BankAccountDetailsOTHER: require('./BankAccountDetailsOTHER'),
9
+ BankAccountDetailsUS: require('./BankAccountDetailsUS'),
10
+ BankAccountType: require('./BankAccountType'),
11
+ BankingAlias: require('./BankingAlias'),
12
+ BankingAliasIBAN: require('./BankingAliasIBAN'),
13
+ Billing: require('./Billing'),
14
+ Birthplace: require('./Birthplace'),
15
+ BrowserInfo: require('./BrowserInfo'),
16
+ Card: require('./Card'),
17
+ CardPreAuthorization: require('./CardPreAuthorization'),
18
+ CardRegistration: require('./CardRegistration'),
19
+ Client: require('./Client'),
20
+ ClientWallet: require('./ClientWallet'),
21
+ DebitedBankAccount: require('./DebitedBankAccount'),
22
+ DeclaredUbo: require('./DeclaredUbo'),
23
+ DeclaredUboStatus: require('./DeclaredUboStatus'),
24
+ Dispute: require('./Dispute'),
25
+ DisputeDocument: require('./DisputeDocument'),
26
+ DisputeDocumentPage: require('./DisputeDocumentPage'),
27
+ DisputeReason: require('./DisputeReason'),
28
+ Document: require('./Document'),
29
+ DocumentPageConsult: require('./DocumentPageConsult'),
30
+ EMoney: require('./EMoney'),
31
+ EntityBase: require('./EntityBase'),
32
+ Hook: require('./Hook'),
33
+ IdempotencyResponse: require('./IdempotencyResponse'),
34
+ KycDocument: require('./KycDocument'),
35
+ KycDocumentStatus: require('./KycDocumentStatus'),
36
+ KycDocumentType: require('./KycDocumentType'),
37
+ KycPage: require('./KycPage'),
38
+ LegalPersonType: require('./LegalPersonType'),
39
+ Mandate: require('./Mandate'),
40
+ MandateStatus: require('./MandateStatus'),
41
+ Money: require('./Money'),
42
+ PayIn: require('./PayIn'),
43
+ PayInExecutionDetails: require('./PayInExecutionDetails'),
44
+ PayInExecutionDetailsBankingAlias: require('./PayInExecutionDetailsBankingAlias'),
45
+ PayInExecutionDetailsDirect: require('./PayInExecutionDetailsDirect'),
46
+ PayInExecutionDetailsWeb: require('./PayInExecutionDetailsWeb'),
47
+ PayInExecutionType: require('./PayInExecutionType'),
48
+ PayInPaymentDetails: require('./PayInPaymentDetails'),
49
+ PayInPaymentDetailsApplePay: require('./PayInPaymentDetailsApplePay'),
50
+ PayInPaymentDetailsBankWire: require('./PayInPaymentDetailsBankWire'),
51
+ PayInPaymentDetailsBankingAlias: require('./PayInPaymentDetailsBankingAlias'),
52
+ PayInPaymentDetailsCard: require('./PayInPaymentDetailsCard'),
53
+ PayInPaymentDetailsCardDirect: require('./PayInPaymentDetailsCardDirect'),
54
+ PayInPaymentDetailsCardWeb: require('./PayInPaymentDetailsCardWeb'),
55
+ PayInPaymentDetailsDirectDebitDirect: require('./PayInPaymentDetailsDirectDebitDirect'),
56
+ PayInPaymentDetailsDirectDebitWeb: require('./PayInPaymentDetailsDirectDebitWeb'),
57
+ PayInPaymentDetailsGooglePay: require('./PayInPaymentDetailsGooglePay'),
58
+ PayInPaymentDetailsPayPal: require('./PayInPaymentDetailsPayPal'),
59
+ PayInPaymentDetailsPreAuthorized: require('./PayInPaymentDetailsPreAuthorized'),
60
+ PayInPaymentDetailsBancontact: require('./PayInPaymentDetailsBancontact'),
61
+ PayInPaymentDetailsBizum: require('./PayInPaymentDetailsBizum'),
62
+ PayInPaymentType: require('./PayInPaymentType'),
63
+ PayInRecurringRegistration: require('./PayInRecurringRegistration'),
64
+ PayInTemplateURLOptions: require('./PayInTemplateURLOptions'),
65
+ PayOut: require('./PayOut'),
66
+ PayOutPaymentDetails: require('./PayOutPaymentDetails'),
67
+ PayOutPaymentDetailsBankWire: require('./PayOutPaymentDetailsBankWire'),
68
+ PayOutPaymentType: require('./PayOutPaymentType'),
69
+ PaymentData: require('./PaymentData'),
70
+ PersonType: require('./PersonType'),
71
+ PlatformCategorization: require('./PlatformCategorization'),
72
+ PlatformType: require('./PlatformType'),
73
+ Refund: require('./Refund'),
74
+ RefundReasonDetails: require('./RefundReasonDetails'),
75
+ Report: require('./Report'),
76
+ ReportFilter: require('./ReportFilter'),
77
+ Repudiation: require('./Repudiation'),
78
+ SecurityInfo: require('./SecurityInfo'),
79
+ SettlementTransfer: require('./SettlementTransfer'),
80
+ Shipping: require('./Shipping'),
81
+ ShippingAddress: require('./ShippingAddress'),
82
+ Transaction: require('./Transaction'),
83
+ Transfer: require('./Transfer'),
84
+ Ubo: require('./Ubo'),
85
+ UboDeclaration: require('./UboDeclaration'),
86
+ UboDeclarationRefusedReasonType: require('./UboDeclarationRefusedReasonType'),
87
+ UboDeclarationStatus: require('./UboDeclarationStatus'),
88
+ UboRefusedReasonType: require('./UboRefusedReasonType'),
89
+ UserCategory: require('./UserCategory'),
90
+ User: require('./User'),
91
+ UserLegal: require('./UserLegal'),
92
+ UserNatural: require('./UserNatural'),
93
+ UserNaturalPayer: require('./UserNaturalPayer'),
94
+ UserNaturalOwner: require('./UserNaturalOwner'),
95
+ UserLegalPayer: require('./UserLegalPayer'),
96
+ UserLegalOwner: require('./UserLegalOwner'),
97
+ UserNaturalCapacity: require('./UserNaturalCapacity'),
98
+ UserNaturalPut: require('./UserNaturalPut'),
99
+ Wallet: require('./Wallet'),
100
+ CountryAuthorizations: require('./CountryAuthorization'),
101
+ Deposit: require('./Deposit')
102
+ };
package/lib/service.js ADDED
@@ -0,0 +1,14 @@
1
+ var _ = require('underscore');
2
+
3
+ function Service() {
4
+ _.bindAll(this, 'initialize');
5
+ this.initialize();
6
+ }
7
+
8
+ Service.prototype = {
9
+ initialize: function() {}
10
+ };
11
+
12
+ Service.extend = require('./utils').extend;
13
+
14
+ module.exports = Service;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @module BankAccounts
3
+ */
4
+
5
+ var Service = require('../service');
6
+ var Transaction = require('../models/Transaction');
7
+
8
+ var BankAccounts = Service.extend({
9
+
10
+ /**
11
+ * Retrieve list of transactions for a bank account
12
+ * @param {number} bankAccountId Bank Account Id
13
+ * @param {Function} callback Callback function
14
+ * @param {Object} options Request options
15
+ * @return {Object} Request promise
16
+ */
17
+ getTransactions: function (bankAccountId, callback, options) {
18
+ if (options && !options.hasOwnProperty('parameters'))
19
+ Object.assign(options, {parameters: {...options}});
20
+ options = this._api._getOptions(callback, options, {
21
+ path: {
22
+ bankAccountId: bankAccountId
23
+ },
24
+ dataClass: Transaction
25
+ });
26
+
27
+ return this._api.method('transactions_get_for_bank_account', callback, options);
28
+ }
29
+ });
30
+
31
+ module.exports = BankAccounts;
@@ -0,0 +1,137 @@
1
+ /**
2
+ * @module BankingAliases
3
+ */
4
+
5
+ var Service = require('../service');
6
+ var BankingAlias = require('../models/BankingAlias');
7
+ var BankingAliasIBAN = require('../models/BankingAliasIBAN');
8
+
9
+ var BankingAliases = Service.extend({
10
+ /**
11
+ * Create a banking alias
12
+ * @param {Object} bankingAlias Banking Alias Data
13
+ * @param {Function} callback Callback function
14
+ * @param {Object} options Request options
15
+ * @return {Object} Request promise
16
+ */
17
+ create: function(bankingAlias, callback, options) {
18
+
19
+ var bankingAliasKey = this.getBankingAliasKey(bankingAlias);
20
+ var bankingAliasClass = this.getBankingAliasClass(bankingAlias);
21
+
22
+ options = this._api._getOptions(callback, options, {
23
+ data: bankingAlias,
24
+ dataClass: bankingAliasClass,
25
+ path: {
26
+ walletId: bankingAlias.WalletId
27
+ }
28
+ });
29
+
30
+ return this._api.method('banking_aliases_' + bankingAliasKey + '_create', callback, options);
31
+ },
32
+
33
+ /**
34
+ * Get a banking alias
35
+ * @param {number} bankingAliasId Banking Alias Id
36
+ * @param {Function} callback Callback function
37
+ * @param {Object} options Request options
38
+ * @return {Object} Request promise
39
+ */
40
+ get: function(bankingAliasId, callback, options) {
41
+ options = this._api._getOptions(callback, options, {
42
+ path: {
43
+ id: bankingAliasId
44
+ },
45
+ dataClass: BankingAlias
46
+ });
47
+
48
+ return this._api.method('banking_aliases_get', callback, options);
49
+ },
50
+
51
+ /**
52
+ * Get all banking aliases
53
+ * @param {Number} walletId Wallet Id
54
+ * @param {Function} callback Callback function
55
+ * @param {Object} options Request options
56
+ * @return {Object} Request promise
57
+ */
58
+ getAll: function(walletId, callback, options) {
59
+ options = this._api._getOptions(callback, options, {
60
+ path: {
61
+ walletId: walletId
62
+ },
63
+ dataClass: BankingAlias
64
+ });
65
+ return this._api.method('banking_aliases_all', callback, options);
66
+ },
67
+
68
+ /**
69
+ * Update banking alias
70
+ * @param {number} bankingAliasId Banking Alias Id
71
+ * @param {Function} callback Callback function
72
+ * @param {Object} options Request options
73
+ * @return {Object} Request promise
74
+ */
75
+ update: function(bankingAlias, callback, options) {
76
+ options = this._api._getOptions(callback, options, {
77
+ path: {
78
+ id: bankingAlias.Id
79
+ },
80
+ data: bankingAlias,
81
+ dataClass: BankingAlias
82
+ });
83
+
84
+ return this._api.method('banking_aliases_update', callback, options);
85
+ },
86
+
87
+ /**
88
+ * Deactivate banking alias
89
+ * @param {number} bankingAliasId Banking Alias Id
90
+ * @param {Function} callback Callback function
91
+ * @param {Object} options Request options
92
+ * @return {Object} Request promise
93
+ */
94
+ deactivate: function(bankingAliasId, callback, options) {
95
+ var bankingAlias = new BankingAlias({
96
+ Id: bankingAliasId,
97
+ Active: false
98
+ });
99
+
100
+ return this.update(bankingAlias, callback, options);
101
+ },
102
+
103
+ /**
104
+ * Activate banking alias
105
+ * @param {number} bankingAliasId Banking Alias Id
106
+ * @param {Function} callback Callback function
107
+ * @param {Object} options Request options
108
+ * @return {Object} Request promise
109
+ */
110
+ activate: function(bankingAliasId, callback, options) {
111
+ var bankingAlias = new BankingAlias({
112
+ Id: bankingAliasId,
113
+ Active: true
114
+ });
115
+
116
+ return this.update(bankingAlias, callback, options);
117
+ },
118
+
119
+ getBankingAliasKey: function(bankingAlias) {
120
+ if (bankingAlias.Type) {
121
+ return bankingAlias.Type.toLowerCase();
122
+ }
123
+ if (bankingAlias instanceof BankingAliasIBAN) return 'iban';
124
+
125
+ throw new Error('BankingAlias needs to have a Type');
126
+ },
127
+
128
+ getBankingAliasClass: function(bankingAlias) {
129
+ if (bankingAlias.Type) {
130
+ if (bankingAlias.Type === 'IBAN') return BankingAliasIBAN;
131
+ }
132
+ if (bankingAlias instanceof BankingAliasIBAN) return BankingAliasIBAN;
133
+ throw new Error('BankingAlias needs to have a Type');
134
+ }
135
+ });
136
+
137
+ module.exports = BankingAliases;
@@ -0,0 +1,75 @@
1
+ /**
2
+ * @module CardPreAuthorizations
3
+ * @desc [MangoPay Card Pre-Authorizations API Reference](https://docs.mangopay.com/endpoints/v2.01/preauthorizations)
4
+ */
5
+ var _ = require('underscore');
6
+ var Service = require('../service');
7
+ var CardPreAuthorization = require('../models/CardPreAuthorization');
8
+ var Transaction = require('../models/Transaction');
9
+
10
+ var CardPreAuthorizations = Service.extend({
11
+ /**
12
+ * Create new pre-authorization
13
+ * @param {Object} cardPreAuthorization CardPreAuthorization object or properties hash
14
+ * @param {Function} callback Callback function
15
+ * @param {Object} options Request options
16
+ * @return {Object} Promise of the request
17
+ */
18
+ create: function(cardPreAuthorization, callback, options) {
19
+ options = this._api._getOptions(callback, options, {
20
+ data: cardPreAuthorization,
21
+ dataClass: CardPreAuthorization
22
+ });
23
+
24
+ return this._api.method('preauthorization_create', callback, options);
25
+ },
26
+
27
+ /**
28
+ * Get pre-authorization object
29
+ * @param {number} cardPreAuthorizationId PreAuthorization identifier
30
+ * @param {Function} callback Callback function
31
+ * @param {Object} options Request options
32
+ * @return {Object} Request promise
33
+ */
34
+ get: function(cardPreAuthorizationId, callback, options) {
35
+ options = this._api._getOptions(callback, options, {
36
+ path: {
37
+ id: cardPreAuthorizationId
38
+ },
39
+ dataClass: CardPreAuthorization
40
+ });
41
+
42
+ return this._api.method('preauthorization_get', callback, options);
43
+ },
44
+
45
+ /**
46
+ * Update pre-authorization object
47
+ * @param {Object} cardPreAuthorization CardPreAuthorization object of properties hash
48
+ * @param {function} callback
49
+ * @param {Object} options
50
+ * @return {Object} Request promise
51
+ */
52
+ update: function(cardPreAuthorization, callback, options) {
53
+ options = this._api._getOptions(callback, options, {
54
+ data: cardPreAuthorization,
55
+ path: {
56
+ id: cardPreAuthorization.Id
57
+ },
58
+ dataClass: CardPreAuthorization
59
+ });
60
+
61
+ return this._api.method('preauthorization_save', callback, options);
62
+ },
63
+
64
+ getTransactions: function(cardPreAuthorizationId, callback, options) {
65
+ options = this._api._getOptions(callback, options, {
66
+ path: {
67
+ id: cardPreAuthorizationId
68
+ }
69
+ });
70
+
71
+ return this._api.method('preauthorization_transactions_get', callback, options);
72
+ },
73
+ });
74
+
75
+ module.exports = CardPreAuthorizations;
@@ -0,0 +1,64 @@
1
+ /**
2
+ * @module CardRegistrations
3
+ * @desc [MangoPay Card Registration API Reference](https://docs.mangopay.com/endpoints/v2.01/cards)
4
+ */
5
+ var _ = require('underscore');
6
+ var Service = require('../service');
7
+ var CardRegistration = require('../models/CardRegistration');
8
+
9
+ var CardRegistrations = Service.extend({
10
+ /**
11
+ * Create new card registration
12
+ * @param {Object} cardRegistration CardRegistration object or properties hash
13
+ * @param {Function} callback Callback function
14
+ * @param {Object} options Request options
15
+ * @return {Object} Promise of the request
16
+ */
17
+ create: function(cardRegistration, callback, options) {
18
+ options = this._api._getOptions(callback, options, {
19
+ data: cardRegistration,
20
+ dataClass: CardRegistration
21
+ });
22
+
23
+ return this._api.method('cardregistration_create', callback, options);
24
+ },
25
+
26
+ /**
27
+ * Get registration
28
+ * @param {number} cardRegistrationId Registration identifier
29
+ * @param {Function} callback Callback function
30
+ * @param {Object} options Request options
31
+ * @return {Object} Request promise
32
+ */
33
+ get: function(cardRegistrationId, callback, options) {
34
+ options = this._api._getOptions(callback, options, {
35
+ path: {
36
+ id: cardRegistrationId
37
+ },
38
+ dataClass: CardRegistration
39
+ });
40
+
41
+ return this._api.method('cardregistration_get', callback, options);
42
+ },
43
+
44
+ /**
45
+ * Update card registration
46
+ * @param {Object} cardRegistration CardPreAuthorization object of properties hash
47
+ * @param {function} callback Callback function
48
+ * @param {Object} options Request options
49
+ * @return {Object} Request promise
50
+ */
51
+ update: function(cardRegistration, callback, options) {
52
+ options = this._api._getOptions(callback, options, {
53
+ data: cardRegistration,
54
+ path: {
55
+ id: cardRegistration.Id
56
+ },
57
+ dataClass: CardRegistration
58
+ });
59
+
60
+ return this._api.method('cardregistration_save', callback, options);
61
+ }
62
+ });
63
+
64
+ module.exports = CardRegistrations;