# Data Types
To ensure effective communication and compatibility between the API and its clients, a set of defined data types is used. These data types establish a consistent format for data exchange, reducing the risk of misunderstandings and errors. This section outlines the different data types employed in the system and their corresponding descriptions, serving as a quick reference for developers working with the API.
## PaymentMethod
All available payment methods can be requested via [System Info](#info).
## PaymentData
Payment data is a simple JSON object that contains the `type` which is the [`PaymentMethod`](#PaymentMethod) and payment fields + their value.
```typescript
type PaymentData = {
type: PaymentMethod
[key: string]: any
}
```
> Example
```json
{
"type": "paypal",
"email": "satoshi@gmx.com",
"phone": "",
"reference": "",
"userName": ""
}
```
Payment Method | Required Fields | Optional Fields
----------------------|----------------------------------|------------
`airtelMoney` | `phone` | `reference`
`alias` | `beneficiary`
`accountNumber` | `reference`
`bancolombia` | `beneficiary`
`accountNumber` | `reference`
`bizum` | `beneficiary`
`phone` | `reference`
`blik` | `beneficiary`
`phone` | `reference`
`cbu` | `beneficiary`
`accountNumber` | `reference`
`chippercash` | `userName` | `reference`
`cvu` | `beneficiary`
`accountNumber` | `reference`
`eversend` | `userName` | `reference`
`fasterPayments` | `beneficiary`
`ukBankAccount`
`ukSortCode` | `reference`
`friends24` | `beneficiary`
`phone` | `reference`
`giftCard.amazon.XZY` | `beneficiary`
`email` | `reference`
`instantSepa` | `beneficiary`
`iban`
`bic` | `reference`
`iris` | `beneficiary`
`phone` | `reference`
`keksPay` | `beneficiary`
`phone` | `reference`
`liquid` | `receiveAddress` |
`lnurl` | `lnurlAddress` |
`lydia` | `beneficiary`
`phone` | `reference`
`m-pesa` | `phone` | `reference`
`mbWay` | `beneficiary`
`phone` | `reference`
`mercadoPago` | At least one:
`phone`
`email` | `reference`
`mobilePay` | `beneficiary`
`phone` | `reference`
`moov` | `phone` | `reference`
`mtn` | `phone` | `reference`
`n26` | `userName`
`email`
`phone` | `reference`
`nationalTransferBG` | `beneficiary`
`iban` OR `accountNumber`
`bic` | `reference`
`nationalTransferCZ` | `beneficiary`
`iban` OR `accountNumber`
`bic` | `reference`
`nationalTransferDK` | `beneficiary`
`iban` OR `accountNumber`
`bic` | `reference`
`nationalTransferHU` | `beneficiary`
`iban` OR `accountNumber`
`bic` | `reference`
`nationalTransferNO` | `beneficiary`
`iban` OR `accountNumber`
`bic` | `reference`
`nationalTransferPL` | `beneficiary`
`iban` OR `accountNumber`
`bic` | `reference`
`nationalTransferRO` | `beneficiary`
`iban` OR `accountNumber`
`bic` | `reference`
`nationalTransferTR` | `beneficiary`
`iban` OR `accountNumber`
`bic` | `reference`
`nationalTransferNG` | `beneficiary`
`accountNumber` | `reference`
`nequi` | `beneficiary`
`phone` | `reference`
`neteller` | `beneficiary`
`email` | `reference`
`orangeMoney` | `phone` | `reference`
`papara` | `beneficiary`
`phone` | `reference`
`payday` | `userName` | `reference`
`paylib` | `beneficiary`
`phone` | `reference`
`paypal` | At least one:
`userName`
`email`
`phone` | `reference`
`paysera` | `beneficiary`
`phone` | `reference`
`rappipay` | `phone` | `reference`
`revolut` | `userName`
`email`
`phone` | `reference`
`satispay` | `beneficiary`
`phone` | `reference`
`sepa` | `beneficiary`
`iban`
`bic` | `reference`
`sinpe` | `beneficiary`
`iban`
`bic` | `reference`
`sinpeMovil` | `beneficiary`
`phone` | `reference`
`skrill` | `beneficiary`
`email` | `reference`
`straksbetaling` | `beneficiary`
`accountNumber` | `reference`
`swish` | `beneficiary`
`phone` | `reference`
`twint` | `beneficiary`
`phone` | `reference`
`verse` | `beneficiary`
`phone` | `reference`
`vipps` | `beneficiary`
`phone` | `reference`
`wave` | `phone` | `reference`
`wise` | At least one:
`userName`
`email`
`phone` | `reference`
## MeansOfPayment
The means of payment are a map of currencies and [`PaymentMethod`](#PaymentMethod).
```typescript
type MeansOfPayment = {
[key?: Currency]: PaymentMethod[]
}
```
> Example
```json
{
"EUR": ["sepa", "paypal"],
"CHF": ["twint", "paypal"]
}
```