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.
- package/.github/workflows/node.js.yml +32 -0
- package/.github/workflows/npm-publish.yml +26 -0
- package/.jshintrc +16 -0
- package/CHANGELOG.md +946 -0
- package/LICENSE +21 -0
- package/README.md +179 -0
- package/docs/BankAccounts.md +35 -0
- package/docs/BankingAliases.md +108 -0
- package/docs/CardPreAuthorizations.md +55 -0
- package/docs/CardRegistrations.md +55 -0
- package/docs/Cards.md +82 -0
- package/docs/Clients.md +142 -0
- package/docs/DisputeDocuments.md +53 -0
- package/docs/Disputes.md +292 -0
- package/docs/Events.md +23 -0
- package/docs/Hooks.md +68 -0
- package/docs/Idempotency.md +11 -0
- package/docs/KycDocuments.md +52 -0
- package/docs/Mandates.md +125 -0
- package/docs/OptionsHelper.md +32 -0
- package/docs/PayIns.md +72 -0
- package/docs/PayOuts.md +55 -0
- package/docs/README.md +131 -0
- package/docs/Refunds.md +25 -0
- package/docs/Reports.md +63 -0
- package/docs/Repudiations.md +25 -0
- package/docs/Responses.md +33 -0
- package/docs/Transfers.md +72 -0
- package/docs/UboDeclarations.md +70 -0
- package/docs/Users.md +322 -0
- package/docs/Wallets.md +70 -0
- package/docs/templates/class.mustache +11 -0
- package/docs/templates/file.mustache +53 -0
- package/docs/templates/function.mustache +33 -0
- package/docs/templates/index.mustache +26 -0
- package/docs/templates/overview.mustache +1 -0
- package/examples/createUsers.js +112 -0
- package/examples/createWallet.js +28 -0
- package/examples/failedRequest.js +20 -0
- package/examples/getBankAccounts.js +29 -0
- package/examples/getUserEmoney.js +16 -0
- package/examples/getUsers.js +32 -0
- package/examples/readResponseHeaders.js +42 -0
- package/index.js +1 -0
- package/lib/Model.js +58 -0
- package/lib/api.js +467 -0
- package/lib/apiMethods.js +270 -0
- package/lib/config.js +57 -0
- package/lib/log.js +9 -0
- package/lib/mangopay.js +8 -0
- package/lib/models/Address.js +32 -0
- package/lib/models/BankAccount.js +45 -0
- package/lib/models/BankAccountDetails.js +7 -0
- package/lib/models/BankAccountDetailsCA.js +12 -0
- package/lib/models/BankAccountDetailsGB.js +10 -0
- package/lib/models/BankAccountDetailsIBAN.js +10 -0
- package/lib/models/BankAccountDetailsOTHER.js +16 -0
- package/lib/models/BankAccountDetailsUS.js +14 -0
- package/lib/models/BankAccountType.js +8 -0
- package/lib/models/BankingAlias.js +37 -0
- package/lib/models/BankingAliasIBAN.js +27 -0
- package/lib/models/Billing.js +14 -0
- package/lib/models/BinData.js +16 -0
- package/lib/models/Birthplace.js +10 -0
- package/lib/models/BrowserInfo.js +15 -0
- package/lib/models/Card.js +19 -0
- package/lib/models/CardInfo.js +32 -0
- package/lib/models/CardPreAuthorization.js +144 -0
- package/lib/models/CardRegistration.js +29 -0
- package/lib/models/CardValidation.js +19 -0
- package/lib/models/CategorizeUserLegal.js +15 -0
- package/lib/models/CategorizeUserNatural.js +18 -0
- package/lib/models/Check.js +13 -0
- package/lib/models/CheckData.js +8 -0
- package/lib/models/Client.js +62 -0
- package/lib/models/ClientWallet.js +28 -0
- package/lib/models/Conversion.js +19 -0
- package/lib/models/ConversionRate.js +10 -0
- package/lib/models/CountryAuthorization.js +12 -0
- package/lib/models/DebitedBankAccount.js +15 -0
- package/lib/models/DeclaredUbo.js +29 -0
- package/lib/models/DeclaredUboStatus.js +17 -0
- package/lib/models/Deposit.js +29 -0
- package/lib/models/Dispute.js +46 -0
- package/lib/models/DisputeDocument.js +10 -0
- package/lib/models/DisputeDocumentPage.js +12 -0
- package/lib/models/DisputeReason.js +11 -0
- package/lib/models/Document.js +12 -0
- package/lib/models/DocumentPageConsult.js +17 -0
- package/lib/models/EMoney.js +30 -0
- package/lib/models/EntityBase.js +70 -0
- package/lib/models/Hook.js +19 -0
- package/lib/models/IdempotencyResponse.js +11 -0
- package/lib/models/IdentityVerification.js +12 -0
- package/lib/models/KycDocument.js +11 -0
- package/lib/models/KycDocumentStatus.js +7 -0
- package/lib/models/KycDocumentType.js +7 -0
- package/lib/models/KycPage.js +12 -0
- package/lib/models/LegalPersonType.js +7 -0
- package/lib/models/LegalRepresentative.js +16 -0
- package/lib/models/Mandate.js +69 -0
- package/lib/models/MandateStatus.js +7 -0
- package/lib/models/Money.js +16 -0
- package/lib/models/PayByBankSupportedBank.js +7 -0
- package/lib/models/PayIn.js +36 -0
- package/lib/models/PayInExecutionDetails.js +7 -0
- package/lib/models/PayInExecutionDetailsBankingAlias.js +19 -0
- package/lib/models/PayInExecutionDetailsDirect.js +29 -0
- package/lib/models/PayInExecutionDetailsWeb.js +40 -0
- package/lib/models/PayInExecutionType.js +5 -0
- package/lib/models/PayInIntent.js +20 -0
- package/lib/models/PayInIntentSplit.js +14 -0
- package/lib/models/PayInIntentSplits.js +7 -0
- package/lib/models/PayInPaymentDetails.js +7 -0
- package/lib/models/PayInPaymentDetailsApplePay.js +19 -0
- package/lib/models/PayInPaymentDetailsBancontact.js +13 -0
- package/lib/models/PayInPaymentDetailsBankWire.js +23 -0
- package/lib/models/PayInPaymentDetailsBankingAlias.js +18 -0
- package/lib/models/PayInPaymentDetailsBizum.js +23 -0
- package/lib/models/PayInPaymentDetailsBlik.js +17 -0
- package/lib/models/PayInPaymentDetailsCard.js +10 -0
- package/lib/models/PayInPaymentDetailsCardDirect.js +14 -0
- package/lib/models/PayInPaymentDetailsCardWeb.js +28 -0
- package/lib/models/PayInPaymentDetailsDirectDebitDirect.js +22 -0
- package/lib/models/PayInPaymentDetailsDirectDebitWeb.js +13 -0
- package/lib/models/PayInPaymentDetailsGiropay.js +15 -0
- package/lib/models/PayInPaymentDetailsGooglePay.js +35 -0
- package/lib/models/PayInPaymentDetailsIdeal.js +25 -0
- package/lib/models/PayInPaymentDetailsKlarna.js +36 -0
- package/lib/models/PayInPaymentDetailsMbway.js +20 -0
- package/lib/models/PayInPaymentDetailsMultibanco.js +14 -0
- package/lib/models/PayInPaymentDetailsPayByBank.js +71 -0
- package/lib/models/PayInPaymentDetailsPayPal.js +63 -0
- package/lib/models/PayInPaymentDetailsPayconiq.js +23 -0
- package/lib/models/PayInPaymentDetailsPreAuthorized.js +10 -0
- package/lib/models/PayInPaymentDetailsSatispay.js +19 -0
- package/lib/models/PayInPaymentDetailsSwish.js +35 -0
- package/lib/models/PayInPaymentDetailsTwint.js +15 -0
- package/lib/models/PayInPaymentType.js +21 -0
- package/lib/models/PayInRecurringRegistration.js +64 -0
- package/lib/models/PayInTemplateURLOptions.js +10 -0
- package/lib/models/PayOut.js +24 -0
- package/lib/models/PayOutPaymentDetails.js +7 -0
- package/lib/models/PayOutPaymentDetailsBankWire.js +32 -0
- package/lib/models/PayOutPaymentType.js +3 -0
- package/lib/models/PaymentData.js +20 -0
- package/lib/models/PaymentMethodMetadata.js +38 -0
- package/lib/models/PayoutMethods.js +7 -0
- package/lib/models/PendingUserAction.js +16 -0
- package/lib/models/PersonType.js +5 -0
- package/lib/models/PlatformCategorization.js +16 -0
- package/lib/models/PlatformType.js +10 -0
- package/lib/models/Quote.js +11 -0
- package/lib/models/Recipient.js +20 -0
- package/lib/models/RecipientSchema.js +17 -0
- package/lib/models/RecurringPayIn.js +10 -0
- package/lib/models/RecurringPayInCIT.js +32 -0
- package/lib/models/RecurringPayInCurrentState.js +24 -0
- package/lib/models/RecurringPayInMIT.js +27 -0
- package/lib/models/RecurringPayInPut.js +24 -0
- package/lib/models/Refund.js +26 -0
- package/lib/models/RefundReasonDetails.js +10 -0
- package/lib/models/Report.js +54 -0
- package/lib/models/ReportFilter.js +52 -0
- package/lib/models/ReportFilterV2.js +11 -0
- package/lib/models/ReportV2.js +28 -0
- package/lib/models/Repudiation.js +51 -0
- package/lib/models/SecurityInfo.js +12 -0
- package/lib/models/Settlement.js +16 -0
- package/lib/models/SettlementTransfer.js +37 -0
- package/lib/models/Shipping.js +14 -0
- package/lib/models/ShippingAddress.js +25 -0
- package/lib/models/ShippingPreference.js +5 -0
- package/lib/models/Transaction.js +50 -0
- package/lib/models/Transfer.js +13 -0
- package/lib/models/Ubo.js +19 -0
- package/lib/models/UboDeclaration.js +42 -0
- package/lib/models/UboDeclarationRefusedReasonType.js +23 -0
- package/lib/models/UboDeclarationStatus.js +26 -0
- package/lib/models/UboRefusedReasonType.js +14 -0
- package/lib/models/User.js +66 -0
- package/lib/models/UserCategory.js +5 -0
- package/lib/models/UserConsent.js +7 -0
- package/lib/models/UserDataFormatValidation.js +7 -0
- package/lib/models/UserEnrollmentResult.js +7 -0
- package/lib/models/UserLegal.js +65 -0
- package/lib/models/UserLegalOwner.js +66 -0
- package/lib/models/UserLegalPayer.js +66 -0
- package/lib/models/UserLegalSca.js +57 -0
- package/lib/models/UserNatural.js +51 -0
- package/lib/models/UserNaturalCapacity.js +13 -0
- package/lib/models/UserNaturalOwner.js +55 -0
- package/lib/models/UserNaturalPayer.js +55 -0
- package/lib/models/UserNaturalPut.js +49 -0
- package/lib/models/UserNaturalSca.js +56 -0
- package/lib/models/VirtualAccount.js +22 -0
- package/lib/models/Wallet.js +32 -0
- package/lib/models/index.js +102 -0
- package/lib/service.js +14 -0
- package/lib/services/BankAccounts.js +31 -0
- package/lib/services/BankingAliases.js +137 -0
- package/lib/services/CardPreAuthorizations.js +75 -0
- package/lib/services/CardRegistrations.js +64 -0
- package/lib/services/Cards.js +168 -0
- package/lib/services/Clients.js +196 -0
- package/lib/services/Conversions.js +155 -0
- package/lib/services/Deposits.js +109 -0
- package/lib/services/DisputeDocuments.js +65 -0
- package/lib/services/Disputes.js +409 -0
- package/lib/services/Events.js +24 -0
- package/lib/services/Hooks.js +81 -0
- package/lib/services/Idempotency.js +17 -0
- package/lib/services/IdentityVerifications.js +48 -0
- package/lib/services/KycDocuments.js +66 -0
- package/lib/services/Mandates.js +161 -0
- package/lib/services/OptionsHelper.js +20 -0
- package/lib/services/PayIns.js +690 -0
- package/lib/services/PayOuts.js +110 -0
- package/lib/services/Recipients.js +117 -0
- package/lib/services/Refunds.js +29 -0
- package/lib/services/Regulatory.js +29 -0
- package/lib/services/Reports.js +61 -0
- package/lib/services/ReportsV2.js +55 -0
- package/lib/services/Repudiations.js +33 -0
- package/lib/services/Responses.js +23 -0
- package/lib/services/Settlements.js +74 -0
- package/lib/services/Transfers.js +87 -0
- package/lib/services/UboDeclarations.js +135 -0
- package/lib/services/Users.js +831 -0
- package/lib/services/VirtualAccounts.js +99 -0
- package/lib/services/Wallets.js +85 -0
- package/lib/services/index.js +34 -0
- package/lib/utils.js +36 -0
- package/package.json +40 -0
- package/test/TestKycPageFile.png +0 -0
- package/test/helpers.js +1431 -0
- package/test/main.js +10 -0
- package/test/mocha.opts +3 -0
- package/test/services/BankAccounts.js +46 -0
- package/test/services/BankingAliases.js +89 -0
- package/test/services/CardPreAuthorizations.js +70 -0
- package/test/services/CardRegistrations.js +239 -0
- package/test/services/Cards.js +54 -0
- package/test/services/Clients.js +235 -0
- package/test/services/Conversions.js +308 -0
- package/test/services/Deposits.js +148 -0
- package/test/services/Disputes.js +542 -0
- package/test/services/EMoney.js +54 -0
- package/test/services/Events.js +143 -0
- package/test/services/Hooks.js +109 -0
- package/test/services/Idempotency.js +46 -0
- package/test/services/IdentityVerifications.js +68 -0
- package/test/services/KycDocuments.js +73 -0
- package/test/services/Mandates.js +256 -0
- package/test/services/PayIns.js +2553 -0
- package/test/services/PayOuts.js +106 -0
- package/test/services/RateLimit.js +48 -0
- package/test/services/Recipients.js +234 -0
- package/test/services/Refunds.js +123 -0
- package/test/services/Regulatory.js +45 -0
- package/test/services/Reports.js +114 -0
- package/test/services/ReportsV2.js +306 -0
- package/test/services/Repudiations.js +22 -0
- package/test/services/Settlements.js +58 -0
- package/test/services/Tokens.js +55 -0
- package/test/services/Transfers.js +137 -0
- package/test/services/UboDeclarations.js +135 -0
- package/test/services/Users.js +1303 -0
- package/test/services/VirtualAccounts.js +105 -0
- package/test/services/Wallets.js +132 -0
- package/test/settlement_sample.csv +8 -0
- package/typings/base.d.ts +308 -0
- package/typings/enums.d.ts +204 -0
- package/typings/index.d.ts +885 -0
- package/typings/index.test-d.ts +1535 -0
- package/typings/models/address.d.ts +70 -0
- package/typings/models/bankAccount.d.ts +235 -0
- package/typings/models/bankingAlias.d.ts +97 -0
- package/typings/models/billing.d.ts +42 -0
- package/typings/models/birthplace.d.ts +9 -0
- package/typings/models/card.d.ts +119 -0
- package/typings/models/cardPreauthorization.d.ts +157 -0
- package/typings/models/cardRegistration.d.ts +83 -0
- package/typings/models/cardValidation.d.ts +125 -0
- package/typings/models/client.d.ts +208 -0
- package/typings/models/conversion.d.ts +225 -0
- package/typings/models/conversionRate.d.ts +29 -0
- package/typings/models/countryAuthorization.d.ts +16 -0
- package/typings/models/deposit.d.ts +104 -0
- package/typings/models/dispute.d.ts +116 -0
- package/typings/models/disputeDocument.d.ts +119 -0
- package/typings/models/entityBase.d.ts +9 -0
- package/typings/models/event.d.ts +142 -0
- package/typings/models/hook.d.ts +39 -0
- package/typings/models/idempotency.d.ts +36 -0
- package/typings/models/identityVerification.d.ts +98 -0
- package/typings/models/kycDocument.d.ts +114 -0
- package/typings/models/mandate.d.ts +93 -0
- package/typings/models/money.d.ts +45 -0
- package/typings/models/payIn.d.ts +3742 -0
- package/typings/models/payOut.d.ts +144 -0
- package/typings/models/recipient.d.ts +242 -0
- package/typings/models/refund.d.ts +92 -0
- package/typings/models/report.d.ts +234 -0
- package/typings/models/reportV2.d.ts +145 -0
- package/typings/models/repudiation.d.ts +26 -0
- package/typings/models/securityInfo.d.ts +12 -0
- package/typings/models/settlement.d.ts +50 -0
- package/typings/models/settlementTransfer.d.ts +37 -0
- package/typings/models/shipping.d.ts +37 -0
- package/typings/models/shippingAddress.d.ts +15 -0
- package/typings/models/transaction.d.ts +85 -0
- package/typings/models/transfer.d.ts +119 -0
- package/typings/models/uboDeclaration.d.ts +100 -0
- package/typings/models/user.d.ts +1001 -0
- package/typings/models/virtualAccount.d.ts +182 -0
- package/typings/models/wallet.d.ts +46 -0
- package/typings/models.d.ts +74 -0
- package/typings/services/BankAccounts.d.ts +12 -0
- package/typings/services/BankingAliases.d.ts +51 -0
- package/typings/services/CardPreauthorizations.d.ts +44 -0
- package/typings/services/CardRegistrations.d.ts +43 -0
- package/typings/services/Cards.d.ts +80 -0
- package/typings/services/Clients.d.ts +77 -0
- package/typings/services/Conversions.d.ts +23 -0
- package/typings/services/Deposits.d.ts +20 -0
- package/typings/services/DisputeDocuments.d.ts +27 -0
- package/typings/services/Disputes.d.ts +169 -0
- package/typings/services/Events.d.ts +11 -0
- package/typings/services/Hooks.d.ts +33 -0
- package/typings/services/Idempotency.d.ts +7 -0
- package/typings/services/IdentityVerifications.d.ts +29 -0
- package/typings/services/KycDocuments.d.ts +38 -0
- package/typings/services/Mandates.d.ts +59 -0
- package/typings/services/OptionsHelper.d.ts +11 -0
- package/typings/services/PayIns.d.ts +319 -0
- package/typings/services/PayOuts.d.ts +34 -0
- package/typings/services/Recipients.d.ts +55 -0
- package/typings/services/Refunds.d.ts +12 -0
- package/typings/services/Regulatory.d.ts +17 -0
- package/typings/services/Reports.d.ts +26 -0
- package/typings/services/ReportsV2.d.ts +26 -0
- package/typings/services/Repudiations.d.ts +12 -0
- package/typings/services/Responses.d.ts +10 -0
- package/typings/services/Settlements.d.ts +28 -0
- package/typings/services/Transfers.d.ts +38 -0
- package/typings/services/UboDeclarations.d.ts +81 -0
- package/typings/services/Users.d.ts +308 -0
- package/typings/services/VirtualAccounts.d.ts +42 -0
- package/typings/services/Wallets.d.ts +36 -0
- package/typings/tsconfig.json +20 -0
- package/typings/tslint.json +11 -0
- package/typings/types.d.ts +652 -0
package/test/helpers.js
ADDED
|
@@ -0,0 +1,1431 @@
|
|
|
1
|
+
var _ = require('underscore');
|
|
2
|
+
var Address = require('../lib/models/Address');
|
|
3
|
+
var Birthplace = require('../lib/models/Birthplace');
|
|
4
|
+
var UserNaturalCapacity = require('../lib/models/UserNaturalCapacity');
|
|
5
|
+
var UserNatural = require('../lib/models/UserNatural');
|
|
6
|
+
const api = require("./main");
|
|
7
|
+
|
|
8
|
+
module.exports = {
|
|
9
|
+
data: {
|
|
10
|
+
getUserNatural: function() {
|
|
11
|
+
return {
|
|
12
|
+
FirstName: 'John NodejsSDK',
|
|
13
|
+
LastName: 'Doe NodejsSDK',
|
|
14
|
+
Email: 'john.doe@sample.org',
|
|
15
|
+
Address: new Address({
|
|
16
|
+
"AddressLine1": "4101 Reservoir Rd NW",
|
|
17
|
+
"AddressLine2": "",
|
|
18
|
+
"City": "Washington",
|
|
19
|
+
"Region": "District of Columbia",
|
|
20
|
+
"PostalCode": "20007",
|
|
21
|
+
"Country": "US"
|
|
22
|
+
}),
|
|
23
|
+
Birthday: 188301600,
|
|
24
|
+
Nationality: 'FR',
|
|
25
|
+
CountryOfResidence: 'FR',
|
|
26
|
+
Occupation: 'programmer',
|
|
27
|
+
IncomeRange: 3,
|
|
28
|
+
PersonType: 'NATURAL',
|
|
29
|
+
TermsAndConditionsAccepted: true
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
getUserNaturalScaOwner: function() {
|
|
33
|
+
return {
|
|
34
|
+
FirstName: 'John SCA',
|
|
35
|
+
LastName: 'Doe SCA Review',
|
|
36
|
+
Email: 'john.doe.sca@sample.org',
|
|
37
|
+
Address: new Address({
|
|
38
|
+
"AddressLine1": "4101 Reservoir Rd NW",
|
|
39
|
+
"AddressLine2": "Address line 2",
|
|
40
|
+
"City": "Washington",
|
|
41
|
+
"Region": "District of Columbia",
|
|
42
|
+
"PostalCode": "20007",
|
|
43
|
+
"Country": "US"
|
|
44
|
+
}),
|
|
45
|
+
Birthday: 188301600,
|
|
46
|
+
Birthplace: 'FR',
|
|
47
|
+
Nationality: 'FR',
|
|
48
|
+
CountryOfResidence: 'FR',
|
|
49
|
+
Occupation: 'programmer',
|
|
50
|
+
IncomeRange: 3,
|
|
51
|
+
PersonType: 'NATURAL',
|
|
52
|
+
TermsAndConditionsAccepted: true,
|
|
53
|
+
UserCategory: 'OWNER',
|
|
54
|
+
PhoneNumber: '+33611111111',
|
|
55
|
+
PhoneNumberCountry: 'FR'
|
|
56
|
+
};
|
|
57
|
+
},
|
|
58
|
+
getUserNaturalScaPayer: function() {
|
|
59
|
+
return {
|
|
60
|
+
FirstName: 'John SCA',
|
|
61
|
+
LastName: 'Doe SCA Review',
|
|
62
|
+
Email: 'john.doe.sca@sample.org',
|
|
63
|
+
PersonType: 'NATURAL',
|
|
64
|
+
TermsAndConditionsAccepted: true,
|
|
65
|
+
UserCategory: 'PAYER',
|
|
66
|
+
Address: new Address({
|
|
67
|
+
"AddressLine1": "4101 Reservoir Rd NW",
|
|
68
|
+
"AddressLine2": "",
|
|
69
|
+
"City": "Washington",
|
|
70
|
+
"Region": "District of Columbia",
|
|
71
|
+
"PostalCode": "20007",
|
|
72
|
+
"Country": "US"
|
|
73
|
+
})
|
|
74
|
+
};
|
|
75
|
+
},
|
|
76
|
+
getUserNaturalPayer: function() {
|
|
77
|
+
return {
|
|
78
|
+
PersonType: 'NATURAL',
|
|
79
|
+
FirstName: 'John NodejsSDK',
|
|
80
|
+
LastName: 'Doe NodejsSDK',
|
|
81
|
+
Email: 'john.doe@sample.org',
|
|
82
|
+
Address: new Address({
|
|
83
|
+
"AddressLine1": "4101 Reservoir Rd NW",
|
|
84
|
+
"AddressLine2": "",
|
|
85
|
+
"City": "Washington",
|
|
86
|
+
"Region": "District of Columbia",
|
|
87
|
+
"PostalCode": "20007",
|
|
88
|
+
"Country": "US"
|
|
89
|
+
}),
|
|
90
|
+
TermsAndConditionsAccepted: true,
|
|
91
|
+
UserCategory: 'PAYER'
|
|
92
|
+
};
|
|
93
|
+
},
|
|
94
|
+
getUserNaturalOwner: function() {
|
|
95
|
+
return {
|
|
96
|
+
PersonType: 'NATURAL',
|
|
97
|
+
FirstName: 'John NodejsSDK',
|
|
98
|
+
LastName: 'Doe NodejsSDK',
|
|
99
|
+
Email: 'john.doe@sample.org',
|
|
100
|
+
Address: new Address({
|
|
101
|
+
"AddressLine1": "4101 Reservoir Rd NW",
|
|
102
|
+
"AddressLine2": "",
|
|
103
|
+
"City": "Washington",
|
|
104
|
+
"Region": "District of Columbia",
|
|
105
|
+
"PostalCode": "20007",
|
|
106
|
+
"Country": "US"
|
|
107
|
+
}),
|
|
108
|
+
Birthday: 188301600,
|
|
109
|
+
Nationality: 'FR',
|
|
110
|
+
CountryOfResidence: 'FR',
|
|
111
|
+
Occupation: 'programmer',
|
|
112
|
+
IncomeRange: 3,
|
|
113
|
+
TermsAndConditionsAccepted: true,
|
|
114
|
+
UserCategory: 'OWNER',
|
|
115
|
+
};
|
|
116
|
+
},
|
|
117
|
+
getDeclarativeUserNatural: function() {
|
|
118
|
+
var user = this.getUserNatural();
|
|
119
|
+
user.Capacity = UserNaturalCapacity.Declarative;
|
|
120
|
+
return user;
|
|
121
|
+
},
|
|
122
|
+
getUbo: function () {
|
|
123
|
+
return {
|
|
124
|
+
FirstName: 'John NodejsSDK',
|
|
125
|
+
LastName: 'Doe NodejsSDK',
|
|
126
|
+
Address: new Address({
|
|
127
|
+
"AddressLine1": "4101 Reservoir Rd NW",
|
|
128
|
+
"AddressLine2": "",
|
|
129
|
+
"City": "Washington",
|
|
130
|
+
"Region": "District of Columbia",
|
|
131
|
+
"PostalCode": "20007",
|
|
132
|
+
"Country": "US"
|
|
133
|
+
}),
|
|
134
|
+
Nationality: 'FR',
|
|
135
|
+
Birthday: 188301600,
|
|
136
|
+
Birthplace: {
|
|
137
|
+
"City": "Paris",
|
|
138
|
+
"Country": "FR"
|
|
139
|
+
},
|
|
140
|
+
TermsAndConditionsAccepted: true
|
|
141
|
+
};
|
|
142
|
+
},
|
|
143
|
+
getUserLegal: function(){
|
|
144
|
+
return {
|
|
145
|
+
Name: 'MartixSampleOrg_NodejsSDK',
|
|
146
|
+
Email: 'mail@test.com',
|
|
147
|
+
LegalPersonType: 'BUSINESS',
|
|
148
|
+
HeadquartersAddress: {
|
|
149
|
+
"AddressLine1": "4101 Reservoir Rd NW",
|
|
150
|
+
"AddressLine2": "",
|
|
151
|
+
"City": "Washington",
|
|
152
|
+
"Region": "District of Columbia",
|
|
153
|
+
"PostalCode": "20007",
|
|
154
|
+
"Country": "US"
|
|
155
|
+
},
|
|
156
|
+
LegalRepresentativeFirstName: 'John NodejsSDK',
|
|
157
|
+
LegalRepresentativeLastName: 'Doe NodejsSDK',
|
|
158
|
+
LegalRepresentativeEmail: 'john.doe@sample.org',
|
|
159
|
+
LegalRepresentativeAddress: {
|
|
160
|
+
"AddressLine1": "4101 Reservoir Rd NW",
|
|
161
|
+
"AddressLine2": "",
|
|
162
|
+
"City": "Washington",
|
|
163
|
+
"Region": "District of Columbia",
|
|
164
|
+
"PostalCode": "20007",
|
|
165
|
+
"Country": "US"
|
|
166
|
+
},
|
|
167
|
+
LegalRepresentativeBirthday: 188301600,
|
|
168
|
+
LegalRepresentativeNationality: 'FR',
|
|
169
|
+
LegalRepresentativeCountryOfResidence: 'FR',
|
|
170
|
+
CompanyNumber: "123456789",
|
|
171
|
+
TermsAndConditionsAccepted: true
|
|
172
|
+
};
|
|
173
|
+
},
|
|
174
|
+
getUserLegalPayer: function(){
|
|
175
|
+
return {
|
|
176
|
+
PersonType: 'LEGAL',
|
|
177
|
+
Name: 'MartixSampleOrg_NodejsSDK',
|
|
178
|
+
Email: 'mail@test.com',
|
|
179
|
+
LegalPersonType: 'BUSINESS',
|
|
180
|
+
LegalRepresentativeFirstName: 'John NodejsSDK',
|
|
181
|
+
LegalRepresentativeLastName: 'Doe NodejsSDK',
|
|
182
|
+
LegalRepresentativeAddress: {
|
|
183
|
+
"AddressLine1": "4101 Reservoir Rd NW",
|
|
184
|
+
"AddressLine2": "",
|
|
185
|
+
"City": "Washington",
|
|
186
|
+
"Region": "District of Columbia",
|
|
187
|
+
"PostalCode": "20007",
|
|
188
|
+
"Country": "US"
|
|
189
|
+
},
|
|
190
|
+
TermsAndConditionsAccepted: true,
|
|
191
|
+
UserCategory: 'PAYER'
|
|
192
|
+
};
|
|
193
|
+
},
|
|
194
|
+
getUserLegalOwner: function(){
|
|
195
|
+
return {
|
|
196
|
+
PersonType: 'LEGAL',
|
|
197
|
+
Name: 'MartixSampleOrg_NodejsSDK',
|
|
198
|
+
Email: 'mail@test.com',
|
|
199
|
+
LegalPersonType: 'BUSINESS',
|
|
200
|
+
HeadquartersAddress: {
|
|
201
|
+
"AddressLine1": "4101 Reservoir Rd NW",
|
|
202
|
+
"AddressLine2": "",
|
|
203
|
+
"City": "Washington",
|
|
204
|
+
"Region": "District of Columbia",
|
|
205
|
+
"PostalCode": "20007",
|
|
206
|
+
"Country": "US"
|
|
207
|
+
},
|
|
208
|
+
LegalRepresentativeFirstName: 'John NodejsSDK',
|
|
209
|
+
LegalRepresentativeLastName: 'Doe NodejsSDK',
|
|
210
|
+
LegalRepresentativeEmail: 'john.doe@sample.org',
|
|
211
|
+
LegalRepresentativeAddress: {
|
|
212
|
+
"AddressLine1": "4101 Reservoir Rd NW",
|
|
213
|
+
"AddressLine2": "",
|
|
214
|
+
"City": "Washington",
|
|
215
|
+
"Region": "District of Columbia",
|
|
216
|
+
"PostalCode": "20007",
|
|
217
|
+
"Country": "US"
|
|
218
|
+
},
|
|
219
|
+
LegalRepresentativeBirthday: 188301600,
|
|
220
|
+
LegalRepresentativeNationality: 'FR',
|
|
221
|
+
LegalRepresentativeCountryOfResidence: 'FR',
|
|
222
|
+
CompanyNumber: "123456789",
|
|
223
|
+
TermsAndConditionsAccepted: true,
|
|
224
|
+
UserCategory: 'OWNER'
|
|
225
|
+
};
|
|
226
|
+
},
|
|
227
|
+
getUserLegalScaOwner: function(){
|
|
228
|
+
return {
|
|
229
|
+
PersonType: 'LEGAL',
|
|
230
|
+
Name: 'MartixSampleOrg',
|
|
231
|
+
Email: 'mail@test.com',
|
|
232
|
+
LegalPersonType: 'BUSINESS',
|
|
233
|
+
HeadquartersAddress: {
|
|
234
|
+
"AddressLine1": "4101 Reservoir Rd NW",
|
|
235
|
+
"AddressLine2": "address line 2",
|
|
236
|
+
"City": "Washington",
|
|
237
|
+
"Region": "District of Columbia",
|
|
238
|
+
"PostalCode": "20007",
|
|
239
|
+
"Country": "US"
|
|
240
|
+
},
|
|
241
|
+
LegalRepresentativeAddress: {
|
|
242
|
+
"AddressLine1": "4101 Reservoir Rd NW",
|
|
243
|
+
"AddressLine2": "address line 2",
|
|
244
|
+
"City": "Washington",
|
|
245
|
+
"Region": "District of Columbia",
|
|
246
|
+
"PostalCode": "20007",
|
|
247
|
+
"Country": "US"
|
|
248
|
+
},
|
|
249
|
+
LegalRepresentative: {
|
|
250
|
+
FirstName: 'John NodejsSDK',
|
|
251
|
+
LastName: 'Doe NodejsSDK',
|
|
252
|
+
Email: 'john.doe@sample.org',
|
|
253
|
+
Birthday: 188301600,
|
|
254
|
+
Nationality: 'FR',
|
|
255
|
+
CountryOfResidence: 'FR',
|
|
256
|
+
PhoneNumber: '+33611111111',
|
|
257
|
+
PhoneNumberCountry: 'FR'
|
|
258
|
+
},
|
|
259
|
+
CompanyNumber: "123456789",
|
|
260
|
+
TermsAndConditionsAccepted: true,
|
|
261
|
+
UserCategory: 'OWNER'
|
|
262
|
+
};
|
|
263
|
+
},
|
|
264
|
+
getUserLegalScaPayer: function(){
|
|
265
|
+
return {
|
|
266
|
+
PersonType: 'LEGAL',
|
|
267
|
+
Name: 'MartixSampleOrg',
|
|
268
|
+
Email: 'mail@test.com',
|
|
269
|
+
LegalPersonType: 'BUSINESS',
|
|
270
|
+
LegalRepresentative: {
|
|
271
|
+
FirstName: 'John Sca',
|
|
272
|
+
LastName: 'Doe SCA Review',
|
|
273
|
+
Email: 'john.doe.sca@sample.org',
|
|
274
|
+
Birthday: 188301600,
|
|
275
|
+
Nationality: 'FR',
|
|
276
|
+
CountryOfResidence: 'FR',
|
|
277
|
+
PhoneNumber: '+33611111111',
|
|
278
|
+
PhoneNumberCountry: 'FR'
|
|
279
|
+
},
|
|
280
|
+
LegalRepresentativeAddress: {
|
|
281
|
+
"AddressLine1": "4101 Reservoir Rd NW",
|
|
282
|
+
"AddressLine2": "address line 2",
|
|
283
|
+
"City": "Washington",
|
|
284
|
+
"Region": "District of Columbia",
|
|
285
|
+
"PostalCode": "20007",
|
|
286
|
+
"Country": "US"
|
|
287
|
+
},
|
|
288
|
+
TermsAndConditionsAccepted: true,
|
|
289
|
+
UserCategory: 'PAYER'
|
|
290
|
+
};
|
|
291
|
+
},
|
|
292
|
+
KYCPageFileString: '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'
|
|
293
|
+
},
|
|
294
|
+
|
|
295
|
+
getUserCardPreAuthorization: function(api, user, callback) {
|
|
296
|
+
var preAuthorization;
|
|
297
|
+
|
|
298
|
+
var cardRegistration = {
|
|
299
|
+
UserId: user.Id,
|
|
300
|
+
Currency: 'EUR'
|
|
301
|
+
};
|
|
302
|
+
|
|
303
|
+
api.CardRegistrations.create(cardRegistration).then(function() {
|
|
304
|
+
/*
|
|
305
|
+
****** DO NOT use this code in a production environment - it is just for unit tests. In production you are not allowed to have the user's card details pass via your server (which is what is required to use this code here) *******
|
|
306
|
+
*/
|
|
307
|
+
var options = {
|
|
308
|
+
data: {
|
|
309
|
+
data: cardRegistration.PreregistrationData,
|
|
310
|
+
accessKeyRef: cardRegistration.AccessKey,
|
|
311
|
+
cardNumber: '4970107111111119',
|
|
312
|
+
cardExpirationDate: '1229',
|
|
313
|
+
cardCvx: '123'
|
|
314
|
+
},
|
|
315
|
+
url: cardRegistration.CardRegistrationURL,
|
|
316
|
+
headers: {
|
|
317
|
+
'Content-Type': 'application/x-www-form-urlencoded'
|
|
318
|
+
}
|
|
319
|
+
};
|
|
320
|
+
|
|
321
|
+
return api.method('post', function (data, response) {
|
|
322
|
+
cardRegistration.RegistrationData = Buffer.from(data).toString();
|
|
323
|
+
api.CardRegistrations.update(cardRegistration).then(function(data){
|
|
324
|
+
preAuthorization = {
|
|
325
|
+
AuthorId: user.Id,
|
|
326
|
+
DebitedFunds: {
|
|
327
|
+
Currency: 'EUR',
|
|
328
|
+
Amount: 1000
|
|
329
|
+
},
|
|
330
|
+
CardId: cardRegistration.CardId,
|
|
331
|
+
SecureModeReturnURL: 'http://test.com',
|
|
332
|
+
Billing: {
|
|
333
|
+
FirstName: "John",
|
|
334
|
+
LastName: "Doe",
|
|
335
|
+
Address: {
|
|
336
|
+
"AddressLine1": "4101 Reservoir Rd NW",
|
|
337
|
+
"AddressLine2": "",
|
|
338
|
+
"City": "Washington",
|
|
339
|
+
"Region": "District of Columbia",
|
|
340
|
+
"PostalCode": "80400",
|
|
341
|
+
"Country": "US"
|
|
342
|
+
}
|
|
343
|
+
},
|
|
344
|
+
BrowserInfo: {
|
|
345
|
+
AcceptHeader: "text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8",
|
|
346
|
+
JavaEnabled: true,
|
|
347
|
+
Language: "FR-FR",
|
|
348
|
+
ColorDepth: 4,
|
|
349
|
+
ScreenHeight: 1800,
|
|
350
|
+
ScreenWidth: 400,
|
|
351
|
+
JavascriptEnabled: true,
|
|
352
|
+
TimeZoneOffset: "+60",
|
|
353
|
+
UserAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
|
|
354
|
+
},
|
|
355
|
+
IpAddress: "2001:0620:0000:0000:0211:24FF:FE80:C12C",
|
|
356
|
+
};
|
|
357
|
+
|
|
358
|
+
api.CardPreAuthorizations.create(preAuthorization, function(data, response){
|
|
359
|
+
if (_.isFunction(callback)) {
|
|
360
|
+
callback(preAuthorization, response);
|
|
361
|
+
}
|
|
362
|
+
});
|
|
363
|
+
});
|
|
364
|
+
}, options);
|
|
365
|
+
});
|
|
366
|
+
},
|
|
367
|
+
|
|
368
|
+
getNewPayInCardDirect: function(api, user, callback) {
|
|
369
|
+
var self = this;
|
|
370
|
+
var wallet = {
|
|
371
|
+
Owners: [user.Id],
|
|
372
|
+
Currency: 'EUR',
|
|
373
|
+
Description: 'WALLET IN EUR'
|
|
374
|
+
};
|
|
375
|
+
|
|
376
|
+
api.Wallets.create(wallet).then(function(){
|
|
377
|
+
self.getUserCardPreAuthorization(api, user, function(preauthorization, response){
|
|
378
|
+
var payIn = {
|
|
379
|
+
CreditedWalletId: wallet.Id,
|
|
380
|
+
AuthorId: user.Id,
|
|
381
|
+
DebitedFunds: {
|
|
382
|
+
Amount: 1000,
|
|
383
|
+
Currency: 'EUR'
|
|
384
|
+
},
|
|
385
|
+
Fees: {
|
|
386
|
+
Amount: 0,
|
|
387
|
+
Currency: 'EUR'
|
|
388
|
+
},
|
|
389
|
+
CardId: preauthorization.CardId,
|
|
390
|
+
SecureModeReturnURL: 'http://test.com',
|
|
391
|
+
PaymentType: 'CARD',
|
|
392
|
+
ExecutionType: 'DIRECT',
|
|
393
|
+
Billing: {
|
|
394
|
+
FirstName: "John",
|
|
395
|
+
LastName: "Doe",
|
|
396
|
+
Address: {
|
|
397
|
+
"AddressLine1": "4101 Reservoir Rd NW",
|
|
398
|
+
"AddressLine2": "",
|
|
399
|
+
"City": "Washington",
|
|
400
|
+
"Region": "District of Columbia",
|
|
401
|
+
"PostalCode": "68400",
|
|
402
|
+
"Country": "US"
|
|
403
|
+
}
|
|
404
|
+
},
|
|
405
|
+
BrowserInfo: {
|
|
406
|
+
AcceptHeader: "text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8",
|
|
407
|
+
JavaEnabled: true,
|
|
408
|
+
Language: "FR-FR",
|
|
409
|
+
ColorDepth: 4,
|
|
410
|
+
ScreenHeight: 1800,
|
|
411
|
+
ScreenWidth: 400,
|
|
412
|
+
JavascriptEnabled: true,
|
|
413
|
+
TimeZoneOffset: "+60",
|
|
414
|
+
UserAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
|
|
415
|
+
},
|
|
416
|
+
IpAddress: "2001:0620:0000:0000:0211:24FF:FE80:C12C",
|
|
417
|
+
};
|
|
418
|
+
api.PayIns.create(payIn, callback)
|
|
419
|
+
});
|
|
420
|
+
});
|
|
421
|
+
},
|
|
422
|
+
|
|
423
|
+
getNewPayInMbwayWeb: function(api, user, callback) {
|
|
424
|
+
var wallet = {
|
|
425
|
+
Owners: [user.Id],
|
|
426
|
+
Currency: 'EUR',
|
|
427
|
+
Description: 'WALLET IN EUR'
|
|
428
|
+
};
|
|
429
|
+
|
|
430
|
+
api.Wallets.create(wallet).then(function(){
|
|
431
|
+
var payIn = {
|
|
432
|
+
CreditedWalletId: wallet.Id,
|
|
433
|
+
AuthorId: user.Id,
|
|
434
|
+
DebitedFunds: {
|
|
435
|
+
Amount: 500,
|
|
436
|
+
Currency: 'EUR'
|
|
437
|
+
},
|
|
438
|
+
Fees: {
|
|
439
|
+
Amount: 0,
|
|
440
|
+
Currency: 'EUR'
|
|
441
|
+
},
|
|
442
|
+
PaymentType: 'MBWAY',
|
|
443
|
+
ExecutionType: 'WEB',
|
|
444
|
+
StatementDescriptor: "test",
|
|
445
|
+
Phone: "351#269458236",
|
|
446
|
+
Tag: "test tag"
|
|
447
|
+
};
|
|
448
|
+
api.PayIns.create(payIn, callback);
|
|
449
|
+
});
|
|
450
|
+
},
|
|
451
|
+
|
|
452
|
+
getNewPayInBancontactWeb: function(api, user, callback) {
|
|
453
|
+
var wallet = {
|
|
454
|
+
Owners: [user.Id],
|
|
455
|
+
Currency: 'EUR',
|
|
456
|
+
Description: 'WALLET IN EUR'
|
|
457
|
+
};
|
|
458
|
+
|
|
459
|
+
api.Wallets.create(wallet).then(function(){
|
|
460
|
+
var payIn = {
|
|
461
|
+
AuthorId: user.Id,
|
|
462
|
+
CreditedWalletId: wallet.Id,
|
|
463
|
+
DebitedFunds: {
|
|
464
|
+
Amount: 500,
|
|
465
|
+
Currency: 'EUR'
|
|
466
|
+
},
|
|
467
|
+
Fees: {
|
|
468
|
+
Amount: 0,
|
|
469
|
+
Currency: 'EUR'
|
|
470
|
+
},
|
|
471
|
+
ReturnURL: "http://mangopay.com",
|
|
472
|
+
PaymentType: 'BCMC',
|
|
473
|
+
ExecutionType: 'WEB',
|
|
474
|
+
Culture: 'FR',
|
|
475
|
+
StatementDescriptor: "test",
|
|
476
|
+
Recurring: true,
|
|
477
|
+
Tag: "test tag"
|
|
478
|
+
};
|
|
479
|
+
api.PayIns.create(payIn, callback);
|
|
480
|
+
});
|
|
481
|
+
},
|
|
482
|
+
|
|
483
|
+
getNewPayInBizumWebWithReturnUrl: function(api, user, callback) {
|
|
484
|
+
var wallet = {
|
|
485
|
+
Owners: [user.Id],
|
|
486
|
+
Currency: 'EUR',
|
|
487
|
+
Description: 'WALLET IN EUR'
|
|
488
|
+
};
|
|
489
|
+
|
|
490
|
+
api.Wallets.create(wallet).then(function(){
|
|
491
|
+
var payInWithReturnUrl = {
|
|
492
|
+
AuthorId: user.Id,
|
|
493
|
+
CreditedWalletId: wallet.Id,
|
|
494
|
+
DebitedFunds: {
|
|
495
|
+
Amount: 500,
|
|
496
|
+
Currency: 'EUR'
|
|
497
|
+
},
|
|
498
|
+
Fees: {
|
|
499
|
+
Amount: 0,
|
|
500
|
+
Currency: 'EUR'
|
|
501
|
+
},
|
|
502
|
+
ReturnURL: "http://mangopay.com",
|
|
503
|
+
PaymentType: 'BIZUM',
|
|
504
|
+
ExecutionType: 'WEB',
|
|
505
|
+
StatementDescriptor: "Example123",
|
|
506
|
+
Tag: "test bizum tag"
|
|
507
|
+
};
|
|
508
|
+
api.PayIns.create(payInWithReturnUrl, callback);
|
|
509
|
+
});
|
|
510
|
+
},
|
|
511
|
+
|
|
512
|
+
getNewPayInBizumWebWithPhone: function(api, user, callback) {
|
|
513
|
+
var wallet = {
|
|
514
|
+
Owners: [user.Id],
|
|
515
|
+
Currency: 'EUR',
|
|
516
|
+
Description: 'WALLET IN EUR'
|
|
517
|
+
};
|
|
518
|
+
|
|
519
|
+
api.Wallets.create(wallet).then(function(){
|
|
520
|
+
var payInWithPhone = {
|
|
521
|
+
AuthorId: user.Id,
|
|
522
|
+
CreditedWalletId: wallet.Id,
|
|
523
|
+
DebitedFunds: {
|
|
524
|
+
Amount: 500,
|
|
525
|
+
Currency: 'EUR'
|
|
526
|
+
},
|
|
527
|
+
Fees: {
|
|
528
|
+
Amount: 0,
|
|
529
|
+
Currency: 'EUR'
|
|
530
|
+
},
|
|
531
|
+
Phone: "+34700000000",
|
|
532
|
+
PaymentType: 'BIZUM',
|
|
533
|
+
ExecutionType: 'WEB',
|
|
534
|
+
StatementDescriptor: "Example123",
|
|
535
|
+
Tag: "test bizum tag"
|
|
536
|
+
};
|
|
537
|
+
api.PayIns.create(payInWithPhone, callback);
|
|
538
|
+
});
|
|
539
|
+
},
|
|
540
|
+
|
|
541
|
+
getNewPayInPayPalWeb: function(api, user, callback) {
|
|
542
|
+
var wallet = {
|
|
543
|
+
Owners: [user.Id],
|
|
544
|
+
Currency: 'EUR',
|
|
545
|
+
Description: 'WALLET IN EUR'
|
|
546
|
+
};
|
|
547
|
+
|
|
548
|
+
api.Wallets.create(wallet).then(function(){
|
|
549
|
+
var payIn = {
|
|
550
|
+
AuthorId: user.Id,
|
|
551
|
+
DebitedFunds: {
|
|
552
|
+
Amount: 1000,
|
|
553
|
+
Currency: 'EUR'
|
|
554
|
+
},
|
|
555
|
+
Fees: {
|
|
556
|
+
Amount: 0,
|
|
557
|
+
Currency: 'EUR'
|
|
558
|
+
},
|
|
559
|
+
CreditedWalletId: wallet.Id,
|
|
560
|
+
PaymentType: 'PAYPAL',
|
|
561
|
+
ExecutionType: 'WEB',
|
|
562
|
+
ReturnURL: 'http://example.com',
|
|
563
|
+
Shipping: {
|
|
564
|
+
FirstName: user.FirstName,
|
|
565
|
+
LastName: user.LastName,
|
|
566
|
+
Address: {
|
|
567
|
+
"AddressLine1": "4101 Reservoir Rd NW",
|
|
568
|
+
"AddressLine2": "",
|
|
569
|
+
"City": "Washington",
|
|
570
|
+
"Region": "District of Columbia",
|
|
571
|
+
"PostalCode": "20007",
|
|
572
|
+
"Country": "US"
|
|
573
|
+
}
|
|
574
|
+
},
|
|
575
|
+
LineItems: [
|
|
576
|
+
{
|
|
577
|
+
Name: "running shoes",
|
|
578
|
+
Quantity: 1,
|
|
579
|
+
UnitAmount: 500,
|
|
580
|
+
TaxAmount: 0,
|
|
581
|
+
Description: "seller1 ID"
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
Name: "running shoes",
|
|
585
|
+
Quantity: 1,
|
|
586
|
+
UnitAmount: 500,
|
|
587
|
+
TaxAmount: 0,
|
|
588
|
+
Description: "seller2 ID"
|
|
589
|
+
}
|
|
590
|
+
],
|
|
591
|
+
ShippingPreference: "NO_SHIPPING",
|
|
592
|
+
Reference: "Reference",
|
|
593
|
+
Tag: "tag",
|
|
594
|
+
StatementDescriptor: "test"
|
|
595
|
+
};
|
|
596
|
+
|
|
597
|
+
api.PayIns.createPayPal(payIn, callback);
|
|
598
|
+
});
|
|
599
|
+
},
|
|
600
|
+
|
|
601
|
+
getNewPayoutBankWire: function(api, user, callback) {
|
|
602
|
+
var self = this;
|
|
603
|
+
|
|
604
|
+
var wallet = {
|
|
605
|
+
Owners: [user.Id],
|
|
606
|
+
Currency: 'EUR',
|
|
607
|
+
Description: 'WALLET IN EUR'
|
|
608
|
+
};
|
|
609
|
+
|
|
610
|
+
var account = {
|
|
611
|
+
OwnerName: user.FirstName + ' ' + user.LastName,
|
|
612
|
+
OwnerAddress: user.Address,
|
|
613
|
+
Type: 'IBAN',
|
|
614
|
+
IBAN: 'FR7630004000031234567890143',
|
|
615
|
+
BIC: 'BNPAFRPP'
|
|
616
|
+
};
|
|
617
|
+
|
|
618
|
+
api.Wallets.create(wallet).then(function(data){
|
|
619
|
+
api.Users.createBankAccount(user.Id, account).then(function(data){
|
|
620
|
+
var payOut = {
|
|
621
|
+
DebitedWalletId: wallet.Id,
|
|
622
|
+
AuthorId: user.Id,
|
|
623
|
+
CreditedUserId: user.Id,
|
|
624
|
+
Tag: 'DefaultTag',
|
|
625
|
+
DebitedFunds: {
|
|
626
|
+
Amount: 10,
|
|
627
|
+
Currency: 'EUR'
|
|
628
|
+
},
|
|
629
|
+
Fees: {
|
|
630
|
+
Amount: 5,
|
|
631
|
+
Currency: 'EUR'
|
|
632
|
+
},
|
|
633
|
+
BankAccountId: data.Id,
|
|
634
|
+
BankWireRef: 'User payment',
|
|
635
|
+
PaymentType: 'BANK_WIRE',
|
|
636
|
+
PayoutModeRequested: 'STANDARD'
|
|
637
|
+
};
|
|
638
|
+
api.PayOuts.create(payOut, callback);
|
|
639
|
+
});
|
|
640
|
+
});
|
|
641
|
+
},
|
|
642
|
+
|
|
643
|
+
getNewPayInCardWeb: function(api, user, callback) {
|
|
644
|
+
var wallet = {
|
|
645
|
+
Owners: [user.Id],
|
|
646
|
+
Currency: 'EUR',
|
|
647
|
+
Description: 'WALLET IN EUR'
|
|
648
|
+
};
|
|
649
|
+
|
|
650
|
+
api.Wallets.create(wallet).then(function(){
|
|
651
|
+
var payIn = new api.models.PayIn({
|
|
652
|
+
CreditedWalletId: wallet.Id,
|
|
653
|
+
AuthorId: user.Id,
|
|
654
|
+
DebitedFunds: new api.models.Money({
|
|
655
|
+
Amount: 1000,
|
|
656
|
+
Currency: 'EUR'
|
|
657
|
+
}),
|
|
658
|
+
Fees: new api.models.Money({
|
|
659
|
+
Amount: 0,
|
|
660
|
+
Currency: 'EUR'
|
|
661
|
+
}),
|
|
662
|
+
PaymentType: 'CARD',
|
|
663
|
+
PaymentDetails: new api.models.PayInPaymentDetailsCard({
|
|
664
|
+
CardType: 'CB_VISA_MASTERCARD'
|
|
665
|
+
}),
|
|
666
|
+
ExecutionType: 'WEB',
|
|
667
|
+
ExecutionDetails: new api.models.PayInPaymentDetailsCard({
|
|
668
|
+
ReturnURL: 'https://test.com',
|
|
669
|
+
TemplateURL: 'https://TemplateURL.com',
|
|
670
|
+
SecureMode: 'DEFAULT',
|
|
671
|
+
Culture: 'fr'
|
|
672
|
+
})
|
|
673
|
+
});
|
|
674
|
+
api.PayIns.create(payIn, callback)
|
|
675
|
+
});
|
|
676
|
+
},
|
|
677
|
+
|
|
678
|
+
getNewRefundForPayIn: function(api, user, payIn, callback) {
|
|
679
|
+
var refund = {
|
|
680
|
+
CreditedWalletId: payIn.CreditedWalletId,
|
|
681
|
+
AuthorId: user.Id,
|
|
682
|
+
DebitedFunds: payIn.DebitedFunds,
|
|
683
|
+
Fees: payIn.Fees
|
|
684
|
+
};
|
|
685
|
+
|
|
686
|
+
api.PayIns.createRefund(payIn.Id, refund, callback);
|
|
687
|
+
},
|
|
688
|
+
|
|
689
|
+
getPartialRefundForPayIn: function(api, user, payIn, callback) {
|
|
690
|
+
var refund = {
|
|
691
|
+
AuthorId: user.Id,
|
|
692
|
+
DebitedFunds: new api.models.Money({
|
|
693
|
+
Amount: 100,
|
|
694
|
+
Currency: payIn.DebitedFunds.Currency
|
|
695
|
+
}),
|
|
696
|
+
Fees: new api.models.Money({
|
|
697
|
+
Amount: 10,
|
|
698
|
+
Currency: payIn.Fees.Currency
|
|
699
|
+
}),
|
|
700
|
+
};
|
|
701
|
+
|
|
702
|
+
api.PayIns.createRefund(payIn.Id, refund, callback);
|
|
703
|
+
},
|
|
704
|
+
|
|
705
|
+
getPaylineCorrectRegistartionData: function(cardRegistration, callback) {
|
|
706
|
+
/*
|
|
707
|
+
****** DO NOT use this code in a production environment - it is just for unit tests. In production you are not allowed to have the user's card details pass via your server (which is what is required to use this code here) *******
|
|
708
|
+
*/
|
|
709
|
+
var options = {
|
|
710
|
+
data: {
|
|
711
|
+
data: cardRegistration.PreregistrationData,
|
|
712
|
+
accessKeyRef: cardRegistration.AccessKey,
|
|
713
|
+
cardNumber: '4970107111111119',
|
|
714
|
+
cardExpirationDate: '1229',
|
|
715
|
+
cardCvx: '123'
|
|
716
|
+
},
|
|
717
|
+
url: cardRegistration.CardRegistrationURL,
|
|
718
|
+
headers: {
|
|
719
|
+
'Content-Type': 'application/x-www-form-urlencoded'
|
|
720
|
+
}
|
|
721
|
+
};
|
|
722
|
+
|
|
723
|
+
return api.method('post', function (data, response) {
|
|
724
|
+
callback(Buffer.from(data).toString(), response);
|
|
725
|
+
}, options);
|
|
726
|
+
},
|
|
727
|
+
|
|
728
|
+
getNewPayInCardWebWithIdempotencyKey: function(api, user, idempotencyKey, callback) {
|
|
729
|
+
var options = api.OptionsHelper.withIdempotency({}, idempotencyKey);
|
|
730
|
+
var wallet = {
|
|
731
|
+
Owners: [user.Id],
|
|
732
|
+
Currency: 'EUR',
|
|
733
|
+
Description: 'WALLET IN EUR'
|
|
734
|
+
};
|
|
735
|
+
|
|
736
|
+
api.Wallets.create(wallet).then(function(){
|
|
737
|
+
var payIn = new api.models.PayIn({
|
|
738
|
+
CreditedWalletId: wallet.Id,
|
|
739
|
+
AuthorId: user.Id,
|
|
740
|
+
DebitedFunds: new api.models.Money({
|
|
741
|
+
Amount: 1000,
|
|
742
|
+
Currency: 'EUR'
|
|
743
|
+
}),
|
|
744
|
+
Fees: new api.models.Money({
|
|
745
|
+
Amount: 0,
|
|
746
|
+
Currency: 'EUR'
|
|
747
|
+
}),
|
|
748
|
+
PaymentType: 'CARD',
|
|
749
|
+
PaymentDetails: new api.models.PayInPaymentDetailsCard({
|
|
750
|
+
CardType: 'CB_VISA_MASTERCARD'
|
|
751
|
+
}),
|
|
752
|
+
ExecutionType: 'WEB',
|
|
753
|
+
ExecutionDetails: new api.models.PayInPaymentDetailsCard({
|
|
754
|
+
ReturnURL: 'https://test.com',
|
|
755
|
+
TemplateURL: 'https://TemplateURL.com',
|
|
756
|
+
SecureMode: 'DEFAULT',
|
|
757
|
+
Culture: 'fr'
|
|
758
|
+
})
|
|
759
|
+
});
|
|
760
|
+
api.PayIns.create(payIn, callback, options);
|
|
761
|
+
});
|
|
762
|
+
},
|
|
763
|
+
|
|
764
|
+
generateRandomString: function () {
|
|
765
|
+
return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
|
|
766
|
+
},
|
|
767
|
+
|
|
768
|
+
getNewDeposit: function(cardId, authorId) {
|
|
769
|
+
return {
|
|
770
|
+
AuthorId: authorId,
|
|
771
|
+
CardId: cardId,
|
|
772
|
+
DebitedFunds: {
|
|
773
|
+
Amount: 1000,
|
|
774
|
+
Currency: 'EUR'
|
|
775
|
+
},
|
|
776
|
+
SecureModeReturnURL: 'http://mangopay-sandbox-test.com',
|
|
777
|
+
StatementDescriptor: 'lorem',
|
|
778
|
+
Culture: 'FR',
|
|
779
|
+
IpAddress: '2001:0620:0000:0000:0211:24FF:FE80:C12C',
|
|
780
|
+
BrowserInfo: {
|
|
781
|
+
AcceptHeader: "text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8",
|
|
782
|
+
JavaEnabled: true,
|
|
783
|
+
Language: "FR-FR",
|
|
784
|
+
ColorDepth: 4,
|
|
785
|
+
ScreenHeight: 1800,
|
|
786
|
+
ScreenWidth: 400,
|
|
787
|
+
JavascriptEnabled: true,
|
|
788
|
+
TimeZoneOffset: "+60",
|
|
789
|
+
UserAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
|
|
790
|
+
},
|
|
791
|
+
Address: {
|
|
792
|
+
AddressLine1: 'Main Street no 5',
|
|
793
|
+
City: 'Paris',
|
|
794
|
+
Country: 'FR',
|
|
795
|
+
PostalCode: '68400',
|
|
796
|
+
Region: 'Europe'
|
|
797
|
+
},
|
|
798
|
+
Billing: {
|
|
799
|
+
FirstName: "John",
|
|
800
|
+
LastName: "Doe",
|
|
801
|
+
Address: {
|
|
802
|
+
"AddressLine1": "4101 Reservoir Rd NW",
|
|
803
|
+
"AddressLine2": "",
|
|
804
|
+
"City": "Washington",
|
|
805
|
+
"Region": "District of Columbia",
|
|
806
|
+
"PostalCode": "80400",
|
|
807
|
+
"Country": "US"
|
|
808
|
+
}
|
|
809
|
+
},
|
|
810
|
+
Shipping: {
|
|
811
|
+
FirstName: 'Joe',
|
|
812
|
+
LastName: 'Blogs',
|
|
813
|
+
Address: {
|
|
814
|
+
AddressLine1: '1 MangoPay Street',
|
|
815
|
+
AddressLine2: 'The Loop',
|
|
816
|
+
City: 'Paris',
|
|
817
|
+
Region: 'Ile de France',
|
|
818
|
+
PostalCode: '75001',
|
|
819
|
+
Country: 'FR'
|
|
820
|
+
}
|
|
821
|
+
}
|
|
822
|
+
};
|
|
823
|
+
},
|
|
824
|
+
|
|
825
|
+
createNewDeposit: function(callback) {
|
|
826
|
+
var self = this;
|
|
827
|
+
var john = new UserNatural(this.data.getUserNatural());
|
|
828
|
+
|
|
829
|
+
api.Users.create(john).then(function (data, response) {
|
|
830
|
+
john = data;
|
|
831
|
+
|
|
832
|
+
var cardRegistration = {
|
|
833
|
+
UserId: john.Id,
|
|
834
|
+
Currency: 'EUR'
|
|
835
|
+
};
|
|
836
|
+
|
|
837
|
+
api.CardRegistrations.create(cardRegistration, function () {
|
|
838
|
+
self.getPaylineCorrectRegistartionData(cardRegistration, function (data, response) {
|
|
839
|
+
cardRegistration.RegistrationData = data;
|
|
840
|
+
|
|
841
|
+
api.CardRegistrations.update(cardRegistration).then(function (data) {
|
|
842
|
+
cardRegistration = data;
|
|
843
|
+
|
|
844
|
+
var newDeposit = self.getNewDeposit(cardRegistration.CardId, john.Id);
|
|
845
|
+
|
|
846
|
+
api.Deposits.create(newDeposit, callback);
|
|
847
|
+
});
|
|
848
|
+
});
|
|
849
|
+
});
|
|
850
|
+
});
|
|
851
|
+
},
|
|
852
|
+
|
|
853
|
+
createNewCardPreAuthorizedDepositPayIn: function(callback) {
|
|
854
|
+
var self = this;
|
|
855
|
+
var john = new UserNatural(this.data.getUserNatural());
|
|
856
|
+
|
|
857
|
+
api.Users.create(john).then(function (data, response) {
|
|
858
|
+
john = data;
|
|
859
|
+
|
|
860
|
+
var cardRegistration = {
|
|
861
|
+
UserId: john.Id,
|
|
862
|
+
Currency: 'EUR'
|
|
863
|
+
};
|
|
864
|
+
|
|
865
|
+
api.CardRegistrations.create(cardRegistration, function () {
|
|
866
|
+
self.getPaylineCorrectRegistartionData(cardRegistration, function (data, response) {
|
|
867
|
+
cardRegistration.RegistrationData = data;
|
|
868
|
+
|
|
869
|
+
api.CardRegistrations.update(cardRegistration).then(function (data) {
|
|
870
|
+
cardRegistration = data;
|
|
871
|
+
|
|
872
|
+
var wallet = {
|
|
873
|
+
Owners: [john.Id],
|
|
874
|
+
Currency: 'EUR',
|
|
875
|
+
Description: 'WALLET IN EUR'
|
|
876
|
+
};
|
|
877
|
+
|
|
878
|
+
api.Wallets.create(wallet).then(function () {
|
|
879
|
+
var newDeposit = self.getNewDeposit(cardRegistration.CardId, john.Id);
|
|
880
|
+
|
|
881
|
+
api.Deposits.create(newDeposit, function (data, response) {
|
|
882
|
+
newDeposit = data;
|
|
883
|
+
|
|
884
|
+
var payIn = {
|
|
885
|
+
AuthorId: john.Id,
|
|
886
|
+
CreditedWalletId: wallet.Id,
|
|
887
|
+
DebitedFunds: {
|
|
888
|
+
Currency: 'EUR',
|
|
889
|
+
Amount: 1000
|
|
890
|
+
},
|
|
891
|
+
Fees: {
|
|
892
|
+
Currency: 'EUR',
|
|
893
|
+
Amount: 0
|
|
894
|
+
},
|
|
895
|
+
DepositId: newDeposit.Id
|
|
896
|
+
};
|
|
897
|
+
|
|
898
|
+
api.PayIns.createCardPreAuthorizedDepositPayIn(payIn, callback);
|
|
899
|
+
});
|
|
900
|
+
});
|
|
901
|
+
});
|
|
902
|
+
});
|
|
903
|
+
});
|
|
904
|
+
});
|
|
905
|
+
},
|
|
906
|
+
|
|
907
|
+
getNewPayInMultibancoWeb: function (api, user, callback) {
|
|
908
|
+
var wallet = {
|
|
909
|
+
Owners: [user.Id],
|
|
910
|
+
Currency: 'EUR',
|
|
911
|
+
Description: 'WALLET IN EUR'
|
|
912
|
+
};
|
|
913
|
+
|
|
914
|
+
api.Wallets.create(wallet).then(function () {
|
|
915
|
+
var payIn = {
|
|
916
|
+
CreditedWalletId: wallet.Id,
|
|
917
|
+
AuthorId: user.Id,
|
|
918
|
+
DebitedFunds: {
|
|
919
|
+
Amount: 500,
|
|
920
|
+
Currency: 'EUR'
|
|
921
|
+
},
|
|
922
|
+
Fees: {
|
|
923
|
+
Amount: 0,
|
|
924
|
+
Currency: 'EUR'
|
|
925
|
+
},
|
|
926
|
+
PaymentType: 'MULTIBANCO',
|
|
927
|
+
ExecutionType: 'WEB',
|
|
928
|
+
StatementDescriptor: "test",
|
|
929
|
+
ReturnURL: "http://test.com",
|
|
930
|
+
Tag: "test tag"
|
|
931
|
+
};
|
|
932
|
+
api.PayIns.create(payIn, callback);
|
|
933
|
+
});
|
|
934
|
+
},
|
|
935
|
+
|
|
936
|
+
getNewPayInSatispayWeb: function (api, user, callback) {
|
|
937
|
+
var wallet = {
|
|
938
|
+
Owners: [user.Id],
|
|
939
|
+
Currency: 'EUR',
|
|
940
|
+
Description: 'WALLET IN EUR'
|
|
941
|
+
};
|
|
942
|
+
|
|
943
|
+
api.Wallets.create(wallet).then(function () {
|
|
944
|
+
var payIn = {
|
|
945
|
+
AuthorId: user.Id,
|
|
946
|
+
DebitedFunds: {
|
|
947
|
+
Amount: 500,
|
|
948
|
+
Currency: 'EUR'
|
|
949
|
+
},
|
|
950
|
+
Fees: {
|
|
951
|
+
Amount: 0,
|
|
952
|
+
Currency: 'EUR'
|
|
953
|
+
},
|
|
954
|
+
CreditedWalletId: wallet.Id,
|
|
955
|
+
PaymentType: 'SATISPAY',
|
|
956
|
+
ExecutionType: 'WEB',
|
|
957
|
+
StatementDescriptor: "test",
|
|
958
|
+
ReturnURL: "http://test.com",
|
|
959
|
+
Tag: "test tag",
|
|
960
|
+
Country: "IT"
|
|
961
|
+
};
|
|
962
|
+
api.PayIns.create(payIn, callback);
|
|
963
|
+
});
|
|
964
|
+
},
|
|
965
|
+
|
|
966
|
+
getNewPayInBlikWeb: function (api, user, callback) {
|
|
967
|
+
var wallet = {
|
|
968
|
+
Owners: [user.Id],
|
|
969
|
+
Currency: 'PLN',
|
|
970
|
+
Description: 'WALLET IN PLN'
|
|
971
|
+
};
|
|
972
|
+
|
|
973
|
+
api.Wallets.create(wallet).then(function () {
|
|
974
|
+
var payIn = {
|
|
975
|
+
AuthorId: user.Id,
|
|
976
|
+
DebitedFunds: {
|
|
977
|
+
Amount: 500,
|
|
978
|
+
Currency: 'PLN'
|
|
979
|
+
},
|
|
980
|
+
Fees: {
|
|
981
|
+
Amount: 0,
|
|
982
|
+
Currency: 'PLN'
|
|
983
|
+
},
|
|
984
|
+
CreditedWalletId: wallet.Id,
|
|
985
|
+
PaymentType: 'BLIK',
|
|
986
|
+
ExecutionType: 'WEB',
|
|
987
|
+
StatementDescriptor: "test",
|
|
988
|
+
ReturnURL: "http://test.com",
|
|
989
|
+
Tag: "test tag"
|
|
990
|
+
};
|
|
991
|
+
api.PayIns.create(payIn, callback);
|
|
992
|
+
});
|
|
993
|
+
},
|
|
994
|
+
|
|
995
|
+
getNewPayInBlikWebWithCode: function (api, user, callback) {
|
|
996
|
+
var wallet = {
|
|
997
|
+
Owners: [user.Id],
|
|
998
|
+
Currency: 'PLN',
|
|
999
|
+
Description: 'WALLET IN PLN'
|
|
1000
|
+
};
|
|
1001
|
+
|
|
1002
|
+
api.Wallets.create(wallet).then(function () {
|
|
1003
|
+
var payIn = {
|
|
1004
|
+
AuthorId: user.Id,
|
|
1005
|
+
DebitedFunds: {
|
|
1006
|
+
Amount: 500,
|
|
1007
|
+
Currency: 'PLN'
|
|
1008
|
+
},
|
|
1009
|
+
Fees: {
|
|
1010
|
+
Amount: 0,
|
|
1011
|
+
Currency: 'PLN'
|
|
1012
|
+
},
|
|
1013
|
+
CreditedWalletId: wallet.Id,
|
|
1014
|
+
PaymentType: 'BLIK',
|
|
1015
|
+
ExecutionType: 'WEB',
|
|
1016
|
+
StatementDescriptor: "test",
|
|
1017
|
+
ReturnURL: "http://test.com",
|
|
1018
|
+
Tag: "test tag",
|
|
1019
|
+
Code: "777365",
|
|
1020
|
+
IpAddress: "159.180.248.187",
|
|
1021
|
+
BrowserInfo: {
|
|
1022
|
+
AcceptHeader: "text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8",
|
|
1023
|
+
JavaEnabled: true,
|
|
1024
|
+
Language: "FR-FR",
|
|
1025
|
+
ColorDepth: 4,
|
|
1026
|
+
ScreenHeight: 1800,
|
|
1027
|
+
ScreenWidth: 400,
|
|
1028
|
+
JavascriptEnabled: true,
|
|
1029
|
+
TimeZoneOffset: "+60",
|
|
1030
|
+
UserAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
|
|
1031
|
+
}
|
|
1032
|
+
};
|
|
1033
|
+
api.PayIns.create(payIn, callback);
|
|
1034
|
+
});
|
|
1035
|
+
},
|
|
1036
|
+
|
|
1037
|
+
getNewPayInKlarnaWeb: function (api, user, callback) {
|
|
1038
|
+
var wallet = {
|
|
1039
|
+
Owners: [user.Id],
|
|
1040
|
+
Currency: 'EUR',
|
|
1041
|
+
Description: 'WALLET IN EUR'
|
|
1042
|
+
};
|
|
1043
|
+
|
|
1044
|
+
api.Wallets.create(wallet).then(function () {
|
|
1045
|
+
var payIn = {
|
|
1046
|
+
PaymentType: 'KLARNA',
|
|
1047
|
+
ExecutionType: 'WEB',
|
|
1048
|
+
AuthorId: user.Id,
|
|
1049
|
+
CreditedWalletId: wallet.Id,
|
|
1050
|
+
DebitedFunds: {
|
|
1051
|
+
Amount: 1000,
|
|
1052
|
+
Currency: 'EUR'
|
|
1053
|
+
},
|
|
1054
|
+
Fees: {
|
|
1055
|
+
Amount: 0,
|
|
1056
|
+
Currency: 'EUR'
|
|
1057
|
+
},
|
|
1058
|
+
ReturnURL: 'http://test.com',
|
|
1059
|
+
LineItems: [
|
|
1060
|
+
{
|
|
1061
|
+
Name: "running shoes",
|
|
1062
|
+
Quantity: 1,
|
|
1063
|
+
UnitAmount: 500,
|
|
1064
|
+
TaxAmount: 0,
|
|
1065
|
+
Description: "seller1 ID"
|
|
1066
|
+
},
|
|
1067
|
+
{
|
|
1068
|
+
Name: "running shoes",
|
|
1069
|
+
Quantity: 1,
|
|
1070
|
+
UnitAmount: 500,
|
|
1071
|
+
TaxAmount: 0,
|
|
1072
|
+
Description: "seller2 ID"
|
|
1073
|
+
}
|
|
1074
|
+
],
|
|
1075
|
+
Country: "FR",
|
|
1076
|
+
Phone: "351#269458236",
|
|
1077
|
+
Email: "mangopay@gmail.com",
|
|
1078
|
+
AdditionalData: "{}",
|
|
1079
|
+
Billing: {
|
|
1080
|
+
FirstName: "John",
|
|
1081
|
+
LastName: "Doe",
|
|
1082
|
+
Address: {
|
|
1083
|
+
"AddressLine1": "4101 Reservoir Rd NW",
|
|
1084
|
+
"AddressLine2": "",
|
|
1085
|
+
"City": "Washington",
|
|
1086
|
+
"Region": "District of Columbia",
|
|
1087
|
+
"PostalCode": "80400",
|
|
1088
|
+
"Country": "FR"
|
|
1089
|
+
}
|
|
1090
|
+
},
|
|
1091
|
+
Reference: "1234",
|
|
1092
|
+
StatementDescriptor: "test",
|
|
1093
|
+
Tag: "test tag"
|
|
1094
|
+
};
|
|
1095
|
+
api.PayIns.create(payIn, callback);
|
|
1096
|
+
});
|
|
1097
|
+
},
|
|
1098
|
+
|
|
1099
|
+
getNewPayInIdealWeb: function (api, user, callback) {
|
|
1100
|
+
var wallet = {
|
|
1101
|
+
Owners: [user.Id],
|
|
1102
|
+
Currency: 'EUR',
|
|
1103
|
+
Description: 'WALLET IN EUR'
|
|
1104
|
+
};
|
|
1105
|
+
|
|
1106
|
+
api.Wallets.create(wallet).then(function () {
|
|
1107
|
+
var payIn = {
|
|
1108
|
+
PaymentType: 'IDEAL',
|
|
1109
|
+
ExecutionType: 'WEB',
|
|
1110
|
+
AuthorId: user.Id,
|
|
1111
|
+
CreditedWalletId: wallet.Id,
|
|
1112
|
+
DebitedFunds: {
|
|
1113
|
+
Amount: 1000,
|
|
1114
|
+
Currency: 'EUR'
|
|
1115
|
+
},
|
|
1116
|
+
Fees: {
|
|
1117
|
+
Amount: 0,
|
|
1118
|
+
Currency: 'EUR'
|
|
1119
|
+
},
|
|
1120
|
+
ReturnURL: 'http://test.com',
|
|
1121
|
+
Bic: 'SNSBNL2A',
|
|
1122
|
+
StatementDescriptor: "ideal",
|
|
1123
|
+
Tag: "test tag"
|
|
1124
|
+
};
|
|
1125
|
+
api.PayIns.create(payIn, callback);
|
|
1126
|
+
});
|
|
1127
|
+
},
|
|
1128
|
+
|
|
1129
|
+
getNewPayInGiropayWeb: function (api, user, callback) {
|
|
1130
|
+
var wallet = {
|
|
1131
|
+
Owners: [user.Id],
|
|
1132
|
+
Currency: 'EUR',
|
|
1133
|
+
Description: 'WALLET IN EUR'
|
|
1134
|
+
};
|
|
1135
|
+
|
|
1136
|
+
api.Wallets.create(wallet).then(function () {
|
|
1137
|
+
var payIn = {
|
|
1138
|
+
PaymentType: 'GIROPAY',
|
|
1139
|
+
ExecutionType: 'WEB',
|
|
1140
|
+
AuthorId: user.Id,
|
|
1141
|
+
CreditedWalletId: wallet.Id,
|
|
1142
|
+
DebitedFunds: {
|
|
1143
|
+
Amount: 1000,
|
|
1144
|
+
Currency: 'EUR'
|
|
1145
|
+
},
|
|
1146
|
+
Fees: {
|
|
1147
|
+
Amount: 0,
|
|
1148
|
+
Currency: 'EUR'
|
|
1149
|
+
},
|
|
1150
|
+
ReturnURL: 'http://test.com',
|
|
1151
|
+
StatementDescriptor: "giropay",
|
|
1152
|
+
Tag: "test tag"
|
|
1153
|
+
};
|
|
1154
|
+
api.PayIns.create(payIn, callback);
|
|
1155
|
+
});
|
|
1156
|
+
},
|
|
1157
|
+
|
|
1158
|
+
getNewPayInSwishWeb: function (api, user, callback) {
|
|
1159
|
+
var wallet = {
|
|
1160
|
+
Owners: [user.Id],
|
|
1161
|
+
Currency: 'SEK',
|
|
1162
|
+
Description: 'WALLET IN SEK'
|
|
1163
|
+
};
|
|
1164
|
+
|
|
1165
|
+
api.Wallets.create(wallet).then(function () {
|
|
1166
|
+
var payIn = {
|
|
1167
|
+
PaymentType: 'SWISH',
|
|
1168
|
+
ExecutionType: 'WEB',
|
|
1169
|
+
AuthorId: user.Id,
|
|
1170
|
+
CreditedWalletId: wallet.Id,
|
|
1171
|
+
DebitedFunds: {
|
|
1172
|
+
Amount: 100,
|
|
1173
|
+
Currency: 'SEK'
|
|
1174
|
+
},
|
|
1175
|
+
Fees: {
|
|
1176
|
+
Amount: 0,
|
|
1177
|
+
Currency: 'SEK'
|
|
1178
|
+
},
|
|
1179
|
+
ReturnURL: 'http://test.com',
|
|
1180
|
+
StatementDescriptor: "swish",
|
|
1181
|
+
Tag: "created from nodejs"
|
|
1182
|
+
};
|
|
1183
|
+
api.PayIns.create(payIn, callback);
|
|
1184
|
+
});
|
|
1185
|
+
},
|
|
1186
|
+
|
|
1187
|
+
getNewPayInTwintWeb: function (api, user, callback) {
|
|
1188
|
+
var wallet = {
|
|
1189
|
+
Owners: [user.Id],
|
|
1190
|
+
Currency: 'CHF',
|
|
1191
|
+
Description: 'WALLET IN CHF'
|
|
1192
|
+
};
|
|
1193
|
+
|
|
1194
|
+
api.Wallets.create(wallet).then(function () {
|
|
1195
|
+
var payIn = {
|
|
1196
|
+
PaymentType: 'TWINT',
|
|
1197
|
+
ExecutionType: 'WEB',
|
|
1198
|
+
AuthorId: user.Id,
|
|
1199
|
+
CreditedWalletId: wallet.Id,
|
|
1200
|
+
DebitedFunds: {
|
|
1201
|
+
Amount: 100,
|
|
1202
|
+
Currency: 'CHF'
|
|
1203
|
+
},
|
|
1204
|
+
Fees: {
|
|
1205
|
+
Amount: 0,
|
|
1206
|
+
Currency: 'CHF'
|
|
1207
|
+
},
|
|
1208
|
+
ReturnURL: 'http://test.com',
|
|
1209
|
+
StatementDescriptor: "twint",
|
|
1210
|
+
Tag: "twint payin"
|
|
1211
|
+
};
|
|
1212
|
+
api.PayIns.create(payIn, callback);
|
|
1213
|
+
});
|
|
1214
|
+
},
|
|
1215
|
+
|
|
1216
|
+
getNewPayInPayByBankWeb: function (api, user, callback) {
|
|
1217
|
+
var wallet = {
|
|
1218
|
+
Owners: [user.Id],
|
|
1219
|
+
Currency: 'EUR',
|
|
1220
|
+
Description: 'WALLET IN EUR'
|
|
1221
|
+
};
|
|
1222
|
+
|
|
1223
|
+
api.Wallets.create(wallet).then(function () {
|
|
1224
|
+
var payIn = {
|
|
1225
|
+
PaymentType: 'PAY_BY_BANK',
|
|
1226
|
+
ExecutionType: 'WEB',
|
|
1227
|
+
AuthorId: user.Id,
|
|
1228
|
+
CreditedWalletId: wallet.Id,
|
|
1229
|
+
DebitedFunds: {
|
|
1230
|
+
Amount: 10,
|
|
1231
|
+
Currency: 'EUR'
|
|
1232
|
+
},
|
|
1233
|
+
Fees: {
|
|
1234
|
+
Amount: 0,
|
|
1235
|
+
Currency: 'EUR'
|
|
1236
|
+
},
|
|
1237
|
+
Country: "DE",
|
|
1238
|
+
ReturnURL: 'https://test.com',
|
|
1239
|
+
IBAN: "DE03500105177564668331",
|
|
1240
|
+
BIC: "AACSDE33",
|
|
1241
|
+
Scheme: "SEPA_INSTANT_CREDIT_TRANSFER",
|
|
1242
|
+
BankName: "de-demobank-open-banking-embedded-templates",
|
|
1243
|
+
Culture: "EN",
|
|
1244
|
+
PaymentFlow: "WEB",
|
|
1245
|
+
StatementDescriptor: "test",
|
|
1246
|
+
Tag: "created from nodejs"
|
|
1247
|
+
};
|
|
1248
|
+
api.PayIns.create(payIn, callback);
|
|
1249
|
+
});
|
|
1250
|
+
},
|
|
1251
|
+
|
|
1252
|
+
getLegacyPayInIdealCardWeb: function(api, user, callback) {
|
|
1253
|
+
var wallet = {
|
|
1254
|
+
Owners: [user.Id],
|
|
1255
|
+
Currency: 'EUR',
|
|
1256
|
+
Description: 'WALLET IN EUR'
|
|
1257
|
+
};
|
|
1258
|
+
|
|
1259
|
+
api.Wallets.create(wallet).then(function(){
|
|
1260
|
+
var payIn = new api.models.PayIn({
|
|
1261
|
+
CreditedWalletId: wallet.Id,
|
|
1262
|
+
AuthorId: user.Id,
|
|
1263
|
+
DebitedFunds: new api.models.Money({
|
|
1264
|
+
Amount: 1000,
|
|
1265
|
+
Currency: 'EUR'
|
|
1266
|
+
}),
|
|
1267
|
+
Fees: new api.models.Money({
|
|
1268
|
+
Amount: 0,
|
|
1269
|
+
Currency: 'EUR'
|
|
1270
|
+
}),
|
|
1271
|
+
PaymentType: 'CARD',
|
|
1272
|
+
PaymentDetails: new api.models.PayInPaymentDetailsCard({
|
|
1273
|
+
CardType: 'IDEAL',
|
|
1274
|
+
Bic: 'REVOLT21'
|
|
1275
|
+
}),
|
|
1276
|
+
ExecutionType: 'WEB',
|
|
1277
|
+
ExecutionDetails: new api.models.PayInPaymentDetailsCard({
|
|
1278
|
+
ReturnURL: 'https://test.com',
|
|
1279
|
+
TemplateURL: 'https://TemplateURL.com',
|
|
1280
|
+
SecureMode: 'DEFAULT',
|
|
1281
|
+
Culture: 'fr'
|
|
1282
|
+
})
|
|
1283
|
+
});
|
|
1284
|
+
api.PayIns.create(payIn, callback);
|
|
1285
|
+
});
|
|
1286
|
+
},
|
|
1287
|
+
|
|
1288
|
+
getNewQuote: function (api, callback) {
|
|
1289
|
+
var quoteBody = {
|
|
1290
|
+
DebitedFunds: {
|
|
1291
|
+
Amount: 100,
|
|
1292
|
+
Currency: 'EUR'
|
|
1293
|
+
},
|
|
1294
|
+
CreditedFunds: {
|
|
1295
|
+
Currency: 'GBP'
|
|
1296
|
+
},
|
|
1297
|
+
Duration: 300
|
|
1298
|
+
};
|
|
1299
|
+
api.Conversions.createQuote(quoteBody, callback);
|
|
1300
|
+
},
|
|
1301
|
+
|
|
1302
|
+
getNewWalletWithMoney: function (api, userId, callback) {
|
|
1303
|
+
var self = this;
|
|
1304
|
+
var wallet = {
|
|
1305
|
+
Owners: [userId],
|
|
1306
|
+
Currency: 'EUR',
|
|
1307
|
+
Description: 'WALLET IN EUR'
|
|
1308
|
+
};
|
|
1309
|
+
|
|
1310
|
+
api.Wallets.create(wallet).then(function (createdWallet) {
|
|
1311
|
+
var cardRegistration = {
|
|
1312
|
+
UserId: userId,
|
|
1313
|
+
Currency: 'EUR'
|
|
1314
|
+
};
|
|
1315
|
+
|
|
1316
|
+
api.CardRegistrations.create(cardRegistration, function () {
|
|
1317
|
+
self.getPaylineCorrectRegistartionData(cardRegistration, function (data, response) {
|
|
1318
|
+
cardRegistration.RegistrationData = data;
|
|
1319
|
+
api.CardRegistrations.update(cardRegistration).then(function (data) {
|
|
1320
|
+
cardRegistration = data;
|
|
1321
|
+
var payIn = {
|
|
1322
|
+
CreditedWalletId: wallet.Id,
|
|
1323
|
+
AuthorId: userId,
|
|
1324
|
+
DebitedFunds: {
|
|
1325
|
+
Amount: 10000,
|
|
1326
|
+
Currency: 'EUR'
|
|
1327
|
+
},
|
|
1328
|
+
Fees: {
|
|
1329
|
+
Amount: 0,
|
|
1330
|
+
Currency: 'EUR'
|
|
1331
|
+
},
|
|
1332
|
+
CardId: cardRegistration.CardId,
|
|
1333
|
+
SecureModeReturnURL: 'http://test.com',
|
|
1334
|
+
PaymentType: 'CARD',
|
|
1335
|
+
ExecutionType: 'DIRECT',
|
|
1336
|
+
Billing: {
|
|
1337
|
+
FirstName: "John",
|
|
1338
|
+
LastName: "Doe",
|
|
1339
|
+
Address: {
|
|
1340
|
+
"AddressLine1": "4101 Reservoir Rd NW",
|
|
1341
|
+
"AddressLine2": "",
|
|
1342
|
+
"City": "Washington",
|
|
1343
|
+
"Region": "District of Columbia",
|
|
1344
|
+
"PostalCode": "68400",
|
|
1345
|
+
"Country": "US"
|
|
1346
|
+
}
|
|
1347
|
+
},
|
|
1348
|
+
BrowserInfo: {
|
|
1349
|
+
AcceptHeader: "text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8",
|
|
1350
|
+
JavaEnabled: true,
|
|
1351
|
+
Language: "FR-FR",
|
|
1352
|
+
ColorDepth: 4,
|
|
1353
|
+
ScreenHeight: 1800,
|
|
1354
|
+
ScreenWidth: 400,
|
|
1355
|
+
JavascriptEnabled: true,
|
|
1356
|
+
TimeZoneOffset: "+60",
|
|
1357
|
+
UserAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
|
|
1358
|
+
},
|
|
1359
|
+
IpAddress: "2001:0620:0000:0000:0211:24FF:FE80:C12C",
|
|
1360
|
+
};
|
|
1361
|
+
|
|
1362
|
+
api.PayIns.create(payIn).then(function () {
|
|
1363
|
+
api.Wallets.get(createdWallet.Id, callback);
|
|
1364
|
+
});
|
|
1365
|
+
});
|
|
1366
|
+
});
|
|
1367
|
+
});
|
|
1368
|
+
});
|
|
1369
|
+
},
|
|
1370
|
+
|
|
1371
|
+
getNewPayInIntentAuthorization: function (api, user, callback) {
|
|
1372
|
+
var wallet = {
|
|
1373
|
+
Owners: [user.Id],
|
|
1374
|
+
Currency: 'EUR',
|
|
1375
|
+
Description: 'WALLET IN EUR'
|
|
1376
|
+
};
|
|
1377
|
+
|
|
1378
|
+
api.Wallets.create(wallet).then(function () {
|
|
1379
|
+
var payInIntent = {
|
|
1380
|
+
"Amount": 1000,
|
|
1381
|
+
"Currency": "EUR",
|
|
1382
|
+
"ExternalData": {
|
|
1383
|
+
"ExternalProcessingDate": 1728133765,
|
|
1384
|
+
"ExternalProviderReference": Math.random().toString(),
|
|
1385
|
+
"ExternalMerchantReference": "Order-xyz-35e8490e-2ec9-4c82-978e-c712a3f5ba16",
|
|
1386
|
+
"ExternalProviderName": "Stripe",
|
|
1387
|
+
"ExternalProviderPaymentMethod": "PAYPAL"
|
|
1388
|
+
},
|
|
1389
|
+
"Buyer": {
|
|
1390
|
+
"Id": user.Id
|
|
1391
|
+
},
|
|
1392
|
+
"LineItems": [
|
|
1393
|
+
{
|
|
1394
|
+
"Seller": {
|
|
1395
|
+
"WalletId": wallet.Id,
|
|
1396
|
+
"AuthorId": wallet.Owners[0],
|
|
1397
|
+
"TransferDate": 1728133765
|
|
1398
|
+
},
|
|
1399
|
+
"Sku": "item-123456",
|
|
1400
|
+
"Quantity": 1,
|
|
1401
|
+
"UnitAmount": 1000,
|
|
1402
|
+
}
|
|
1403
|
+
]
|
|
1404
|
+
};
|
|
1405
|
+
api.PayIns.createPayInIntentAuthorization(payInIntent, callback);
|
|
1406
|
+
});
|
|
1407
|
+
},
|
|
1408
|
+
|
|
1409
|
+
getNewPayInIntentSplit: function (api, intent, callback) {
|
|
1410
|
+
const fullCapture = {
|
|
1411
|
+
"ExternalData" : {
|
|
1412
|
+
"ExternalProcessingDate" : 1727788165,
|
|
1413
|
+
"ExternalProviderReference" : Math.random().toString(),
|
|
1414
|
+
"ExternalMerchantReference" : "Order-xyz-35e8490e-2ec9-4c82-978e-c712a3f5ba16",
|
|
1415
|
+
"ExternalProviderName" : "Stripe",
|
|
1416
|
+
"ExternalProviderPaymentMethod" : "PAYPAL"
|
|
1417
|
+
}
|
|
1418
|
+
};
|
|
1419
|
+
api.PayIns.createPayInIntentFullCapture(intent.Id, fullCapture, function(data) {
|
|
1420
|
+
const splits = {
|
|
1421
|
+
Splits: [
|
|
1422
|
+
{
|
|
1423
|
+
LineItemId: intent.LineItems[0].Id,
|
|
1424
|
+
SplitAmount: 10
|
|
1425
|
+
}
|
|
1426
|
+
]
|
|
1427
|
+
};
|
|
1428
|
+
api.PayIns.createPayInIntentSplits(intent.Id, splits, callback);
|
|
1429
|
+
});
|
|
1430
|
+
}
|
|
1431
|
+
};
|