mangopay2-nodejs-sdk
Version:
Mangopay Node.js SDK
1,548 lines (1,324 loc) • 41.8 kB
text/typescript
import Mangopay = require("mangopay2-nodejs-sdk");
// $ExpectError
const invalidConfig: Mangopay.base.Config = {};
/* General Types */
const validConfig: Mangopay.base.Config = {
clientId: "your_client_id",
clientApiKey: "your_client_api_key",
baseUrl: "https://api.mangopay.com"
};
const api = new Mangopay(validConfig); // $ExpectType MangoPay
const payIn: Mangopay.models.PayIn = new api.models.PayIn({}); // $ExpectType PayIn
const address: Mangopay.models.Address = new api.models.Address({}); // $ExpectType Address
const addressData: Mangopay.address.AddressData = {
AddressLine1: "20 T Street",
AddressLine2: "",
City: "London",
Country: "AD",
PostalCode: "FR43 2WE",
Region: "London"
};
/* Users */
const legalUser = new api.models.UserLegal({
Name: "MangoPay",
Email: "info@mangopay.com",
LegalPersonType: "BUSINESS",
LegalRepresentativeFirstName: "Mango",
LegalRepresentativeLastName: "Pay",
LegalRepresentativeEmail: "mango@mangopay.com",
HeadquartersAddress: new api.models.Address({
AddressLine1: "4101 Reservoir Rd NW",
AddressLine2: "",
City: "Washington",
Region: "District of Columbia",
PostalCode: "20007",
Country: "US"
}),
LegalRepresentativeBirthday: 1300186358,
LegalRepresentativeNationality: "FR",
LegalRepresentativeCountryOfResidence: "FR",
Tag: "custom tag"
});
api.Users.create(legalUser).then(data => {
const d = data; // $ExpectType UserLegalData
const value = data.PersonType; // $ExpectType "LEGAL"
const rateLimits = api.rateLimits; // $ExpectType RateLimit[]
console.log(`${legalUser.Name} user created at ${legalUser.CreationDate}`);
});
api.Users.create(legalUser, {resolveWithFullResponse: true}).then(data => {
const d = data; // $ExpectType WithResponse<UserLegalData>
const value = data.body; // $ExpectType UserLegalData
});
api.Users.create(
{
PersonType: "LEGAL",
Name: "MangoPay",
Email: "info@mangopay.com",
LegalPersonType: "BUSINESS",
LegalRepresentativeFirstName: "Mango",
LegalRepresentativeLastName: "Pay",
LegalRepresentativeEmail: "mango@mangopay.com",
HeadquartersAddress: new api.models.Address({
AddressLine1: "4101 Reservoir Rd NW",
AddressLine2: "",
City: "Washington",
Region: "District of Columbia",
PostalCode: "20007",
Country: "US"
}),
LegalRepresentativeAddress: new api.models.Address({
AddressLine1: "4101 Reservoir Rd NW",
AddressLine2: "",
City: "Washington",
Region: "District of Columbia",
PostalCode: "20007",
Country: "US"
}),
LegalRepresentativeBirthday: 1300186358,
LegalRepresentativeNationality: "FR",
LegalRepresentativeCountryOfResidence: "FR",
Tag: "custom tag",
TermsAndConditionsAccepted: true
},
{headers: {}}
).then(data => {
const d = data; // $ExpectType UserLegalData
});
const naturalUser = new api.models.UserNatural({
Email: "info@mangopay.com",
Birthday: 1300186358,
FirstName: "Sara",
LastName: "McNick",
CountryOfResidence: "GB",
Nationality: "US"
});
api.Users.create(naturalUser, {}).then(data => {
const d = data; // $ExpectType UserNaturalData
const value = data.PersonType; // $ExpectType "NATURAL"
return;
});
api.Users.create(
{
PersonType: "NATURAL",
Email: "info@mangopay.com",
Birthday: 1300186358,
FirstName: "Sara",
LastName: "McNick",
CountryOfResidence: "GB",
Nationality: "US",
Tag: "natural-user",
TermsAndConditionsAccepted: true
},
data => {
const d = data; // $ExpectType UserNaturalData
}
);
// create User Natural Payer with mandatory props
const userNaturalPayer = new api.models.UserNaturalPayer({
UserCategory: "PAYER",
FirstName: "Sara",
LastName: "McNick",
Email: "info@mangopay.com"
});
api.Users.create(userNaturalPayer,
data => {
const d = data; // $ExpectType UserNaturalData
}
);
// create User Natural Owner with mandatory props
const userNaturalOwner = new api.models.UserNaturalOwner({
PersonType: "NATURAL",
UserCategory: "OWNER",
FirstName: "Sara",
LastName: "McNick",
Email: "info@mangopay.com",
Birthday: 1300186358,
CountryOfResidence: "GB",
Nationality: "US",
TermsAndConditionsAccepted: false
});
api.Users.create(userNaturalOwner,
data => {
const d = data; // $ExpectType UserNaturalData
}
);
// create User Legal Payer with mandatory props
const userLegalPayer = new api.models.UserLegalPayer({
UserCategory: "PAYER",
PersonType: "LEGAL",
Name: "MangoPay",
Email: "info@mangopay.com",
LegalPersonType: "BUSINESS",
LegalRepresentativeFirstName: "Mango",
LegalRepresentativeLastName: "Pay",
LegalRepresentativeEmail: "mango@mangopay.com"
});
api.Users.create(userLegalPayer,
data => {
const d = data; // $ExpectType UserLegalData
}
);
// create User Legal Owner with mandatory props
const userLegalOwner = new api.models.UserLegalOwner({
UserCategory: "OWNER",
Name: "MangoPay",
Email: "info@mangopay.com",
LegalPersonType: "BUSINESS",
LegalRepresentativeFirstName: "Mango",
LegalRepresentativeLastName: "Pay",
HeadquartersAddress: new api.models.Address({
AddressLine1: "4101 Reservoir Rd NW",
AddressLine2: "",
City: "Washington",
Region: "District of Columbia",
PostalCode: "20007",
Country: "US"
}),
LegalRepresentativeBirthday: 1300186358,
LegalRepresentativeNationality: "FR",
LegalRepresentativeCountryOfResidence: "FR",
CompanyNumber: "12345",
TermsAndConditionsAccepted: false
});
api.Users.create(userLegalOwner,
data => {
const d = data; // $ExpectType UserLegalData
}
);
api.Users.get("1234").then(data => {
const d = data; // $ExpectType UserLegalData | UserNaturalData
if (data.PersonType === "LEGAL") {
const legalData = data; // $ExpectType UserLegalData
} else {
const naturalData = data; // $ExpectType UserNaturalData
}
});
api.Users.getAll().then(users => {
users.forEach(user => {
const d = user; // $ExpectType UserLegalData | UserNaturalData
if (user.PersonType === "LEGAL") {
const legalData = user; // $ExpectType UserLegalData
} else {
const naturalData = user; // $ExpectType UserNaturalData
}
});
});
api.Users.update({
Id: "1234",
PersonType: "NATURAL",
Email: "info@mangopay.com",
Birthday: 1300186358,
FirstName: "Sara",
LastName: "McNick",
CountryOfResidence: "GB",
Nationality: "US",
TermsAndConditionsAccepted: true
}).then(data => {
const d = data; // $ExpectType UserNaturalData
});
api.Users.update({
Id: "1234",
PersonType: "LEGAL",
Tag: "custom meta",
TermsAndConditionsAccepted: true
}).then(data => {
const d = data; // $ExpectType UserLegalData
});
api.Users.createBankAccount("user-id", {
Type: "GB",
AccountNumber: "12345678",
SortCode: "123456",
OwnerAddress: "",
OwnerName: ""
}).then(data => {
const d = data; // $ExpectType GBData
});
api.Users.getBankAccount("user-id", "bankAccount-id").then(data => {
const d = data; // $ExpectType Data
});
api.Users.getBankAccounts("user-id", {parameters: {Sort: "CreationDate:ASC"}}).then(data => {
const d = data; // $ExpectType Data[]
});
api.Users.deactivateBankAccount("user-id", "bankAccount-id").then(data => {
const d = data; // $ExpectType Data
});
api.Users.getTransactions("user-id").then(data => {
const d = data; // $ExpectType TransactionData[]
});
api.Users.getWallets("user-id").then(data => {
const d = data; // $ExpectType WalletData[]
});
api.Users.getCards("user-id").then(data => {
const d = data; // $ExpectType CardData[]
});
api.Users.createKycDocument("user-id", {Type: "ADDRESS_PROOF", Tag: "custom meta"}).then(data => {
const d = data; // $ExpectType KycDocumentData
});
api.Users.getKycDocuments("user-id").then(data => {
const d = data; // $ExpectType KycDocumentData[]
});
api.Users.getKycDocument("user-id", "kycDocument-id").then(data => {
const d = data; // $ExpectType KycDocumentData
});
api.Users.updateKycDocument("user-id", {Status: "VALIDATION_ASKED", Id: "kycDocument-id"}).then(
data => {
const d = data; // $ExpectType KycDocumentData
}
);
api.Users.createKycPage("user-id", "kycDocument-id", {
File: "...base64data..."
}).then(data => {
const d = data; // $ExpectType KycDocumentData
});
api.Users.createKycPageFromFile(
"user-id",
"kyc-document-id",
"path/to/file"
).then(data => {
const d = data; // $ExpectType KycDocumentData
});
// MangoPay.
api.Users.getEMoney("user-id").then(data => {
const d = data; // $ExpectType EMoneyData
});
// api.Users.createUboDeclaration("user-id", { DeclaredUBOs: ["user1"] }).then(
// data => {
// const d = data; // $ExpectType UboDeclarationData
// }
// );
api.Users.getPreAuthorizations("user-id").then(data => {
const d = data; // $ExpectType CardPreAuthorizationData[]
});
/* KycDocuments */
api.KycDocuments.getAll().then(data => {
const d = data; // $ExpectType KycDocumentData[]
});
api.KycDocuments.get("kyc-id").then(data => {
const d = data; // $ExpectType KycDocumentData
});
api.KycDocuments.createKycDocumentConsult("kyc-id").then(data => {
const d = data; // TODO unsure of expected type
});
/* UboDeclarations */
api.UboDeclarations.get("userId", "id").then(data => {
const d = data; // $ExpectType UboDeclarationData
});
api.UboDeclarations.update("userId", {
Id: "uboId",
Ubos: ["user1", "user2"]
}).then(data => {
const d = data; // $ExpectType UboDeclarationData
});
api.UboDeclarations.create("userId").then(data => {
const d = data; // $ExpectType UboDeclarationData
});
api.UboDeclarations.createUbo("userId", "uboDeclarationId", {
Address: address,
Birthday: 1300186358,
FirstName: "John",
LastName: "Silver",
Nationality: "US",
Birthplace: {
City: "Brasov",
Country: "RO"
}
}).then(data => {
const d = data; // $ExpectType UboData
});
api.UboDeclarations.getAll("userId").then((data => {
const d = data; // $ExpectType UboDeclarationData[]
}));
api.UboDeclarations.getUbo("userId", "uboDeclarationId", "uboId").then(data => {
const d = data; // $ExpectType UboData
});
api.UboDeclarations.updateUbo("userId", "uboDeclarationId", {
Id: "uboId",
Address: address,
Birthday: 1300186358,
FirstName: "John",
LastName: "Silver",
Nationality: "US",
Birthplace: {
City: "Brasov",
Country: "RO"
}
}).then(data => {
const d = data; // $ExpectType UboData
});
/* BankAccounts */
api.BankAccounts.getTransactions("account-id").then(data => {
const d = data; // $ExpectType TransactionData[]
});
/* Wallets */
api.Wallets.create({
Currency: "GBP",
Description: "A description",
Owners: ["user-id"]
}).then(data => {
const d = data; // $ExpectType WalletData
});
const wallet = new api.models.Wallet({
Currency: "EUR",
Description: "A description",
Owners: ["user-id"]
});
api.Wallets.create(wallet).then(data => {
const d = data; // $ExpectType WalletData
});
api.Wallets.update({
Description: "A description"
}).then(data => {
const d = data; // $ExpectType WalletData
});
api.Wallets.get("wallet-id").then(data => {
const d = data; // $ExpectType WalletData
});
api.Wallets.getTransactions("wallet-id").then(data => {
const d = data; // $ExpectType TransactionData[]
});
/* Cards */
api.Cards.get("card-id").then(data => {
const d = data; // $ExpectType CardData
});
api.Cards.getByFingerprint("fingerprinthash").then(data => {
const d = data; // $ExpectType CardData[]
});
api.Cards.update({Active: false, Id: "card-id"}).then(data => {
const d = data; // $ExpectType CardData
});
api.Cards.getTransactions("card-id").then(data => {
const d = data; // $ExpectType TransactionData[]
});
api.Cards.validate(
"id",
{
AuthorId: "placeholder",
IpAddress: "2001:0620:0000:0000:0211:24FF:FE80:C12C",
BrowserInfo: {
AcceptHeader: "text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8",
ColorDepth: 4,
JavaEnabled: true,
JavascriptEnabled: true,
Language: 'FR-FR',
ScreenHeight: 1800,
ScreenWidth: 400,
TimeZoneOffset: "+60",
UserAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
},
SecureModeReturnURL: "http://example.com"
}
).then(data => {
const d = data; // $ExpectType CardValidationData
});
api.Cards.getCardValidation(
"cardId",
"cardValidationId"
).then(data => {
const d = data; // $ExpectType CardValidationData
});
/* CardRegistrations */
api.CardRegistrations.create({
CardType: "BCMC",
Currency: "GBP",
UserId: "user-id"
}).then(data => {
const d = data; // $ExpectType CardRegistrationData
});
api.CardRegistrations.get("reg-id").then(data => {
const d = data; // $ExpectType CardRegistrationData
});
api.CardRegistrations.update({RegistrationData: "hmmm", Id: "Id"}).then(data => {
const d = data; // $ExpectType CardRegistrationData
});
/* CardPreAuthorizations */
api.CardPreAuthorizations.create({
AuthorId: "user",
CardId: "card-id",
DebitedFunds: {Currency: "AUD", Amount: 4000},
SecureModeReturnURL: "https://secureurl.com",
IpAddress: "2001:0620:0000:0000:0211:24FF:FE80:C12C",
BrowserInfo: {
AcceptHeader: "text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8",
ColorDepth: 4,
JavaEnabled: true,
JavascriptEnabled: true,
Language: 'FR-FR',
ScreenHeight: 1800,
ScreenWidth: 400,
TimeZoneOffset: "+60",
UserAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
}
}).then(data => {
const d = data; // $ExpectType CardPreAuthorizationData
});
api.CardPreAuthorizations.get("auth-id").then(data => {
const d = data; // $ExpectType CardPreAuthorizationData
});
api.CardPreAuthorizations.update({
Id: "auth-id",
PaymentStatus: "CANCELED"
}).then(data => {
const d = data; // $ExpectType CardPreAuthorizationData
});
/* Refunds */
api.Refunds.get("refund-id").then(data => {
const d = data; // $ExpectType RefundData
});
/* PayIns */
api.PayIns.create({
PaymentType: "CARD",
ExecutionType: "DIRECT",
AuthorId: "user-id",
CardId: "card-id",
CreditedWalletId: "wallet-id",
Fees: {Amount: 100, Currency: "GBP"},
DebitedFunds: {Amount: 2000, Currency: "GBP"},
SecureModeReturnURL: "https://secure-return.co"
}).then(data => {
const d = data; // $ExpectType CardDirectPayInData
});
api.PayIns.create({
PaymentType: "MBWAY",
ExecutionType: "WEB",
AuthorId: "user-id",
CreditedWalletId: "wallet-id",
Fees: {Amount: 100, Currency: "GBP"},
DebitedFunds: {Amount: 2000, Currency: "GBP"},
Phone: "351#269458236",
Tag: "test tag",
StatementDescriptor: "test"
}).then(data => {
const d = data; // $ExpectType MbwayWebPayInData
});
api.PayIns.create({
PaymentType: "KLARNA",
ExecutionType: "WEB",
AuthorId: "user-id",
CreditedWalletId: "wallet-id",
Fees: {Amount: 100, Currency: "GBP"},
DebitedFunds: {Amount: 2000, Currency: "GBP"},
ReturnURL: "http://test.com",
LineItems: [
{
Name: "test",
Quantity: 100,
TaxAmount: undefined,
UnitAmount: 10,
Description: "placeholder"
}
],
Country: "FR",
Phone: "351#269458236",
Email: "test@test.com",
AdditionalData: "{}",
Billing: {
FirstName: "John",
LastName: "Doe",
Address: {
AddressLine1: "test addr1",
AddressLine2: undefined,
City: "Paris",
Country: "FR",
Region: "Europe",
PostalCode: "68400"
}
},
Reference: "1234"
}).then(data => {
const d = data; // $ExpectType KlarnaWebPayInData
});
api.PayIns.create({
PaymentType: "MULTIBANCO",
ExecutionType: "WEB",
AuthorId: "user-id",
Fees: {Amount: 100, Currency: "GBP"},
DebitedFunds: {Amount: 2000, Currency: "GBP"},
CreditedWalletId: "123",
ReturnURL: "http://test.com",
Tag: "test tag",
StatementDescriptor: "test"
}).then(data => {
const d = data; // $ExpectType MultibancoWebPayInData
});
api.PayIns.create({
PaymentType: "SATISPAY",
ExecutionType: "WEB",
AuthorId: "user-id",
Fees: {Amount: 100, Currency: "GBP"},
DebitedFunds: {Amount: 2000, Currency: "GBP"},
CreditedWalletId: "123",
ReturnURL: "http://test.com",
Country: "IT",
Tag: "test tag",
StatementDescriptor: "test"
}).then(data => {
const d = data; // $ExpectType SatispayWebPayInData
});
api.PayIns.create({
PaymentType: "BLIK",
ExecutionType: "WEB",
AuthorId: "user-id",
Fees: {Amount: 100, Currency: "GBP"},
DebitedFunds: {Amount: 2000, Currency: "GBP"},
CreditedWalletId: "123",
ReturnURL: "http://test.com",
Tag: "test tag",
StatementDescriptor: "test"
}).then(data => {
const d = data; // $ExpectType BlikWebPayInData
});
api.PayIns.create({
PaymentType: "IDEAL",
ExecutionType: "WEB",
AuthorId: "user-id",
CreditedWalletId: "wallet-id",
Fees: {Amount: 100, Currency: "GBP"},
DebitedFunds: {Amount: 2000, Currency: "GBP"},
ReturnURL: "http://test.com",
StatementDescriptor: "Ideal",
Bic: "RBRBNL21",
Tag: "test"
}).then(data => {
const d = data; // $ExpectType IdealWebPayInData
});
api.PayIns.create({
PaymentType: "GIROPAY",
ExecutionType: "WEB",
AuthorId: "user-id",
CreditedWalletId: "wallet-id",
Fees: {Amount: 100, Currency: "GBP"},
DebitedFunds: {Amount: 2000, Currency: "GBP"},
ReturnURL: "http://test.com",
StatementDescriptor: "Giropay",
Tag: "test"
}).then(data => {
const d = data; // $ExpectType GiropayWebPayInData
});
api.PayIns.create({
PaymentType: "SWISH",
ExecutionType: "WEB",
AuthorId: "user-id",
CreditedWalletId: "wallet-id",
Fees: {Amount: 0, Currency: "SEK"},
DebitedFunds: {Amount: 100, Currency: "SEK"},
ReturnURL: "http://test.com",
StatementDescriptor: "Swish",
Tag: "test",
PaymentFlow: "WEB"
}).then(data => {
const d = data; // $ExpectType SwishWebPayInData
});
api.PayIns.create({
PaymentType: "CARD",
ExecutionType: "WEB",
AuthorId: "user-id",
CreditedWalletId: "wallet-id",
Fees: {Amount: 100, Currency: "GBP"},
DebitedFunds: {Amount: 2000, Currency: "GBP"},
ReturnURL: "https://secure-return.co",
Culture: "FR",
Bic: "RBRBNL21",
CardType: "IDEAL"
}).then(data => {
const d = data; // $ExpectType CardWebPayInData
});
api.PayIns.create({
PaymentType: "CARD",
ExecutionType: "WEB",
AuthorId: "user-id",
CreditedWalletId: "wallet-id",
Fees: {Amount: 100, Currency: "GBP"},
DebitedFunds: {Amount: 2000, Currency: "GBP"},
ReturnURL: "https://secure-return.co",
Culture: "AD",
CardType: "MAESTRO"
}).then(data => {
const d = data; // $ExpectType CardWebPayInData
});
api.PayIns.createPayPal({
PaymentType: "PAYPAL",
ExecutionType: "WEB",
AuthorId: "user-id",
CreditedWalletId: "wallet-id",
Fees: {Amount: 100, Currency: "GBP"},
DebitedFunds: {Amount: 2000, Currency: "GBP"},
LineItems: [
{
Name: "test",
Quantity: 100,
TaxAmount: undefined,
UnitAmount: 10,
Description: "placeholder"
}
],
Shipping: {
FirstName: "John",
LastName: "Doe",
Address: {
AddressLine1: "test addr1",
AddressLine2: undefined,
City: "Paris",
Country: "FR",
Region: "Europe",
PostalCode: "68400"
}
},
ReturnURL: "http://test.com",
Tag: "test tag",
StatementDescriptor: "test",
Reference: "Reference",
Culture: "FR"
}).then(data => {
const d = data; // $ExpectType PayPalWebPayInData
});
api.PayIns.addPayPalTrackingInformation(
"payInId",
{
TrackingNumber: "123456789",
Carrier: "DHL",
NotifyBuyer: true
}).then(data => {
const d = data; // $ExpectType PayPalWebPayInData
});
api.PayIns.createGooglePay({
PaymentType: "GOOGLE_PAY",
ExecutionType: "DIRECT",
AuthorId: "user-id",
CreditedWalletId: "wallet-id",
Fees: {Amount: 100, Currency: "GBP"},
DebitedFunds: {Amount: 2000, Currency: "GBP"},
SecureModeReturnURL: "http://test.com",
BrowserInfo: {
AcceptHeader: "text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8",
ColorDepth: 4,
JavaEnabled: true,
JavascriptEnabled: true,
Language: 'FR-FR',
ScreenHeight: 1800,
ScreenWidth: 400,
TimeZoneOffset: "+60",
UserAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
},
IpAddress: "1234",
PaymentData: "placeholder"
}).then(data => {
const d = data; // $ExpectType GooglePayDirectPayInData
});
api.PayIns.create({
PaymentType: "BANK_WIRE",
ExecutionType: "DIRECT",
AuthorId: "user-id",
CreditedWalletId: "wallet-id",
DeclaredDebitedFunds: {Amount: 10000, Currency: "GBP"},
DeclaredFees: {Amount: 500, Currency: "GBP"}
}).then(data => {
const d = data; // $ExpectType BankWireDirectPayInData
});
// create Payconiq PayIn
api.PayIns.create({
PaymentType: "PAYCONIQ",
ExecutionType: "WEB",
Tag: "custom meta",
AuthorId: "user-id",
CreditedWalletId: "wallet-id",
DebitedFunds: {Amount: 500, Currency: "GBP"},
Fees: {Amount: 500, Currency: "GBP"},
ReturnURL: "http://www.my-site.com/returnURL",
Country: "BE"
}).then(data => {
const d = data; // $ExpectType PayconiqWebPayInData
});
api.PayIns.create({
PaymentType: "DIRECT_DEBIT",
ExecutionType: "DIRECT",
AuthorId: "user-id",
CreditedUserId: "user-id",
CreditedWalletId: "wallet-id",
Fees: {Amount: 100, Currency: "GBP"},
DebitedFunds: {Amount: 2000, Currency: "GBP"},
StatementDescriptor: "placeholder",
MandateId: "mandate-id"
}).then(data => {
const d = data; // $ExpectType DirectDebitDirectPayInData
});
api.PayIns.create({
PaymentType: "DIRECT_DEBIT",
ExecutionType: "WEB",
AuthorId: "user-id",
CreditedWalletId: "wallet-id",
Fees: {Amount: 100, Currency: "GBP"},
DebitedFunds: {Amount: 2000, Currency: "GBP"},
ReturnURL: "placeholder",
DirectDebitType: "GIROPAY",
Culture: "EN"
}).then(data => {
const d = data; // $ExpectType DirectDebitWebPayInData
});
api.PayIns.get("payin-id").then(data => {
const d = data; // $ExpectType PayInData
});
api.PayIns.createRefund("payin-id", {AuthorId: "user-id"}).then(data => {
const d = data; // $ExpectType RefundData
});
api.PayIns.createRefund("payin-id", {
AuthorId: "user-id",
DebitedFunds: {Amount: 100, Currency: "EUR"},
Fees: {Amount: 15, Currency: "EUR"}
}).then(data => {
const d = data; // $ExpectType RefundData
});
api.PayIns.getRefunds("payin-id").then(data => {
const d = data; // $ExpectType RefundData[]
});
api.PayIns.createRecurringPayment({
AuthorId: "author-id",
CardId: "card-id",
CreditedUserId: "credited-user-id",
CreditedWalletId: "credited-wallet-id",
FirstTransactionDebitedFunds: {Amount: 10000, Currency: "EUR"},
FirstTransactionFees: {Amount: 10000, Currency: "EUR"},
Billing: {
FirstName: "FN", LastName: "LN", Address: {
AddressLine1: "20 T Street",
AddressLine2: "",
City: "London",
Country: "AD",
PostalCode: "FR43 2WE",
Region: "London"
}
},
Shipping: {
FirstName: "FN", LastName: "LN", Address: {
AddressLine1: "20 T Street",
AddressLine2: "",
City: "London",
Country: "AD",
PostalCode: "FR43 2WE",
Region: "London"
}
},
EndDate: 1234,
Frequency: "Monthly",
FixedNextAmount: false,
FractionedPayment: false,
Migration: false,
NextTransactionDebitedFunds: {Amount: 10000, Currency: "EUR"},
NextTransactionFees: {Amount: 10000, Currency: "EUR"},
FreeCycles: 0
}).then(data => {
const d = data; // $ExpectType PayInRecurringRegistrationData
});
api.PayIns.getRecurringPayin("payin-id").then(data => {
const d = data; // $ExpectType PayInRecurringRegistrationData
});
api.PayIns.updateRecurringPayin("payin-id", {
CardId: "card-id",
Billing: {
FirstName: "FN", LastName: "LN", Address: {
AddressLine1: "20 T Street",
AddressLine2: "",
City: "London",
Country: "AD",
PostalCode: "FR43 2WE",
Region: "London"
}
},
Shipping: {
FirstName: "FN", LastName: "LN", Address: {
AddressLine1: "20 T Street",
AddressLine2: "",
City: "London",
Country: "AD",
PostalCode: "FR43 2WE",
Region: "London"
}
}
}).then(data => {
const d = data; // $ExpectType PayInRecurringRegistrationData
});
api.PayIns.createRecurringPayInRegistrationCIT({
RecurringPayinRegistrationId: "recurring-payin-reg-id",
BrowserInfo: {
AcceptHeader: "text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8",
ColorDepth: 4,
JavaEnabled: true,
JavascriptEnabled: true,
Language: 'FR-FR',
ScreenHeight: 1800,
ScreenWidth: 400,
TimeZoneOffset: "+60",
UserAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
},
IpAddress: "1234",
SecureModeReturnURL: "http://www.my-site.com/returnURL",
DebitedFunds: {Amount: 100, Currency: "EUR"},
Fees: {Amount: 100, Currency: "EUR"},
StatementDescriptor: "lorem",
Tag: "custom meta"
}).then(data => {
const d = data; // $ExpectType RecurringPayInData
});
api.PayIns.createRecurringPayInRegistrationMIT({
RecurringPayinRegistrationId: "recurring-payin-reg-id",
DebitedFunds: {Amount: 100, Currency: "EUR"},
Fees: {Amount: 100, Currency: "EUR"},
StatementDescriptor: "lorem",
Tag: "custom meta"
}).then(data => {
const d = data; // $ExpectType RecurringPayInData
});
api.PayIns.getPaymentMethodMetadata({
Type: "BIN",
Bin: "1234"
}).then(data => {
const d = data; // $ExpectType PaymentMethodMetadata
});
/* Clients */
api.Clients.get().then(data => {
const d = data; // $ExpectType ClientData
});
api.Clients.update({PlatformType: "CROWDFUNDING_DONATION"}).then(data => {
const d = data; // $ExpectType ClientData
});
api.Clients.uploadLogo("...logobase64...").then(data => {
const d = data; // $ExpectType ClientData
});
api.Clients.uploadLogoFromFile("path/to/file").then(data => {
const d = data; // $ExpectType ClientData
});
api.Clients.getClientWallets().then(data => {
const d = data; // $ExpectType ClientWalletData[]
});
api.Clients.getClientWallet("CREDIT", "GBP").then(data => {
const d = data; // $ExpectType ClientWalletData
});
api.Clients.getClientWalletsByFundsType("FEES").then(data => {
const d = data; // $ExpectType ClientWalletData[]
});
api.Clients.getClientWalletTransactions("CREDIT", "GBP").then(data => {
const d = data; // $ExpectType TransactionData[]
});
/* PayOuts */
api.PayOuts.create({
Fees: {Amount: 0, Currency: "GBP"},
AuthorId: "user-id",
DebitedFunds: {Amount: 2000, Currency: "GBP"},
BankAccountId: "bank-id",
DebitedWalletId: "wallet-id",
BankWireRef: "placeholder",
Tag: "placeholder",
PaymentType: api.models.PayOutPaymentType.BankWire
}).then(data => {
const d = data; // $ExpectType PayOutData
});
api.PayOuts.get("payout-id").then(data => {
const d = data; // $ExpectType PayOutData
});
api.PayOuts.getRefunds("payout-id").then(data => {
const d = data; // $ExpectType RefundData[]
});
api.PayOuts.checkEligibility({
AuthorId: "user-id",
DebitedFunds: {Amount: 2000, Currency: "GBP"},
BankAccountId: "bank-id",
PayoutModeRequested: "INSTANT_PAYMENT",
DebitedWalletId: "wallet_id",
PaymentType: api.models.PayOutPaymentType.BankWire
}).then(data => {
const d = data; // $ExpectType CheckPayOutEligibilityData
});
/* Transfers */
api.Transfers.create({
Fees: {Amount: 0, Currency: "GBP"},
AuthorId: "user-id",
DebitedFunds: {Amount: 2000, Currency: "GBP"},
DebitedWalletId: "debit-wallet-id",
CreditedWalletId: "credit-wallet-id"
}).then(data => {
const d = data; // $ExpectType TransferData
});
api.Transfers.get("transfer-id").then(data => {
const d = data; // $ExpectType TransferData
});
api.Transfers.createRefund("transfer-id", {AuthorId: "user-id"}).then(
data => {
const d = data; // $ExpectType RefundData
}
);
api.Transfers.getRefunds("transfer-id").then(data => {
const d = data; // $ExpectType RefundData[]
});
/* BankingAliases */
api.BankingAliases.create({
Country: "GB",
OwnerName: "owner-id",
Type: 'IBAN',
WalletId: '1234'
}).then(data => {
const d = data; // $ExpectType IBANBankingAliasData
});
api.BankingAliases.get("alias-id").then(data => {
const d = data; // $ExpectType IBANBankingAliasData
});
api.BankingAliases.getAll().then(data => {
const d = data; // $ExpectType IBANBankingAliasData[]
});
api.BankingAliases.update({
Id: '1234',
Active: false
}).then(data => {
const d = data; // $ExpectType IBANBankingAliasData
});
api.BankingAliases.deactivate("alias-id").then(data => {
const d = data; // $ExpectType IBANBankingAliasData
});
api.BankingAliases.activate("alias-id").then(data => {
const d = data; // $ExpectType IBANBankingAliasData
});
/* DisputeDocuments */
api.DisputeDocuments.getAll().then(data => {
const d = data; // $ExpectType DisputeDocumentData[]
});
api.DisputeDocuments.get("dispute-doc-id").then(data => {
const d = data; // $ExpectType DisputeDocumentData
});
api.DisputeDocuments.createDisputeDocumentConsult("dispute-doc-id").then(
data => {
const d = data; // TODO unsure of expected type
}
);
/* Repudiations */
api.Repudiations.getRefunds("repudiation-id").then(data => {
const d = data; // $Expect RefundData[]
});
/* Disputes */
api.Disputes.get("dispute-id").then(data => {
const d = data; // $Expect DisputeData
});
api.Disputes.getAll().then(data => {
const d = data; // $Expect DisputeData[]
});
api.Disputes.update({Tag: "any tags"}).then(data => {
const d = data; // $Expect DisputeData
});
api.Disputes.contestDispute("dispute-id", {
Amount: 1000,
Currency: "GBP"
}).then(data => {
const d = data; // $Expect DisputeData
});
api.Disputes.resubmitDispute("dispute-id").then(data => {
const d = data; // $Expect DisputeData
});
api.Disputes.closeDispute("dispute-id").then(data => {
const d = data; // $Expect DisputeData
});
api.Disputes.getTransactions("dispute-id").then(data => {
const d = data; // $Expect TransactionData[]
});
api.Disputes.getDisputesForWallet("wallet-id").then(data => {
const d = data; // $Expect DisputeData[]
});
api.Disputes.getDisputesForUser("user-id").then(data => {
const d = data; // $Expect DisputeData[]
});
api.Disputes.getRepudiation("repudiation-id").then(data => {
const d = data; // $Expect RepudationData
});
api.Disputes.createSettlementTransfer(
{
AuthorId: "user-id",
DebitedFunds: {Amount: 1000, Currency: "GBP"},
Fees: {Amount: 200, Currency: "GBP"}
},
"repudiation-id"
).then(data => {
const d = data; // $Expect DisputeData
});
api.Disputes.getSettlementTransfer("settlement-id").then(data => {
const d = data; // $Expect DisputeData
});
api.Disputes.getDocumentsForDispute("dispute-id").then(data => {
const d = data; // $Expect DisputeDocumentData[]
});
api.Disputes.updateDisputeDocument("dispute-id", {Tag: "update"}).then(
data => {
const d = data; // $Expect DisputeDocumentData
}
);
api.Disputes.createDisputeDocument("dispute-id", {
Type: "DELIVERY_PROOF"
}).then(data => {
const d = data; // $Expect DisputeData
});
api.Disputes.createDisputeDocumentPage("dispute-id", "dispute-doc-id", {
File: "...base64string..."
}).then(data => {
const d = data; // $Expect DisputeData
});
api.Disputes.createDisputeDocumentPageFromFile(
"dispute-id",
"dispute-doc-id",
"path/to/file"
).then(data => {
const d = data; // $Expect DisputeData
});
api.Disputes.getPendingSettlement().then(data => {
const d = data; // $Expect DisputeData
});
/* Events */
api.Events.getAll().then(data => {
const d = data; // $Expect EventData[]
});
/* Responses */
api.Responses.get().then(data => {
const d = data; // $ExpectType any[]
});
/* Mandates */
api.Mandates.create({
BankAccountId: "bank-account-id",
ReturnURL: "https://return-url.com",
Culture: "EN"
}).then(data => {
const d = data; // $ExpectType MandateData
});
api.Mandates.getAll().then(data => {
const d = data; // $ExpectType MandateData[]
});
api.Mandates.get("mandate-id").then(data => {
const d = data; // $ExpectType MandateData
});
api.Mandates.cancel("mandate-id").then(data => {
const d = data; // $ExpectType MandateData
});
api.Mandates.getMandatesForUser("user-id").then(data => {
const d = data; // $ExpectType MandateData[]
});
api.Mandates.getMandatesForBankAccount("user-id", "bank-account-id").then(
data => {
const d = data; // $ExpectType MandateData[]
}
);
api.Mandates.getTransactions("mandate-id").then(data => {
const d = data; // $ExpectType TransactionData[]
});
/* Hooks */
api.Hooks.create({
Url: "https://hook-url.com",
EventType: "DISPUTE_ACTION_REQUIRED"
}).then(data => {
const d = data; // $ExpectType HookData
});
api.Hooks.get("hook-id").then(data => {
const d = data; // $ExpectType HookData
});
api.Hooks.update({Id: "hook-id", Url: "https://new-hook.com/hooks"}).then(
data => {
const d = data; // $ExpectType HookData
}
);
api.Hooks.getAll().then(data => {
const d = data; // $ExpectType HookData[]
});
/* Reports */
api.Reports.create({Columns: ["Alias", "AuthorId"], ReportType: "WALLETS"}).then(data => {
const d = data; // $ExpectType ReportData
});
api.Reports.get("report-id").then(data => {
const d = data; // $ExpectType ReportData
});
api.Reports.getAll().then(data => {
const d = data; // $ExpectType ReportData[]
});
api.Idempotency.get("idempotency-key").then(data => {
const d = data; // $ExpectType IdempotencyData
});
api.Regulatory.getCountryAuthorizations("FR").then(data => {
const d = data; // $ExpectType CountryAuthorizationData
});
api.Regulatory.getAllCountriesAuthorizations().then(data => {
const d = data; // $ExpectType CountryAuthorizationData[]
});
api.Deposits.create(new api.models.Deposit({
AuthorId: "placeholder",
DebitedFunds: {
Amount: 1000,
Currency: "EUR"
},
CardId: "placeholder",
SecureModeReturnURL: "https://lorem",
IpAddress: "2001:0620:0000:0000:0211:24FF:FE80:C12C",
BrowserInfo: {
AcceptHeader: "text/html, application/xhtml+xml, application/xml;q=0.9, /;q=0.8",
ColorDepth: 4,
JavaEnabled: true,
JavascriptEnabled: true,
Language: 'FR-FR',
ScreenHeight: 1800,
ScreenWidth: 400,
TimeZoneOffset: "+60",
UserAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
}
}), data => {
const d = data; // $ExpectType DepositData
});
api.Deposits.get("placeholder", data => {
const d = data; // $ExpectType DepositData
});
api.Deposits.cancel("placeholder", data => {
const d = data; // $ExpectType DepositData
});
api.PayIns.createCardPreAuthorizedDepositPayIn({
CreditedWalletId: "placeholder",
DebitedFunds: {
Amount: 1000,
Currency: "EUR"
},
Fees: {
Amount: 1000,
Currency: "EUR"
},
DepositId: "placeholder"
}, data => {
const d = data; // $ExpectType CardPreAuthorizedDepositPayInData
});
api.Conversions.getConversionRate("EUR", "GBP")
.then(data => {
const d = data; // $ExpectType ConversionRateData
});
api.Conversions.createInstantConversion(
{
AuthorId: "author-id",
CreditedWalletId: "credited-wallet-id",
DebitedWalletId: "debited-wallet-id",
CreditedFunds: {
Amount: 0,
Currency: "GBP"
},
DebitedFunds: {
Amount: 79,
Currency: "EUR"
}
}
).then(data => {
const d = data; // $ExpectType ConversionData
});
api.Conversions.createQuotedConversion(
{
QuoteId: "quote-id",
AuthorId: "author-id",
CreditedWalletId: "credited-wallet-id",
DebitedWalletId: "debited-wallet-id"
}
).then(data => {
const d = data; // $ExpectType ConversionData
});
api.Conversions.getConversion("conversion-id")
.then(data => {
const d = data; // $ExpectType ConversionData
});
api.Conversions.createQuote(
{
CreditedFunds: {
Amount: 0,
Currency: "GBP"
},
DebitedFunds: {
Amount: 79,
Currency: "EUR"
},
Duration: 60
}
).then(data => {
const d = data; // $ExpectType QuoteData
});
api.Conversions.getQuote("quote-id")
.then(data => {
const d = data; // $ExpectType QuoteData
});
/* Namespace Access */
const bankAccountType: Mangopay.bankAccount.BankAccountType = "CA";
const bankingAliasType: Mangopay.bankingAlias.BankingAliasType = "IBAN";
const billingData: Mangopay.billing.BillingData = {
Address: address
};
const birthplace: Mangopay.birthplace.Birthplace = {
City: "palceholder",
Country: "FR"
};
const cardType: Mangopay.card.CardType = "CB_VISA_MASTERCARD";
const paymentStatus: Mangopay.cardPreAuthorization.PaymentStatus = "CANCELED";
const createCardRegistration: Mangopay.cardRegistration.CreateCardRegistration = {
UserId: "placeholder",
Currency: "AFN"
};
const businessType: Mangopay.client.BusinessType = "CROWDFUNDING";
const disputeReasonType: Mangopay.dispute.DisputeReasonType = "AUTHORISATION_DISPUTED";
const disputeDocumentType: Mangopay.disputeDocument.DisputeDocumentType = "DELIVERY_PROOF";
const eventType: Mangopay.event.EventType = "DISPUTE_ACTION_REQUIRED";
const hookStatus: Mangopay.hook.HookStatus = "ENABLED";
const idempotency: Mangopay.idempotency.IdempotencyData = {
Id: "placeholder",
Tag: "placeholder",
ContentLength: "123",
ContentType: "placeholder",
CreationDate: 1234,
Date: 1234,
RequestURL: "placeholder",
Resource: undefined,
StatusCode: "1234"
};
const kycDocumentType: Mangopay.kycDocument.KycDocumentType = "ADDRESS_PROOF";
const mandateStatus: Mangopay.mandate.MandateStatus = "CREATED";
const moneyData: Mangopay.money.MoneyData = {
Currency: "AFN",
Amount: 1234
};
const directDebitType: Mangopay.payIn.DirectDebitType = "GIROPAY";
const payoutModeRequestedType: Mangopay.payOut.PayoutModeRequestedType = "INSTANT_PAYMENT";
const refundReasonType: Mangopay.refund.RefundReasonType = "BANKACCOUNT_HAS_BEEN_CLOSED";
const reportColumn: Mangopay.report.Column = "Tag";
const avsResult: Mangopay.securityInfo.AVSResult = "ADDRESS_MATCH_ONLY";
const createSettlementTransfer: Mangopay.settlementTransfer.CreateSettlementTransfer = {
AuthorId: "placeholder",
DebitedFunds: {
Amount: 1234,
Currency: "AFN"
},
Fees: {
Amount: 1234,
Currency: "AFN"
}
};
const shippingData: Mangopay.shipping.ShippingData = {
Address: address,
FirstName: "placeholder",
LastName: "placeholder"
};
const shippingAddressData: Mangopay.shippingAddress.ShippingAddressData = {
Address: address,
RecipientName: "placeholder"
};
const transactionType: Mangopay.transaction.TransactionType = "TRANSFER";
const createTransfer: Mangopay.transfer.CreateTransfer = {
AuthorId: "placeholder",
Fees: {
Amount: 1234,
Currency: "AFN"
},
DebitedFunds: {
Amount: 1234,
Currency: "AFN"
},
CreditedWalletId: "placeholder",
DebitedWalletId: "placeholder"
};
const createUboDeclaration: Mangopay.uboDeclaration.CreateUboDeclaration = {
Ubos: []
};
const personType: Mangopay.user.PersonType = Mangopay.models.PersonType.Legal;
const clientFundsType: Mangopay.wallet.ClientFundsType = "CREDIT";
const timestamp: Mangopay.Timestamp = 1234;
const secureMode: Mangopay.SecureMode = "DEFAULT";
const countryISO: Mangopay.CountryISO = "FR";
const currencyISO: Mangopay.CurrencyISO = "EUR";