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,105 @@
1
+ var expect = require('chai').expect;
2
+ var helpers = require('../helpers');
3
+ var api = require('../main');
4
+
5
+ describe('VirtualAccounts', function() {
6
+ var john = helpers.data.getUserNatural();
7
+ var wallet;
8
+ var virtualAccount;
9
+
10
+ before(function(done){
11
+ api.Users.create(john).then(function(){
12
+ wallet = {
13
+ Owners: [john.Id],
14
+ Currency: 'EUR',
15
+ Description: 'WALLET IN EUR'
16
+ };
17
+ api.Wallets.create(wallet).then(function(){
18
+ done();
19
+ });
20
+ });
21
+ });
22
+
23
+ describe('Create', function () {
24
+ before(function(done){
25
+ var virtualAccountCreate = {
26
+ Country: 'FR',
27
+ VirtualAccountPurpose: 'Collection',
28
+ Tag: 'create virtual account tag'
29
+ };
30
+
31
+ api.VirtualAccounts.create(wallet.Id, virtualAccountCreate).then(function(data){
32
+ virtualAccount = data;
33
+ done();
34
+ });
35
+ });
36
+
37
+ it('should be correctly created', function () {
38
+ expect(virtualAccount.Id).to.not.be.null;
39
+ expect(wallet.Id).to.equal(virtualAccount.WalletId);
40
+ });
41
+ });
42
+
43
+ describe('Get', function () {
44
+ var getVirtualAccount;
45
+
46
+ before(function(done){
47
+ api.VirtualAccounts.get(wallet.Id, virtualAccount.Id).then(function(data){
48
+ getVirtualAccount = data;
49
+ done();
50
+ });
51
+ });
52
+
53
+ it('should be correctly fetched', function () {
54
+ expect(virtualAccount.Id).to.equal(getVirtualAccount.Id);
55
+ });
56
+ });
57
+
58
+ describe('Get All', function () {
59
+ var allVirtualAccounts;
60
+
61
+ before(function(done){
62
+ api.VirtualAccounts.getAll(wallet.Id).then(function(data){
63
+ allVirtualAccounts = data;
64
+ done();
65
+ });
66
+ });
67
+
68
+ it('should be correctly fetched', function () {
69
+ expect(allVirtualAccounts.length).to.equal(1);
70
+ });
71
+ });
72
+
73
+ describe('Deactivate', function () {
74
+ var deactivatedVirtualAccount;
75
+
76
+ before(function(done){
77
+ api.VirtualAccounts.deactivate(wallet.Id, virtualAccount.Id).then(function(data){
78
+ deactivatedVirtualAccount = data;
79
+ done();
80
+ });
81
+ });
82
+
83
+ it('should be correctly created', function () {
84
+ expect(deactivatedVirtualAccount.Active).to.equal(false);
85
+ });
86
+ });
87
+
88
+ describe.skip('Get Availabilities', function () {
89
+ // TODO
90
+ console.warn("Skipped because of API issues. To be enabled after API is fixed.");
91
+ var availabilities;
92
+
93
+ before(function(done){
94
+ api.VirtualAccounts.getAvailabilities().then(function(data){
95
+ availabilities = data;
96
+ done();
97
+ });
98
+ });
99
+
100
+ it('should be correctly fetched', function () {
101
+ expect(availabilities.Collection.length).to.greaterThan(0);
102
+ expect(availabilities.UserOwned.length).to.greaterThan(0);
103
+ });
104
+ });
105
+ });
@@ -0,0 +1,132 @@
1
+ var expect = require('chai').expect;
2
+ var helpers = require('../helpers');
3
+ var api = require('../main');
4
+
5
+ describe('Wallets', function() {
6
+ var john = helpers.data.getUserNatural();
7
+ var wallet;
8
+
9
+ before(function(done){
10
+ api.Users.create(john).then(function(){
11
+ wallet = {
12
+ Owners: [john.Id],
13
+ Currency: 'EUR',
14
+ Description: 'WALLET IN EUR'
15
+ };
16
+ api.Wallets.create(wallet).then(function(){
17
+ done();
18
+ });
19
+ });
20
+ });
21
+
22
+ describe('Create', function () {
23
+ it('should exist', function () {
24
+ expect(wallet.Id).to.exist;
25
+ expect(wallet.Owners).to.contain(john.Id);
26
+ });
27
+ });
28
+
29
+ describe('Get', function () {
30
+ var getWallet;
31
+
32
+ before(function(done){
33
+ api.Wallets.get(wallet.Id).then(function(data){
34
+ getWallet = data;
35
+ done();
36
+ });
37
+ });
38
+
39
+ it('should be correctly fetched', function () {
40
+ expect(wallet.Id).to.equal(getWallet.Id);
41
+ expect(wallet.CreationDate).to.equal(getWallet.CreationDate);
42
+ });
43
+ });
44
+
45
+ describe('Get Sca', function () {
46
+ var responseError;
47
+
48
+ before(function (done) {
49
+ api.Wallets.get(wallet.Id, function (data) {},
50
+ {
51
+ parameters: {
52
+ ScaContext: 'USER_PRESENT'
53
+ },
54
+ resolveWithFullResponse: true
55
+ })
56
+ .catch(function (error) {
57
+ responseError = error;
58
+ done();
59
+ });
60
+ });
61
+
62
+ it('redirectUrl should be present on response headers', function () {
63
+ expect(responseError.headers['www-authenticate']).to.contain("PendingUserAction RedirectUrl");
64
+ });
65
+ });
66
+
67
+ describe('Save', function () {
68
+ var NEW_DESCRIPTION = 'New description to test';
69
+
70
+ before(function(done){
71
+ wallet.description = NEW_DESCRIPTION;
72
+ api.Wallets.update(wallet).then(function(data){
73
+ wallet = data;
74
+ done();
75
+ });
76
+ });
77
+
78
+ it('should be correctly updated', function () {
79
+ expect(wallet.Description).to.equal(NEW_DESCRIPTION);
80
+ });
81
+ });
82
+
83
+ describe('Transactions', function () {
84
+ var transactions;
85
+
86
+ before(function(done){
87
+ helpers.getNewPayInCardWeb(api, john, async function(data){
88
+ // wait 2 seconds for the transactions to be created by the API
89
+ const delay = ms => new Promise(resolve => setTimeout(resolve, ms));
90
+ await delay(2000);
91
+
92
+ api.Wallets.getTransactions(data.CreditedWalletId, function(data, response){
93
+ transactions = data;
94
+ done();
95
+ }, {
96
+ // parameters: {
97
+ // TYPE: 'PAYIN'
98
+ // },
99
+ page: 1,
100
+ per_page: 50,
101
+ TYPE: 'PAYIN'
102
+ });
103
+ });
104
+ });
105
+
106
+ it('should be correctly updated', function () {
107
+ expect(transactions.length).to.equal(1);
108
+ expect(transactions[0].AuthorId).to.equal(john.Id);
109
+ });
110
+ });
111
+
112
+ describe('Transactions Sca', function () {
113
+ var responseError;
114
+
115
+ before(function(done){
116
+ api.Wallets.getTransactions(wallet.Id, function(data, response) {}, {
117
+ page: 1,
118
+ per_page: 50,
119
+ ScaContext: 'USER_PRESENT',
120
+ resolveWithFullResponse: true
121
+ })
122
+ .catch(function (error) {
123
+ responseError = error;
124
+ done();
125
+ });
126
+ });
127
+
128
+ it('redirectUrl should be present on response headers', function () {
129
+ expect(responseError.headers['www-authenticate']).to.contain("PendingUserAction RedirectUrl");
130
+ });
131
+ });
132
+ });
@@ -0,0 +1,8 @@
1
+ IntentId,ExternalProviderReference,ExternalPaymentMethod,ExternalTransactionType,ExternalTransactionStatus,ExternalProcessingDate,Amount,Currency,ExternalInitialReference,ExternalProviderFees
2
+ int_0197b19d-ee51-7b60-84cb-207491cf383a,6TU984332A894613W,PAYPAL,PAYMENT,SETTLED,19-06-2025,1000,EUR,,0
3
+ ,,,,,,,,,
4
+ SettlementDate,19-06-2025,,,,,,,,
5
+ ExternalProviderName,Paypal,,,,,,,,
6
+ TotalSettlementFeesAmount,0,,,,,,,,
7
+ TotalSettlementAmount,1000,,,,,,,,
8
+ SettlementCurrency,EUR,,,,,,,,
@@ -0,0 +1,308 @@
1
+ import { DeepPartial, Timestamp } from "./types";
2
+ import { Models } from "./models";
3
+
4
+ export namespace base {
5
+ type WithToJson<T extends object> = T & { toJSON(): any };
6
+
7
+ interface Config {
8
+ /**
9
+ * API Client Id
10
+ */
11
+ clientId: string;
12
+
13
+ /**
14
+ * API Client Api Key
15
+ */
16
+ clientApiKey: string;
17
+
18
+ /**
19
+ * API Base URL.The fault base value points to sandbox.
20
+ * Production is 'https://api.mangopay.com'
21
+ *
22
+ * @default "https://api.sandbox.mangopay.com"
23
+ */
24
+ baseUrl?: string;
25
+
26
+ /**
27
+ * Active debugging
28
+ * @default false
29
+ */
30
+ debugMode?: boolean;
31
+
32
+ /**
33
+ * Log function to be used for debug
34
+ * @default `console.log`
35
+ */
36
+ logClass?(...args: any[]): void;
37
+
38
+ /**
39
+ * Set the connection timeout limit(in milliseconds)
40
+ * @default 30000
41
+ */
42
+ connectionTimeout?: number;
43
+
44
+ /**
45
+ * Set the response timeout limit(in milliseconds)
46
+ * @default 30000
47
+ */
48
+ responseTimeout?: number;
49
+
50
+ /**
51
+ * API Version
52
+ * @default 'v2.01'
53
+ */
54
+ apiVersion?: string;
55
+
56
+ /**
57
+ * Set to true for uk traffic
58
+ * @default 'false'
59
+ */
60
+ ukHeaderFlag?: boolean
61
+
62
+ /**
63
+ * Set a custom error handler
64
+ * @default `console.error`
65
+ */
66
+ errorHandler?(options: any, err: any): void;
67
+ }
68
+
69
+ interface RequestOptions {
70
+ /**
71
+ * Path options are replacing the ${placeholders} from apiMethods
72
+ */
73
+ path: {
74
+ clientId: string;
75
+ apiVersion: string;
76
+ readonly id: string;
77
+ };
78
+
79
+ headers: Partial<Headers>;
80
+ }
81
+
82
+ interface Headers {
83
+ "Content-Type": string;
84
+
85
+ "User-Agent": string;
86
+
87
+ "Idempotency-Key": string;
88
+
89
+ Authorization: string;
90
+
91
+ [header: string]: string | undefined;
92
+ }
93
+
94
+ interface AuthorizationData {
95
+ access_token: string;
96
+
97
+ token_type: string;
98
+
99
+ expires_in: number;
100
+ }
101
+
102
+ interface PaginationOptions {
103
+ /**
104
+ * The page number of results you wish to return
105
+ * @default 1
106
+ */
107
+ Page?: number;
108
+
109
+ /**
110
+ * The number of results to return per page: Max 100;
111
+ * @default 10
112
+ */
113
+ Per_Page?: number;
114
+ }
115
+
116
+ interface FilterOptions extends Record<string, any> {
117
+ /**
118
+ * The column to sort against and direction - only CreationDate (or Date for the events) is available and ASC or DESC for the direction. E.g. "CreationDate:ASC"
119
+ */
120
+ Sort?: string;
121
+
122
+ /**
123
+ * To return only resources that have CreationDate BEFORE this date
124
+ */
125
+ BeforeDate?: Timestamp;
126
+
127
+ /**
128
+ * To return only resources that have CreationDate AFTER this date
129
+ */
130
+ AfterDate?: Timestamp;
131
+ }
132
+
133
+ interface DependsObject {
134
+ dependsPropertyName: string;
135
+
136
+ propertyName: string;
137
+
138
+ propertyValueMapping: Record<string, Models.Model>;
139
+ }
140
+
141
+ interface BrowserInfoData {
142
+ AcceptHeader: string;
143
+
144
+ JavaEnabled: boolean;
145
+
146
+ Language: string;
147
+
148
+ ColorDepth: number;
149
+
150
+ ScreenHeight: number;
151
+
152
+ ScreenWidth: number;
153
+
154
+ JavascriptEnabled: boolean;
155
+
156
+ TimeZoneOffset: string;
157
+
158
+ UserAgent: string;
159
+ }
160
+
161
+ interface FallbackReasonData {
162
+ Code: string;
163
+
164
+ Message: string;
165
+ }
166
+
167
+ interface PayoutPaymentRefData {
168
+ ReasonType: string;
169
+
170
+ ReferenceId: string;
171
+ }
172
+
173
+ interface WithResponse<T> {
174
+ status: number;
175
+
176
+ statusText: string;
177
+
178
+ body: T;
179
+
180
+ headers: Headers;
181
+ }
182
+
183
+ interface NoArgMethodOverload<R> {
184
+ (options: MethodOptionWithResponse): Promise<WithResponse<R>>;
185
+
186
+ (options?: MethodOptionWithoutResponse): Promise<R>;
187
+
188
+ (
189
+ callback: (data: WithResponse<R>) => void,
190
+ options?: MethodOptionWithResponse
191
+ ): void;
192
+
193
+ (callback: (data: R) => void, options?: MethodOptionWithoutResponse): void;
194
+ }
195
+
196
+ interface MethodOverload<T, R> {
197
+ (data: T, options: MethodOptionWithResponse): Promise<WithResponse<R>>;
198
+
199
+ (data: T, options?: MethodOptionWithoutResponse): Promise<R>;
200
+
201
+ (
202
+ data: T,
203
+ callback: (data: WithResponse<R>) => void,
204
+ options: MethodOptionWithResponse
205
+ ): void;
206
+
207
+ (
208
+ data: T,
209
+ callback: (data: R) => void,
210
+ options?: MethodOptionWithoutResponse
211
+ ): void;
212
+ }
213
+
214
+ interface TwoArgsMethodOverload<T, U, R> {
215
+ (data: T, extra: U, options: MethodOptionWithResponse): Promise<WithResponse<R>>;
216
+
217
+ (data: T, extra: U, options?: MethodOptionWithoutResponse): Promise<R>;
218
+
219
+ (
220
+ data: T,
221
+ extra: U,
222
+ callback: (data: WithResponse<R>) => void,
223
+ options?: MethodOptionWithResponse
224
+ ): void;
225
+
226
+ (
227
+ data: T,
228
+ extra: U,
229
+ callback: (data: R) => void,
230
+ options?: MethodOptionWithoutResponse
231
+ ): void;
232
+ }
233
+
234
+ interface ThreeArgsMethodOverload<T, U, V, R> {
235
+ (data: T, extra: U, lastArg: V, options: MethodOptionWithResponse): Promise<WithResponse<R>>;
236
+
237
+ (
238
+ data: T,
239
+ extra: U,
240
+ lastArg: V,
241
+ options?: MethodOptionWithoutResponse
242
+ ): Promise<R>;
243
+
244
+ (
245
+ data: T,
246
+ extra: U,
247
+ lastArg: V,
248
+ callback: (data: WithResponse<R>) => void,
249
+ options?: MethodOptionWithResponse
250
+ ): void;
251
+
252
+ (
253
+ data: T,
254
+ extra: U,
255
+ lastArg: V,
256
+ callback: (data: R) => void,
257
+ options?: MethodOptionWithoutResponse
258
+ ): void;
259
+ }
260
+
261
+ interface FourArgsMethodOverload<T, U, V, Q, R> {
262
+ (data: T, extra: U, arg: V, lastArg: Q, options: MethodOptionWithResponse): Promise<WithResponse<R>>;
263
+
264
+ (
265
+ data: T,
266
+ extra: U,
267
+ arg: V,
268
+ lastArg: Q,
269
+ options?: MethodOptionWithoutResponse
270
+ ): Promise<R>;
271
+
272
+ (
273
+ data: T,
274
+ extra: U,
275
+ arg: V,
276
+ lastArg: Q,
277
+ callback: (data: WithResponse<R>) => void,
278
+ options?: MethodOptionWithResponse
279
+ ): void;
280
+
281
+ (
282
+ data: T,
283
+ extra: U,
284
+ arg: V,
285
+ lastArg: Q,
286
+ callback: (data: R) => void,
287
+ options?: MethodOptionWithoutResponse
288
+ ): void;
289
+ }
290
+
291
+ // Determines the shape of the response
292
+ interface resolveWithFullResponse {
293
+ resolveWithFullResponse: true;
294
+ }
295
+
296
+ interface MethodOptions extends DeepPartial<RequestOptions> {
297
+ data?: WithToJson<object> | string;
298
+ parameters?: FilterOptions & PaginationOptions;
299
+ }
300
+
301
+ interface MethodOptionWithResponse extends MethodOptions {
302
+ resolveWithFullResponse: true;
303
+ }
304
+
305
+ interface MethodOptionWithoutResponse extends MethodOptions {
306
+ resolveWithFullResponse?: false;
307
+ }
308
+ }