Download OpenAPI specification:
This is Payall's public API for Machine to Machine communication.
Provides information about the fields required to make a payment based on supplied parameters. Different payment channels will yield various results based on payment processors and compliance requirements.
Data provided by this endpoint can be used to build UI for customers to provide relevant payment data or to just collect it from internal system to execute the payment swiftly by avoiding holdups due to missing data.
Please note that response from this endpoint will not include base fields required by Recipient entities (like first or last name of a person).
Sample response for B2P payment of 100 PLN to Poland from EUR account:
{
"dob": {
"title": "Date of birth",
"data_type": "DOB",
},
"registration_address": {
"city": {
"mask": "^[a-zA-Z\/\\\\-:().,='+0-9\\\\s]{1,35}$",
"title": "City",
"data_type": "STRING",
"max_length": 255,
"min_length": 1,
},
"street": {
"mask": "^[a-zA-Z\/\\-:().,='+0-9\\s]{1,35}$",
"title": "Street name",
"data_type": "STRING",
"max_length": 255,
"min_length": 1,
},
"country": {
"title": "Country of residence",
"data_type": "COUNTRY",
}
}
}
Sample response for B2B payment of 100 PLN to Poland from EUR account:
{
"registration_address": {
"city": {
"mask": "^[a-zA-Z\/\\\\-:().,='+0-9\\\\s]{1,35}$",
"title": "City",
"data_type": "STRING",
"max_length": 255,
"min_length": 1,
},
"street": {
"mask": "^[a-zA-Z\/\\-:().,='+0-9\\s]{1,35}$",
"title": "Street name",
"data_type": "STRING",
"max_length": 255,
"min_length": 1,
},
"country": {
"title": "Country of residence",
"data_type": "COUNTRY",
}
}
}
| recipient_country required | string <iso-3166-alpha-2> Example: recipient_country=IT |
| payment_type required | string Enum: "B2P" "B2B" "P2B" "P2P" |
| payer_currency required | string <iso-4217> = 3 characters Example: payer_currency=USD |
| instrument_category required | string Enum: "BankAccount" "MobileWallet" "CashPickup" "Card" |
| amount required | integer Example: amount=100023 Amounts are always in the smallest currency unit. Example: 1000.23 USD is represented as 100023 cents. |
| recipient_currency required | string <iso-4217> = 3 characters Example: recipient_currency=EUR |
{- "recipient": {
- "type": "Person",
- "registration_address": {
- "city": {
- "title": "i18n.city",
- "description": null,
- "mask": "^[\\p{L}/:().,='+0-9\\s-]{1,35}$",
- "required": true,
- "data_type": "STRING",
- "min_length": 1,
- "max_length": 255,
- "data_values": null,
- "placeholder": null
}, - "street": {
- "title": "i18n.streetAddress",
- "description": null,
- "mask": "^[\\p{L}\\/:()#.,='+0-9\\s-]{1,100}$",
- "required": true,
- "data_type": "STRING",
- "min_length": 1,
- "max_length": 255,
- "data_values": null,
- "placeholder": null
}, - "country": {
- "title": "i18n.countryOfResidence",
- "description": null,
- "mask": null,
- "required": true,
- "data_type": "COUNTRY",
- "min_length": null,
- "max_length": null,
- "data_values": null,
- "placeholder": null
}, - "postal_code": {
- "title": "i18n.postalCode",
- "description": null,
- "mask": null,
- "required": false,
- "data_type": "STRING",
- "min_length": 1,
- "max_length": 255,
- "data_values": null,
- "placeholder": null
}, - "unit_number": {
- "title": "i18n.unitNumber",
- "description": null,
- "mask": "^([a-zA-Z0-9\\s\\-.])*$",
- "required": false,
- "data_type": "STRING",
- "min_length": 1,
- "max_length": 20,
- "data_values": null,
- "placeholder": null
}, - "building_name": {
- "title": "i18n.buildingName",
- "description": null,
- "mask": null,
- "required": false,
- "data_type": "STRING",
- "min_length": 1,
- "max_length": 255,
- "data_values": null,
- "placeholder": null
}, - "state_province": {
- "title": "i18n.stateOrProvince",
- "description": null,
- "mask": null,
- "required": false,
- "data_type": "STRING",
- "min_length": 2,
- "max_length": 255,
- "data_values": null,
- "placeholder": null
}, - "building_number": {
- "title": "i18n.buildingNumber",
- "description": null,
- "mask": "^([a-zA-Z0-9\\s\\-.])*$",
- "required": false,
- "data_type": "STRING",
- "min_length": 1,
- "max_length": 20,
- "data_values": null,
- "placeholder": null
}
}
}, - "payment_instrument": {
- "category": "BankAccount",
- "currency": {
- "title": "i18n.currency",
- "description": "i18n.recipientBankAccountCurrency",
- "mask": null,
- "required": true,
- "data_type": "RECIPIENT_CURRENCY",
- "min_length": null,
- "max_length": null,
- "data_values": [ ],
- "placeholder": null
}, - "iban": {
- "title": "i18n.iban",
- "description": "i18n.internationalBankAccountNumber",
- "mask": "^IT[0-9]{2}[A-Z][0-9]{10}[a-zA-Z0-9]{12}",
- "required": true,
- "data_type": "IBAN",
- "min_length": null,
- "max_length": null,
- "data_values": null,
- "placeholder": null
}
}, - "kyt": {
- "payment_purpose": {
- "title": "i18n.purposeOfPayment",
- "description": "i18n.purposeOfPayment",
- "mask": null,
- "required": true,
- "data_type": "SELECT",
- "min_length": null,
- "max_length": null,
- "data_values": [
- {
- "key": "business_investment",
- "value": "Business/Investment"
}, - {
- "key": "salary",
- "value": "Salary"
}, - {
- "key": "payment_of_goods_and_services",
- "value": "Payment of goods and services"
}, - {
- "key": "employee_colleague",
- "value": "Employee Colleague"
}, - {
- "key": "savings",
- "value": "Savings"
}, - {
- "key": "education",
- "value": "Education"
}, - {
- "key": "payment_of_bills",
- "value": "Payment of bills"
}, - {
- "key": "wedding_expenses",
- "value": "Wedding Expenses"
}, - {
- "key": "medical_expenses",
- "value": "Medical Expenses"
}, - {
- "key": "funeral_expenses",
- "value": "Funeral Expenses"
}, - {
- "key": "purchase_of_property",
- "value": "Purchase of Property"
}, - {
- "key": "payment_of_loan",
- "value": "Payment of Loan"
}, - {
- "key": "household_maintenance",
- "value": "Household Maintenance"
}, - {
- "key": "family_maintenance",
- "value": "Family Maintenance"
}
], - "placeholder": null
}
}, - "example": {
- "recipient": {
- "type": "Person",
- "first_name": "John",
- "last_name": "Doe",
- "middle_name": "James",
- "mobile_number": "373261912905",
- "email": "user@mailinator.com",
- "registration_address": {
- "city": "",
- "street": "",
- "country": "",
- "postal_code": "",
- "unit_number": "",
- "building_name": "",
- "state_province": "",
- "building_number": ""
}
}, - "payment_instrument": {
- "category": "BankAccount",
- "currency": "",
- "iban": ""
}, - "kyt": {
- "payment_purpose": ""
}
}
}Use this method to initiate a single Payment.
| end_to_end_id | string (EndToEndId) <= 35 characters End To End Identification This filed follows ISO 20022 guidelines. Unique identification, as assigned by the initiating party, to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. If not provided, a random UUID based identifier will be generated. |
| client_payment_id | string External reference identifying the payment in your (the client) system. |
Person (object) or Business (object) [Optional] New recipient information. This recipient will be persisted for the future and linked to the payment
instrument provided via the If recipient data matches existing recipient in the system then existing recipient
will be used and it's ID will be returned in the corresponding Matching is done based on the required fields for Alternatively | |
MobileWallet (object) or BankAccount (object) or CashPickup (object) or Card (object) [Optional] New payment instrument information.
This payment instrument will be persisted and linked to the recipient
provided via the Alternatively | |
| recipient_id | string <uuid> [Optional] Id of exiting recipient. Alternatively |
| payment_instrument_id | string <uuid> [Optional] Id of existing payment instrument. When payment_instrument_id is provided then
|
| source_account_id required | string <uuid> Id of the account to use as source of funds. |
ForwardPaymentOperation (object) or ReversePaymentOperation (object) | |
| exchange_rate_id | string <uuid> [Optional] Id of the exchange rate to use for the payment. If not provided then the best available exchange rate will be used. Note that this is the ID of the exchange rate obtained from the
You can either use the Response with HTTP code 400 will be sent if provided exchange rate expired. |
| carded_rate_id | string <uuid> [Optional] Id of the carded exchange rate to use for the payment. If not provided then the best available carded exchange rate will be used. Note that this is the ID of the exchange rate obtained from the carded rates feed.
For non-carded rates use the You can either use the Response with HTTP code 400 will be sent if provided exchange rate expired. |
required | object (KYT) Transaction information required for KYT process. |
{- "end_to_end_id": "PA-ecf87cf814cd4d95a970ac7e8d7e7ef3",
- "client_payment_id": "string",
- "recipient": {
- "type": "Person",
- "external_id": "string",
- "email": "user@example.com",
- "first_name": "string",
- "last_name": "string",
- "middle_name": "string",
- "mobile_number": "string",
- "dob": "2019-08-24",
- "occupation": "general_worker",
- "registration_address": {
- "city": "string",
- "street": "string",
- "country": "string",
- "postal_code": "string",
- "unit_number": "string",
- "building_name": "string",
- "state_province": "string",
- "building_number": "string"
}, - "identity_document": {
- "type": "string",
- "type_version_number": "string",
- "country_issuing": "string",
- "number": "string",
- "national_id_number": "string",
- "national_id_number_type": "string",
- "series": "string",
- "issue_date": "2019-08-24T14:15:22Z",
- "place_of_issue": "string",
- "authority_of_issue": "string",
- "expiry_date": "2019-08-24T14:15:22Z",
- "driver_license_number": "string",
- "driver_license_serial_number": "string",
- "driver_license_version_number": "string"
}
}, - "payment_instrument": {
- "category": "BankAccount",
- "currency": "string",
- "mobile_number": "string",
- "phone_operator": "string"
}, - "recipient_id": "b6731cb5-d462-49ea-afb8-7933b670b560",
- "payment_instrument_id": "9107be81-0e98-4406-8bb9-e4d1c6795a62",
- "source_account_id": "75fca71f-6b38-4768-804d-ffb93d0aa579",
- "operation": {
- "type": "Forward",
- "source_amount": {
- "currency": "EUR",
- "value": 10023
}, - "target_currency": "PLN"
}, - "exchange_rate_id": "516fcd42-a1e5-4a7c-9b28-b7869f5f651b",
- "carded_rate_id": "7a29f3e3-7ccc-4f67-af1d-6df58596d191",
- "kyt": {
- "destination_country": "GB",
- "payment_purpose": "family_maintenance",
- "commercial_activity": "transportation",
- "payment_description": "string",
- "beneficiary_bank_account_type": "checking",
- "supporting_documents": [
- {
- "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6",
- "document_type": "invoice"
}
], - "source_of_funds": "salary"
}
}{- "end_to_end_id": "PA-ecf87cf814cd4d95a970ac7e8d7e7ef3",
- "client_payment_id": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "initiated_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "status": "string",
- "fees": {
- "payer": {
- "currency": "EUR",
- "value": 10023
}, - "recipient": {
- "currency": "EUR",
- "value": 10023
}
}, - "exchange_rate": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "source_amount": {
- "currency": "EUR",
- "value": 10023
}, - "target_amount": {
- "currency": "EUR",
- "value": 10023
}, - "expiration_date": "2019-08-24T14:15:22Z"
}, - "recipient_id": "b6731cb5-d462-49ea-afb8-7933b670b560",
- "payment_instrument_id": "9107be81-0e98-4406-8bb9-e4d1c6795a62"
}| id required | string <uuid> |
{- "end_to_end_id": "PA-ecf87cf814cd4d95a970ac7e8d7e7ef3",
- "client_payment_id": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "initiated_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "status": "string",
- "fees": {
- "payer": {
- "currency": "EUR",
- "value": 10023
}, - "recipient": {
- "currency": "EUR",
- "value": 10023
}
}, - "exchange_rate": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "source_amount": {
- "currency": "EUR",
- "value": 10023
}, - "target_amount": {
- "currency": "EUR",
- "value": 10023
}, - "expiration_date": "2019-08-24T14:15:22Z"
}, - "recipient_id": "b6731cb5-d462-49ea-afb8-7933b670b560",
- "payment_instrument_id": "9107be81-0e98-4406-8bb9-e4d1c6795a62"
}Update Payment after it has been stopped due to insufficient KYC/B/T information.
This call allows updating only KY related information. If additional recipient
information is required please use PATCH Recipient operation.
This operation is allowed only for transactions in KYT pending status.
| id required | string <uuid> |
Array of objects (SupportingDocument) Documents that will be considered as proof for the payment. This field may be required depending on your KYT settings. Consult the discovery endpoint for more information. This field can be updated only for payments with pending KYT for which a request for additional documents was issued. | |
| exchange_rate_id | string <uuid> New exchange rate ID in case previous one expired.
New exchange rate must use the same parameters as original one.
Use This field can be updated only for payments with expired exchange rate. |
{- "supporting_documents": [
- {
- "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6",
- "document_type": "invoice"
}
], - "exchange_rate_id": "516fcd42-a1e5-4a7c-9b28-b7869f5f651b"
}{- "end_to_end_id": "PA-ecf87cf814cd4d95a970ac7e8d7e7ef3",
- "client_payment_id": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "initiated_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "status": "string",
- "fees": {
- "payer": {
- "currency": "EUR",
- "value": 10023
}, - "recipient": {
- "currency": "EUR",
- "value": 10023
}
}, - "exchange_rate": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "source_amount": {
- "currency": "EUR",
- "value": 10023
}, - "target_amount": {
- "currency": "EUR",
- "value": 10023
}, - "expiration_date": "2019-08-24T14:15:22Z"
}, - "recipient_id": "b6731cb5-d462-49ea-afb8-7933b670b560",
- "payment_instrument_id": "9107be81-0e98-4406-8bb9-e4d1c6795a62"
}| recipient_id | string <uuid> ID of the recipient to get payment instruments belonging to this recipient. |
| page_number | integer >= 1 Default: 1 Page number. |
| page_size | integer [ 1 .. 100 ] Default: 20 Page size. |
{- "pagination": {
- "pageNumber": 0,
- "totalPages": 0,
- "totalElements": 0,
- "pageSize": 0,
- "offset": 0
}, - "accounts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "category": "BankAccount",
- "currency": "string",
- "mobile_number": "string",
- "phone_operator": "string"
}
]
}| recipient_id | string <uuid> ID of the recipient to get payment instruments belonging to this recipient. |
| page_number | integer >= 1 Default: 1 Page number. |
| page_size | integer [ 1 .. 100 ] Default: 20 Page size. |
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "category": "BankAccount",
- "currency": "string",
- "mobile_number": "string",
- "phone_operator": "string"
}
]| recipient_id required | string <uuid> ID of an existing recipient that this instrument belongs to. It is required for new payment instrument creation. |
| category required | string (PaymentInstrumentCategory) Enum: "BankAccount" "MobileWallet" "CashPickup" "Card" |
| currency | string |
| mobile_number required | string |
| phone_operator | string |
| country | string If a country is provided, pre-validation of the request is performed. |
{- "recipient_id": "b6731cb5-d462-49ea-afb8-7933b670b560",
- "category": "BankAccount",
- "currency": "string",
- "mobile_number": "string",
- "phone_operator": "string",
- "country": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}| id required | string <uuid> |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "category": "BankAccount",
- "currency": "string",
- "mobile_number": "string",
- "phone_operator": "string"
}| id required | string <uuid> |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "source_amount": {
- "currency": "EUR",
- "value": 10023
}, - "target_amount": {
- "currency": "EUR",
- "value": 10023
}, - "expiration_date": "2019-08-24T14:15:22Z"
}| id required | string <uuid> |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "source_amount": {
- "currency": "EUR",
- "value": 10023
}, - "target_amount": {
- "currency": "EUR",
- "value": 10023
}, - "expiration_date": "2019-08-24T14:15:22Z"
}The exchange rate can be later used to initiate a new payment. Obtaining the exchange rate before payment is optional.
| source_account_id | string <uuid> ID of the account to use as source of funds. Provide either source or target amount to receive the opposite value. |
| source_currency | string <iso-4217> = 3 characters Currency of the source amount. This field is required only if both |
object (Amount) | |
object (Amount) | |
| recipient_instrument_id | string Represents recipient's payment instrument id of already existent entity. This field is for backward compatibility and will be removed in the future.
Please use |
| payment_instrument_category | string (PaymentInstrumentCategory) Enum: "BankAccount" "MobileWallet" "CashPickup" "Card" |
| payment_type | string (PaymentType) Enum: "B2B" "B2P" "P2B" "P2P" |
| target_currency | string <iso-4217> = 3 characters |
| destination_country required | string <iso-3166-alpha-2> Destination country for the payment. 3166-1 alpha-2 value.
Hint: It is |
{- "source_account_id": "75fca71f-6b38-4768-804d-ffb93d0aa579",
- "source_currency": "EUR",
- "source_amount": {
- "currency": "EUR",
- "value": 10023
}, - "target_amount": {
- "currency": "EUR",
- "value": 10023
}, - "recipient_instrument_id": "string",
- "payment_instrument_category": "BankAccount",
- "payment_type": "B2B",
- "target_currency": "GBP",
- "destination_country": "GB"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "source_amount": {
- "currency": "EUR",
- "value": 10023
}, - "target_amount": {
- "currency": "EUR",
- "value": 10023
}, - "expiration_date": "2019-08-24T14:15:22Z"
}Confirm the exchange rate to lock it for future use. This operation is required if you want to use the exchange rate for a payment after exchange rate quote expires. This is valid only for quoted rates program configurations.
This operation will block funds on the source account. The funds will be release automatically if the payment is not initiated within the timeframe configured for your program.
If needed you can cancel the quote to unblock funds earlier.
| exchange_rate_id | string <uuid> ID of the exchange rate to confirm. |
{- "exchange_rate_id": "516fcd42-a1e5-4a7c-9b28-b7869f5f651b"
}Cancel the exchange rate to unblock funds on the source account. This operation is allowed only for exchange rates that have been confirmed.
| exchange_rate_id | string <uuid> ID of the exchange rate to cancel. |
{- "exchange_rate_id": "516fcd42-a1e5-4a7c-9b28-b7869f5f651b"
}{- "rates": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "from_currency": "USD",
- "to_currency": "EUR",
- "valid_from": "2023-03-01T00:00:00Z",
- "valid_to": "2023-03-01T04:00:00Z",
- "payment_instrument_category": "BankAccount",
- "rate": 0.8783,
- "tiers": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "from_amount": 100023,
- "rate": 0.8801
}
]
}
]
}| page_number | integer >= 1 Default: 1 Page number. |
| page_size | integer [ 1 .. 100 ] Default: 20 Page size. |
[- {
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "owner_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
- "owner_name": "John Doe vs Trade Company",
- "created": "2023-10-27T08:57:09.374902",
- "number": "CC002200MONE00012398064447EUR",
- "name": "Digital Account",
- "currency": "EUR",
- "balance": {
- "currency": "EUR",
- "value": 10023
}
}
]| page_number | integer >= 1 Default: 1 Page number. |
| page_size | integer [ 1 .. 100 ] Default: 20 Page size. |
{- "pagination": {
- "pageNumber": 0,
- "totalPages": 0,
- "totalElements": 0,
- "pageSize": 0,
- "offset": 0
}, - "accounts": [
- {
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "owner_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
- "owner_name": "John Doe vs Trade Company",
- "created": "2023-10-27T08:57:09.374902",
- "number": "CC002200MONE00012398064447EUR",
- "name": "Digital Account",
- "currency": "EUR",
- "balance": {
- "currency": "EUR",
- "value": 10023
}
}
]
}| page_number | integer >= 1 Default: 1 Page number. |
| page_size | integer [ 1 .. 100 ] Default: 20 Page size. |
| id | string <uuid> ID of the recipient to get. |
| external_id | string External ID of the recipient to get. |
{- "pagination": {
- "pageNumber": 0,
- "totalPages": 0,
- "totalElements": 0,
- "pageSize": 0,
- "offset": 0
}, - "recipients": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Person",
- "external_id": "string",
- "email": "user@example.com",
- "first_name": "string",
- "last_name": "string",
- "middle_name": "string",
- "mobile_number": "string",
- "dob": "2019-08-24",
- "occupation": "general_worker",
- "registration_address": {
- "city": "string",
- "street": "string",
- "country": "string",
- "postal_code": "string",
- "unit_number": "string",
- "building_name": "string",
- "state_province": "string",
- "building_number": "string"
}, - "identity_document": {
- "type": "string",
- "type_version_number": "string",
- "country_issuing": "string",
- "number": "string",
- "national_id_number": "string",
- "national_id_number_type": "string",
- "series": "string",
- "issue_date": "2019-08-24T14:15:22Z",
- "place_of_issue": "string",
- "authority_of_issue": "string",
- "expiry_date": "2019-08-24T14:15:22Z",
- "driver_license_number": "string",
- "driver_license_serial_number": "string",
- "driver_license_version_number": "string"
}
}
]
}| page_number | integer >= 1 Default: 1 Page number. |
| page_size | integer [ 1 .. 100 ] Default: 20 Page size. |
| id | string <uuid> ID of the recipient to get. |
| external_id | string External ID of the recipient to get. |
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Person",
- "external_id": "string",
- "email": "user@example.com",
- "first_name": "string",
- "last_name": "string",
- "middle_name": "string",
- "mobile_number": "string",
- "dob": "2019-08-24",
- "occupation": "general_worker",
- "registration_address": {
- "city": "string",
- "street": "string",
- "country": "string",
- "postal_code": "string",
- "unit_number": "string",
- "building_name": "string",
- "state_province": "string",
- "building_number": "string"
}, - "identity_document": {
- "type": "string",
- "type_version_number": "string",
- "country_issuing": "string",
- "number": "string",
- "national_id_number": "string",
- "national_id_number_type": "string",
- "series": "string",
- "issue_date": "2019-08-24T14:15:22Z",
- "place_of_issue": "string",
- "authority_of_issue": "string",
- "expiry_date": "2019-08-24T14:15:22Z",
- "driver_license_number": "string",
- "driver_license_serial_number": "string",
- "driver_license_version_number": "string"
}
}
]| type required | string (Type) Enum: "Person" "Business" |
| external_id | string ID from external system. |
string <email> | |
| first_name required | string |
| last_name required | string |
| middle_name | string |
| mobile_number | string |
| dob | string <date> |
string | |
object (Address) | |
object (IdentityDocument) |
{- "type": "Person",
- "external_id": "string",
- "email": "user@example.com",
- "first_name": "string",
- "last_name": "string",
- "middle_name": "string",
- "mobile_number": "string",
- "dob": "2019-08-24",
- "occupation": "general_worker",
- "registration_address": {
- "city": "string",
- "street": "string",
- "country": "string",
- "postal_code": "string",
- "unit_number": "string",
- "building_name": "string",
- "state_province": "string",
- "building_number": "string"
}, - "identity_document": {
- "type": "string",
- "type_version_number": "string",
- "country_issuing": "string",
- "number": "string",
- "national_id_number": "string",
- "national_id_number_type": "string",
- "series": "string",
- "issue_date": "2019-08-24T14:15:22Z",
- "place_of_issue": "string",
- "authority_of_issue": "string",
- "expiry_date": "2019-08-24T14:15:22Z",
- "driver_license_number": "string",
- "driver_license_serial_number": "string",
- "driver_license_version_number": "string"
}
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}| id required | string <uuid> |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Person",
- "external_id": "string",
- "email": "user@example.com",
- "first_name": "string",
- "last_name": "string",
- "middle_name": "string",
- "mobile_number": "string",
- "dob": "2019-08-24",
- "occupation": "general_worker",
- "registration_address": {
- "city": "string",
- "street": "string",
- "country": "string",
- "postal_code": "string",
- "unit_number": "string",
- "building_name": "string",
- "state_province": "string",
- "building_number": "string"
}, - "identity_document": {
- "type": "string",
- "type_version_number": "string",
- "country_issuing": "string",
- "number": "string",
- "national_id_number": "string",
- "national_id_number_type": "string",
- "series": "string",
- "issue_date": "2019-08-24T14:15:22Z",
- "place_of_issue": "string",
- "authority_of_issue": "string",
- "expiry_date": "2019-08-24T14:15:22Z",
- "driver_license_number": "string",
- "driver_license_serial_number": "string",
- "driver_license_version_number": "string"
}
}| id required | string <uuid> |
| type required | string Value: "Person" |
object (Address) | |
object (IdentityDocument) |
{- "type": "Person",
- "registration_address": {
- "city": "string",
- "street": "string",
- "country": "string",
- "postal_code": "string",
- "unit_number": "string",
- "building_name": "string",
- "state_province": "string",
- "building_number": "string"
}, - "identity_document": {
- "type": "string",
- "type_version_number": "string",
- "country_issuing": "string",
- "number": "string",
- "national_id_number": "string",
- "national_id_number_type": "string",
- "series": "string",
- "issue_date": "2019-08-24T14:15:22Z",
- "place_of_issue": "string",
- "authority_of_issue": "string",
- "expiry_date": "2019-08-24T14:15:22Z",
- "driver_license_number": "string",
- "driver_license_serial_number": "string",
- "driver_license_version_number": "string"
}
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Person",
- "external_id": "string",
- "email": "user@example.com",
- "first_name": "string",
- "last_name": "string",
- "middle_name": "string",
- "mobile_number": "string",
- "dob": "2019-08-24",
- "occupation": "general_worker",
- "registration_address": {
- "city": "string",
- "street": "string",
- "country": "string",
- "postal_code": "string",
- "unit_number": "string",
- "building_name": "string",
- "state_province": "string",
- "building_number": "string"
}, - "identity_document": {
- "type": "string",
- "type_version_number": "string",
- "country_issuing": "string",
- "number": "string",
- "national_id_number": "string",
- "national_id_number_type": "string",
- "series": "string",
- "issue_date": "2019-08-24T14:15:22Z",
- "place_of_issue": "string",
- "authority_of_issue": "string",
- "expiry_date": "2019-08-24T14:15:22Z",
- "driver_license_number": "string",
- "driver_license_serial_number": "string",
- "driver_license_version_number": "string"
}
}This operation fetches amount limits for recipient.
| id required | string <uuid> The ID of the recipient for which to provide payment limits |
| payment_type required | string (PaymentType) Enum: "B2B" "B2P" "P2B" "P2P" |
| country required | string <iso-3166-alpha-2> Example: country=GB Country for the payment. ISO-3166-1 alpha-2 value.
Hint: It is |
| instrument_category required | string (PaymentInstrumentCategory) Enum: "BankAccount" "MobileWallet" "CashPickup" "Card" |
| currency required | string <iso-4217> = 3 characters Example: currency=EUR The currency for which the limit should be provided. If there is no limit set in specified currency then limit will be returned in the base currency set for this account. Currency format ISO-4217 |
{- "minimum": {
- "currency": "EUR",
- "value": 10023
}, - "maximum": {
- "currency": "EUR",
- "value": 10023
}
}Payer accounts will be created automatically however depending on configurations of your account, the payer may first be subject to KYC or KYB checks.
| type required | string Enum: "Business" "Person" |
| external_id | string ID from external system. |
| first_name required | string |
| middle_name | string |
| last_name required | string |
| phone_number | string |
object (Address) | |
| nationality | string |
| government_id | string |
| date_of_birth | string <date> |
| source_of_income | string |
string | |
| place_of_birth | string |
string | |
| relationship_with_beneficiary | string |
| employer_name | string |
| employer_country | string <iso-3166-alpha-2> Country of registration. 3166-1 alpha-2 value.
Hint: It is |
| employer_industry | string |
{- "type": "Business",
- "external_id": "string",
- "first_name": "string",
- "middle_name": "string",
- "last_name": "string",
- "phone_number": "string",
- "registration_address": {
- "city": "string",
- "street": "string",
- "country": "string",
- "postal_code": "string",
- "unit_number": "string",
- "building_name": "string",
- "state_province": "string",
- "building_number": "string"
}, - "nationality": "string",
- "government_id": "string",
- "date_of_birth": "2019-08-24",
- "source_of_income": "string",
- "email": "string",
- "place_of_birth": "string",
- "occupation": "general_worker",
- "relationship_with_beneficiary": "string",
- "employer_name": "string",
- "employer_country": "PL",
- "employer_industry": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "accounts": [
- {
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "owner_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
- "owner_name": "John Doe vs Trade Company",
- "created": "2023-10-27T08:57:09.374902",
- "number": "CC002200MONE00012398064447EUR",
- "name": "Digital Account",
- "currency": "EUR",
- "balance": {
- "currency": "EUR",
- "value": 10023
}
}
], - "type": "Business",
- "external_id": "string",
- "first_name": "string",
- "middle_name": "string",
- "last_name": "string",
- "phone_number": "string",
- "registration_address": {
- "city": "string",
- "street": "string",
- "country": "string",
- "postal_code": "string",
- "unit_number": "string",
- "building_name": "string",
- "state_province": "string",
- "building_number": "string"
}, - "nationality": "string",
- "government_id": "string",
- "date_of_birth": "2019-08-24",
- "source_of_income": "string",
- "email": "string",
- "place_of_birth": "string",
- "occupation": "general_worker",
- "relationship_with_beneficiary": "string",
- "employer_name": "string",
- "employer_country": "PL",
- "employer_industry": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "accounts": [
- {
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "owner_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
- "owner_name": "John Doe vs Trade Company",
- "created": "2023-10-27T08:57:09.374902",
- "number": "CC002200MONE00012398064447EUR",
- "name": "Digital Account",
- "currency": "EUR",
- "balance": {
- "currency": "EUR",
- "value": 10023
}
}
], - "type": "Business",
- "external_id": "string",
- "first_name": "string",
- "middle_name": "string",
- "last_name": "string",
- "phone_number": "string",
- "registration_address": {
- "city": "string",
- "street": "string",
- "country": "string",
- "postal_code": "string",
- "unit_number": "string",
- "building_name": "string",
- "state_province": "string",
- "building_number": "string"
}, - "nationality": "string",
- "government_id": "string",
- "date_of_birth": "2019-08-24",
- "source_of_income": "string",
- "email": "string",
- "place_of_birth": "string",
- "occupation": "general_worker",
- "relationship_with_beneficiary": "string",
- "employer_name": "string",
- "employer_country": "PL",
- "employer_industry": "string"
}| id required | string <uuid> |
| type required | string Enum: "Business" "Person" |
| external_id | string ID from external system. |
| first_name required | string |
| middle_name | string |
| last_name required | string |
| phone_number | string |
object (Address) | |
| nationality | string |
| government_id | string |
| date_of_birth | string <date> |
| source_of_income | string |
string | |
| place_of_birth | string |
string | |
| relationship_with_beneficiary | string |
| employer_name | string |
| employer_country | string <iso-3166-alpha-2> Country of registration. 3166-1 alpha-2 value.
Hint: It is |
| employer_industry | string |
{- "type": "Business",
- "external_id": "string",
- "first_name": "string",
- "middle_name": "string",
- "last_name": "string",
- "phone_number": "string",
- "registration_address": {
- "city": "string",
- "street": "string",
- "country": "string",
- "postal_code": "string",
- "unit_number": "string",
- "building_name": "string",
- "state_province": "string",
- "building_number": "string"
}, - "nationality": "string",
- "government_id": "string",
- "date_of_birth": "2019-08-24",
- "source_of_income": "string",
- "email": "string",
- "place_of_birth": "string",
- "occupation": "general_worker",
- "relationship_with_beneficiary": "string",
- "employer_name": "string",
- "employer_country": "PL",
- "employer_industry": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "accounts": [
- {
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "owner_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
- "owner_name": "John Doe vs Trade Company",
- "created": "2023-10-27T08:57:09.374902",
- "number": "CC002200MONE00012398064447EUR",
- "name": "Digital Account",
- "currency": "EUR",
- "balance": {
- "currency": "EUR",
- "value": 10023
}
}
], - "type": "Business",
- "external_id": "string",
- "first_name": "string",
- "middle_name": "string",
- "last_name": "string",
- "phone_number": "string",
- "registration_address": {
- "city": "string",
- "street": "string",
- "country": "string",
- "postal_code": "string",
- "unit_number": "string",
- "building_name": "string",
- "state_province": "string",
- "building_number": "string"
}, - "nationality": "string",
- "government_id": "string",
- "date_of_birth": "2019-08-24",
- "source_of_income": "string",
- "email": "string",
- "place_of_birth": "string",
- "occupation": "general_worker",
- "relationship_with_beneficiary": "string",
- "employer_name": "string",
- "employer_country": "PL",
- "employer_industry": "string"
}This operation fetches amount limits for payer.
| id required | string <uuid> The ID of the payer for which to provide payment limits |
| payment_type required | string (PaymentType) Enum: "B2B" "B2P" "P2B" "P2P" |
| country required | string <iso-3166-alpha-2> Example: country=GB Country for the payment. ISO-3166-1 alpha-2 value.
Hint: It is |
| instrument_category required | string (PaymentInstrumentCategory) Enum: "BankAccount" "MobileWallet" "CashPickup" "Card" |
| currency required | string <iso-4217> = 3 characters Example: currency=EUR The currency for which the limit should be provided. If there is no limit set in specified currency then limit will be returned in the base currency set for this account. Currency format ISO-4217 |
{- "minimum": {
- "currency": "EUR",
- "value": 10023
}, - "maximum": {
- "currency": "EUR",
- "value": 10023
}
}This endpoint allows to retrieve payer by its ID or external ID.
Either id or external_id must be provided.
If both are provided then they both must match the same payer.
| id | string <uuid> ID of the payer to get. |
| external_id | string External ID of the payer to get. |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "accounts": [
- {
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "owner_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
- "owner_name": "John Doe vs Trade Company",
- "created": "2023-10-27T08:57:09.374902",
- "number": "CC002200MONE00012398064447EUR",
- "name": "Digital Account",
- "currency": "EUR",
- "balance": {
- "currency": "EUR",
- "value": 10023
}
}
], - "type": "Business",
- "external_id": "string",
- "first_name": "string",
- "middle_name": "string",
- "last_name": "string",
- "phone_number": "string",
- "registration_address": {
- "city": "string",
- "street": "string",
- "country": "string",
- "postal_code": "string",
- "unit_number": "string",
- "building_name": "string",
- "state_province": "string",
- "building_number": "string"
}, - "nationality": "string",
- "government_id": "string",
- "date_of_birth": "2019-08-24",
- "source_of_income": "string",
- "email": "string",
- "place_of_birth": "string",
- "occupation": "general_worker",
- "relationship_with_beneficiary": "string",
- "employer_name": "string",
- "employer_country": "PL",
- "employer_industry": "string"
}Post payment related events.
Payall will retry to deliver the event for 24 hours
until receiving HTTP response code 200. After 24 hours
there will be no further attempts to deliver the event.
Attempts are repeated as follows:
Payall expects the response within 3 seconds. Lack of response within 3 seconds is considered to be failed delivery attempt.
No response body is expected.
| event_type required | string Enum: "StatusChange" "Documents" |
| tenant_id required | string |
| X-Attempt-Number required | integer Delivery attempt number. First attempt value is 1. |
| status required | string Enum: "Created" "PendingCompliance" "Completed" "Declined" "ExchangeRateExpired" "PendingSettlement" "PendingClearingInstitution" "PendingFinance" "PendingServiceProvider" "PendingDocument"
Exchange rate will usually expire for payments that will have to undergo additional KYT checks. Event related to this status will be emitted only after the KYT process finishes meaning that the date of the event and exchange rate expiry date will not match.
In case you are controlling the settlement funding on your side this status informs you that you need to fund the settlement account in order to process the payment.
|
| id required | string <uuid> Id of the payment in Payall system. |
| client_payment_id required | string External reference provided when initiating the payment. |
| timestamp required | string <date-time> The date-time of the event. Notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z |
| code | string Optional status code associated with the event. For example in case of rejected payments it will identify the reason of rejection. |
{- "status": "Created",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "client_payment_id": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "code": "string"
}| event_type required | string Value: "Publish" Event type for the rates |
| tenant_id required | string Tenant identifier |
Currency exchange rates data
required | Array of objects (CardedRate) |
{- "rates": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "from_currency": "USD",
- "to_currency": "EUR",
- "valid_from": "2023-03-01T00:00:00Z",
- "valid_to": "2023-03-01T04:00:00Z",
- "payment_instrument_category": "BankAccount",
- "rate": 0.8783,
- "tiers": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "from_amount": 100023,
- "rate": 0.8801
}
]
}
]
}Tokenize provided card details. Returns a token that can be used to reference the card in other API methods.
This endpoint is not idempotent.
Card number needs to be stripped of any non-digit characters before encrypting.
Expected pattern match is ^[1-9][0-9]{7,19}$.
We recommend validation of card number using Luhn algorithm before encrypting using Luhn algorithm.
We don't do card brand validation during this call. Any brand will be accepted by the vault but the payment may fail if the token is used for a payment with a vendor that does not support given brand.
| clientId required | string <uuid> |
| card_number required | string Encrypted card number using client public key. Card number needs to be stripped of any non-digit characters before encrypting.
Expected pattern match is We recommend validation of card number using Luhn algorithm before encrypting using Luhn algorithm. |
| expiration_date | string ISO/EIC 7813 Expiration date of the card |
{- "card_number": "ZiudIxi1h3P57k8OwmfOx1wpqIBeTGMu560uvdQoGYm2wfg/AIj8QkFpi2XTaCT4sO9drQvLSH9rSk3njQOGpSUmCzlPsA6ahG7Mg/0fMP2V6ahdMUmgmZPU1KVqL48p0pwjgSG6pTbLj6ROQFpPNkhs3ilrrQccKg7FamV34WC6hzEVyVRreR54LQeOAIFX5zQLOD4ldV/z8ikYdktKiFMkghQnF2oqzsd/rNTkL2DwzWTahgiA6gYZpoOhXt4rr1KoENC4hV4yT7iefyIFCGQu7EzeD15XB3v2+Q0Xj9ifOynADek3Mjxn6Bmg7fELGuUEkkxFgeLZrxrEcqAFbg==",
- "expiration_date": "12/30"
}{- "token": "f7b3b3b4-0b3d-4b3b-8b3b-3b3b3b3b3b3b",
- "created_at": "2021-03-03T16:27:54.378693Z",
- "masked_pan": "5425 **** **** 8113",
- "client_id": "f0396c8e-a87b-402d-9692-520cbc0947b5",
- "brand": "Visa"
}Get encryption key and parameters for a specific id
| id required | string <uuid> |
{- "encryption_key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuNernozTqNnb17qzYof4sYlB7QueXE+7l8B2pa4kaNwGfsquMpD9S6hXKUY2zKlCSovs811+rNWt1x6oxj3H3RSOH6J8RlG+29cDF5OXySeORON8dmPLCtZ4uXMQ4JYtlAlcPNgKJgQmnrnQJ4btb+S3FYZJ0rJyx+wpRJith4BUl0/QA3ldfLQAeWWf+6wXXhkB2n4u0zBGYd3v+L/TdqHDDrJuLVFkG2tXaBvNTQETwyPHJA06cAeqSyHneKb1RIznYL/QxUBoPAfTYdrI9cV5gUJ6bolFMrzSU9QlOR/SEjtXWjEE9sH39QLPqAJvijT1XUDNJOIeFB4E+pxGrQIDAQAB",
- "created_at": "2019-08-24T14:15:22Z",
- "encryption_algorithm": "RSAES_OAEP_SHA_256",
- "require_expiration_date": false
}