Initiating Payments
Let's assume you want to send €15 using SEPA Credit transfer. This could be a customer withdrawing the funds, paying a user or moving funds between corporate accounts, etc.
Before making requests, you will need your API Key, and source account ID.
1. Retrieve your account ID
Sources & Account IDs
Payable uses the term accounts or sources to refer to your bank accounts.
When you create a payment order, you must tell us your originating bank account. If you are sending funds to someone, this is the account that the money will be taken out of.
If you want to Get an account, you can use the following request:
curl --request GET \
--url https://api.payable.co/accounts/id \
--header 'accept: application/json'
{
"id": "acc_buqtzoruk7x44iqdn3zmxt26iu",
"label": "string",
"currency": "EUR",
"type": "bank",
"references": [
"customer-loan-123"
],
"institution_id": "string",
"connection_ids": [
"con_buea4ma3bszo5vojc46jsv7rcm"
],
"links": [
{
"href": "https://api.payable.co/accounts/acc_buqtzoruk7x44iqdn3zmxt26iu",
"rel": "self",
"method": "GET"
}
]
}
2. Create a Payment Order
To create a payment order, pass the bank account details on the request.
Different bank details will be required depending on the payment scheme - for example SEPA payment requests are different to Faster Payments.
curl --request POST \
--url https://api.payable.co/payment-orders \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"amount": {
"value": 1000,
"currency": "EUR"
},
"destination_account": {
"account_holder_details": {
"name": "Jon Doe"
},
"bank_details": {
"iban": "ES12345678910"
},
"type": "SEPA_CT",
"source_id": "acc_atfgyrg34hws7gidwwxqi2haie",
"reference": "reference123",
"source_account_id": "acc_buqtzoruk7x44iqdn3zmxt26iu",
"entity_id": "ent_bjec24xmzi4tr4g7m4lliotzz4"
}
{
"id": "pay_r28xivvv1sb9e1xt1uj0v8aiyc",
"status": "submitted",
"created_at": "2022-10-25T00:00:00.000Z",
"links": [
{
"href": "https://api.payable.co/payment-orders/pay_r28xivvv1sb9e1xt1uj0v8aiyc",
"rel": "self",
"method": "GET"
}
]
}
Requests can be sent in major or minor currency codes
You can track the lifecycle of a payment by polling for the status or listening to the Payment Order Webhooks.
Updated 4 months ago