Payout OpenBanking PSD2 API
PSD2 like API to interact with Payout account system.
The API accepts and returns JSON only. Send request bodies with Content-Type: application/json.
Every response carries a response-id header with a unique UUID. The optional Correlation-ID
and Process-ID request headers are echoed back in the correlation-id and process-id
response headers; when a header is missing, a new UUID is generated for it.
Authentication
Every endpoint except enrolment requires an OAuth 2.0 access token (JWT) issued by PayoutID to the
TPP's client. Send it in the Authorization header:
Authorization: Bearer <access_token>
The token must be issued to a TPP client registered with Payout and carry the scope required by the endpoint:
| Scope | Token | Endpoints |
|---|---|---|
AISP |
authorization_code grant, on behalf of the user |
list accounts, account info, list transactions |
PIISP |
authorization_code grant, on behalf of the user |
balance check |
PISP |
client_credentials grant |
standard sba payment, order status |
PISPSUBMIT |
authorization_code grant against the order OAuth2 endpoint |
submit payment |
AIS endpoints only return data for the accounts the user granted to the TPP.
PISP: Create and submit order flow
To create order, TPP must first get PISP token using client_credentials against normal OAuth2
endpoint. With this access token it is possible to create order using API. After that, TPP need
to request access token using authorization_code method to get PISPSUBMIT access token for
created order. This request is done against order OAuth2 endpoint, which is the authorization
URL followed by /{orderId}.
Errors
Authentication failures return 401:
{
"status": 401,
"reason": "Unauthorized"
}
This covers a missing, invalid or expired token, a token without the required scope or user, and a token issued to an unknown client.
Other errors use this shape:
{
"errors": {
"message": "Resource not found"
}
}
| Status | Message | When |
|---|---|---|
| 400 | Bad request |
The body is not valid JSON, a required attribute is missing, or the order ID is not a UUID |
| 404 | Resource not found |
The account or order does not exist, or the account was not granted to the TPP |
| 406 | Request is not acceptable |
The Accept header does not allow JSON |
| 500 | Internal server error |
Unexpected error |
Enrolment validation errors and refused payment submissions also return 400, with the bodies
described at those endpoints.
Enrol new client. This call will return new client credentials, which will be disabled. Client TPP then will be contacted via first contact email and process will be finished manually. The request must contain the TPP's PSD2 certificate.
This endpoint does not require an access token.
Parameters
correlation-id response header. e.g. 5f0c7b9e-2a41-4d3b-8e6f-1a2b3c4d5e6fprocess-id response header. e.g. 7c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4fRequest body
12345Example TPP, s.r.o.https://tpp.example.com/logo.png["AISP"]["test@example.com"]["https://tpp.example.com/oauth/callback"]MIIDdzCCAl+gAwIBAgIURXhhbXBsZVBTRDJDZXJ0aWZpY2F0ZQ==Response 201
12345a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f900f1e2d3c4b5a69788796a5b4c3d2e1f00f1e2d3c4b5a69788796a5b4c3d2e1f0Example TPP, s.r.o.https://tpp.example.com/logo.png["AISP"]["test@example.com"]["https://tpp.example.com/oauth/callback"]Other responses
curl -X POST 'https://sandbox.payout.one/api/psd2/v1/enrol' \
-H "Content-Type: application/json" \
-d '{
"licenseNumber": "12345",
"clientName": "Example TPP, s.r.o.",
"logoUri": "https://tpp.example.com/logo.png",
"certificate": "MIIDdzCCAl+gAwIBAgIURXhhbXBsZVBTRDJDZXJ0aWZpY2F0ZQ==",
"scopes": [
"AISP"
],
"contacts": [
"test@example.com"
],
"redirectUris": [
"https://tpp.example.com/oauth/callback"
]
}'const res = await fetch("https://sandbox.payout.one/api/psd2/v1/enrol", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
"licenseNumber": "12345",
"clientName": "Example TPP, s.r.o.",
"logoUri": "https://tpp.example.com/logo.png",
"certificate": "MIIDdzCCAl+gAwIBAgIURXhhbXBsZVBTRDJDZXJ0aWZpY2F0ZQ==",
"scopes": [
"AISP"
],
"contacts": [
"test@example.com"
],
"redirectUris": [
"https://tpp.example.com/oauth/callback"
]
}),
});
const data = await res.json();import os, requests
res = requests.post(
"https://sandbox.payout.one/api/psd2/v1/enrol",
json={
"licenseNumber": "12345",
"clientName": "Example TPP, s.r.o.",
"logoUri": "https://tpp.example.com/logo.png",
"certificate": "MIIDdzCCAl+gAwIBAgIURXhhbXBsZVBTRDJDZXJ0aWZpY2F0ZQ==",
"scopes": [
"AISP",
],
"contacts": [
"test@example.com",
],
"redirectUris": [
"https://tpp.example.com/oauth/callback",
],
},
)
data = res.json()<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox.payout.one/api/psd2/v1/enrol");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
"licenseNumber" => "12345",
"clientName" => "Example TPP, s.r.o.",
"logoUri" => "https://tpp.example.com/logo.png",
"certificate" => "MIIDdzCCAl+gAwIBAgIURXhhbXBsZVBTRDJDZXJ0aWZpY2F0ZQ==",
"scopes" => [
"AISP"
],
"contacts" => [
"test@example.com"
],
"redirectUris" => [
"https://tpp.example.com/oauth/callback"
]
]));
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json"]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);{
"licenseNumber": "12345",
"clientId": "a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90",
"clientSecret": "0f1e2d3c4b5a69788796a5b4c3d2e1f00f1e2d3c4b5a69788796a5b4c3d2e1f0",
"cleintName": "Example TPP, s.r.o.",
"logoUri": "https://tpp.example.com/logo.png",
"scopes": [
"AISP"
],
"contacts": [
"test@example.com"
],
"redirectsUris": [
"https://tpp.example.com/oauth/callback"
]
}List all accounts of current user that the user granted to the TPP.
Parameters
correlation-id response header. e.g. 5f0c7b9e-2a41-4d3b-8e6f-1a2b3c4d5e6fprocess-id response header. e.g. 7c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4fResponse 200
2026-10-06T08:15:30.123456+00:00Q7v_K2mNp4XsExample Shop, s.r.o.Payout AccountCACCEURPayout, s.r.o.["AISP"]Other responses
curl -X GET 'https://sandbox.payout.one/api/psd2/v1/accounts' \
-H "Authorization: Bearer $TOKEN"const res = await fetch("https://sandbox.payout.one/api/psd2/v1/accounts", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.PAYOUT_TOKEN}`,
},
});
const data = await res.json();import os, requests
res = requests.get(
"https://sandbox.payout.one/api/psd2/v1/accounts",
headers={"Authorization": f"Bearer {os.environ['PAYOUT_TOKEN']}"},
)
data = res.json()<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox.payout.one/api/psd2/v1/accounts");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer " . getenv("PAYOUT_TOKEN")]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);{
"creationDateTime": "2026-10-06T08:15:30.123456+00:00",
"accounts": [
{
"identification": {
"identifier": "Q7v_K2mNp4Xs"
},
"name": "Example Shop, s.r.o.",
"productName": "Payout Account",
"type": "CACC",
"baseCurrency": "EUR",
"servicer": {
"financialInstitutionIdentification": "Payout, s.r.o."
},
"consent": [
"AISP"
]
}
]
}Retrieve detailed info about user account
Parameters
correlation-id response header. e.g. 5f0c7b9e-2a41-4d3b-8e6f-1a2b3c4d5e6fprocess-id response header. e.g. 7c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4fRequest body
identification.identifier from list accounts) · e.g. Q7v_K2mNp4XsResponse 200
Example Shop, s.r.o.Payout AccountEURCACCExample Shop, s.r.o.ITAV3055.8500EURCRDT, DBIT · e.g. CRDT2026-10-06T08:15:30.123456+00:00Other responses
curl -X POST 'https://sandbox.payout.one/api/psd2/v1/accounts/information' \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"identifier": "Q7v_K2mNp4Xs"
}'const res = await fetch("https://sandbox.payout.one/api/psd2/v1/accounts/information", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.PAYOUT_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"identifier": "Q7v_K2mNp4Xs"
}),
});
const data = await res.json();import os, requests
res = requests.post(
"https://sandbox.payout.one/api/psd2/v1/accounts/information",
headers={"Authorization": f"Bearer {os.environ['PAYOUT_TOKEN']}"},
json={
"identifier": "Q7v_K2mNp4Xs",
},
)
data = res.json()<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox.payout.one/api/psd2/v1/accounts/information");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
"identifier" => "Q7v_K2mNp4Xs"
]));
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer " . getenv("PAYOUT_TOKEN"), "Content-Type: application/json"]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);{
"account": {
"name": "Example Shop, s.r.o.",
"productName": "Payout Account",
"baseCurrency": "EUR",
"type": "CACC"
},
"balances": [
{
"name": "Example Shop, s.r.o.",
"typeCodeOrProprietary": "ITAV",
"amount": {
"value": "3055.8500",
"currency": "EUR"
},
"creditDebitIndicator": "CRDT",
"dateTime": "2026-10-06T08:15:30.123456+00:00"
}
]
}List all transactions for user or account. Only accounts the user granted to the TPP are included. Transactions are returned newest first.
Parameters
correlation-id response header. e.g. 5f0c7b9e-2a41-4d3b-8e6f-1a2b3c4d5e6fprocess-id response header. e.g. 7c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4fRequest body
Q7v_K2mNp4Xs2026-09-012026-09-30BOOKED, INFO · e.g. BOOKED50 · e.g. 200 · e.g. 4Response 200
33055.8500EURCRDT, DBIT · e.g. CRDTfalseINFO, BOOKED · e.g. INFO2026-09-152026-09-15PM, GHC · e.g. PM184512/VS{variable symbol}/SS/KS, or null when the transaction has none · e.g. /VS20260915/SS/KSExample CustomerCZ6508000000192000145399Example Shop, s.r.o.Q7v_K2mNp4Xs2026-09-15Other responses
curl -X POST 'https://sandbox.payout.one/api/psd2/v1/accounts/transactions' \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"page": 2,
"identifier": "Q7v_K2mNp4Xs"
}'const res = await fetch("https://sandbox.payout.one/api/psd2/v1/accounts/transactions", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.PAYOUT_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"page": 2,
"identifier": "Q7v_K2mNp4Xs"
}),
});
const data = await res.json();import os, requests
res = requests.post(
"https://sandbox.payout.one/api/psd2/v1/accounts/transactions",
headers={"Authorization": f"Bearer {os.environ['PAYOUT_TOKEN']}"},
json={
"page": 2,
"identifier": "Q7v_K2mNp4Xs",
},
)
data = res.json()<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox.payout.one/api/psd2/v1/accounts/transactions");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
"page" => 2,
"identifier" => "Q7v_K2mNp4Xs"
]));
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer " . getenv("PAYOUT_TOKEN"), "Content-Type: application/json"]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);{
"pageCount": 3,
"transactions": [
{
"amount": {
"value": "25.0000",
"currency": "EUR"
},
"creditDebitIndicator": "CRDT",
"reversalIndicator": false,
"status": "INFO",
"bookingDate": "2026-09-15",
"valueDate": "2026-09-15",
"bankTransactionCode": "PM",
"transactionDetails": {
"references": {
"accountServicerReference": "184512",
"endToEndIdentification": "/VS20260915/SS/KS"
},
"relatedParties": {
"debtor": {
"name": "Example Customer"
},
"debtorAccount": {
"identification": "CZ6508000000192000145399"
},
"creditor": {
"name": "Example Shop, s.r.o."
},
"creditorAccount": {
"identification": "Q7v_K2mNp4Xs"
}
},
"relatedDates": {
"acceptanceDateTime": "2026-09-15"
}
}
}
]
}Initialize payment using json format. The order is created in status PDNG and is executed
only after it is submitted with submit payment.
Parameters
correlation-id response header. e.g. 5f0c7b9e-2a41-4d3b-8e6f-1a2b3c4d5e6fprocess-id response header. e.g. 7c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4fRequest body
aff52ratg5ageh53identification.identifier from list accounts) · max 255 · e.g. Q7v_K2mNp4XsExample Supplier, s.r.o.SK3112000000198742637541billing@example.com12.5EUR/VS{variable symbol}/SS{specific symbol}/KS{constant symbol} the variable symbol becomes the payment reference; it must be numeric with at most 10 digits, otherwise the submission is refused. max 255 · e.g. /VS20261006/SS/KSInvoice 2026-104Response 201
3b0f6c2e-8d41-4a7b-9c55-1e2f3a4b5c6dPDNG, ACSC, RJCT · e.g. PDNG2026-10-06T08:15:30.123456ZOther responses
curl -X POST 'https://sandbox.payout.one/api/psd2/v1/payments/standard/sba' \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"instructionIdentification": "aff52ratg5ageh53",
"debtor": {
"identifier": "Q7v_K2mNp4Xs"
},
"creditor": {
"name": "Example Supplier, s.r.o.",
"iban": "SK3112000000198742637541",
"email": "billing@example.com"
},
"instructedAmount": {
"value": 12.5,
"currency": "EUR"
},
"endToEndIdentification": "/VS20261006/SS/KS",
"remittanceInformation": "Invoice 2026-104"
}'const res = await fetch("https://sandbox.payout.one/api/psd2/v1/payments/standard/sba", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.PAYOUT_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"instructionIdentification": "aff52ratg5ageh53",
"debtor": {
"identifier": "Q7v_K2mNp4Xs"
},
"creditor": {
"name": "Example Supplier, s.r.o.",
"iban": "SK3112000000198742637541",
"email": "billing@example.com"
},
"instructedAmount": {
"value": 12.5,
"currency": "EUR"
},
"endToEndIdentification": "/VS20261006/SS/KS",
"remittanceInformation": "Invoice 2026-104"
}),
});
const data = await res.json();import os, requests
res = requests.post(
"https://sandbox.payout.one/api/psd2/v1/payments/standard/sba",
headers={"Authorization": f"Bearer {os.environ['PAYOUT_TOKEN']}"},
json={
"instructionIdentification": "aff52ratg5ageh53",
"debtor": {
"identifier": "Q7v_K2mNp4Xs",
},
"creditor": {
"name": "Example Supplier, s.r.o.",
"iban": "SK3112000000198742637541",
"email": "billing@example.com",
},
"instructedAmount": {
"value": 12.5,
"currency": "EUR",
},
"endToEndIdentification": "/VS20261006/SS/KS",
"remittanceInformation": "Invoice 2026-104",
},
)
data = res.json()<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox.payout.one/api/psd2/v1/payments/standard/sba");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
"instructionIdentification" => "aff52ratg5ageh53",
"debtor" => [
"identifier" => "Q7v_K2mNp4Xs"
],
"creditor" => [
"name" => "Example Supplier, s.r.o.",
"iban" => "SK3112000000198742637541",
"email" => "billing@example.com"
],
"instructedAmount" => [
"value" => 12.5,
"currency" => "EUR"
],
"endToEndIdentification" => "/VS20261006/SS/KS",
"remittanceInformation" => "Invoice 2026-104"
]));
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer " . getenv("PAYOUT_TOKEN"), "Content-Type: application/json"]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);{
"orderId": "3b0f6c2e-8d41-4a7b-9c55-1e2f3a4b5c6d",
"status": "PDNG",
"statusDatetime": "2026-10-06T08:15:30.123456Z"
}Submit initialized payment for processing. This request is done only with access token that
can be retrieved using authorization_code oauth2 method against the order OAuth2 endpoint
(the authorization URL followed by /{orderId}) and requires scope PISPSUBMIT.
The order is identified by the access token; the request has no body. Submitting an order
that was already submitted returns it unchanged with 200.
Parameters
correlation-id response header. e.g. 5f0c7b9e-2a41-4d3b-8e6f-1a2b3c4d5e6fprocess-id response header. e.g. 7c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4fResponse 201
3b0f6c2e-8d41-4a7b-9c55-1e2f3a4b5c6dPDNG, ACSC, RJCT · e.g. PDNG2026-10-06T08:15:30.123456ZOther responses
RJCT; its orderId is a newly generated UUID, not the ID of the submitted order.curl -X POST 'https://sandbox.payout.one/api/psd2/v1/payments/submission' \
-H "Authorization: Bearer $TOKEN"const res = await fetch("https://sandbox.payout.one/api/psd2/v1/payments/submission", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.PAYOUT_TOKEN}`,
},
});
const data = await res.json();import os, requests
res = requests.post(
"https://sandbox.payout.one/api/psd2/v1/payments/submission",
headers={"Authorization": f"Bearer {os.environ['PAYOUT_TOKEN']}"},
)
data = res.json()<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox.payout.one/api/psd2/v1/payments/submission");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer " . getenv("PAYOUT_TOKEN")]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);{
"orderId": "3b0f6c2e-8d41-4a7b-9c55-1e2f3a4b5c6d",
"status": "ACSC",
"statusDatetime": "2026-10-06T08:16:02.481530Z"
}Return actual status of the order
Parameters
orderId by standard sba payment · e.g. 3b0f6c2e-8d41-4a7b-9c55-1e2f3a4b5c6dcorrelation-id response header. e.g. 5f0c7b9e-2a41-4d3b-8e6f-1a2b3c4d5e6fprocess-id response header. e.g. 7c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4fResponse 200
3b0f6c2e-8d41-4a7b-9c55-1e2f3a4b5c6dPDNG, ACSC, RJCT · e.g. PDNG2026-10-06T08:15:30.123456ZOther responses
curl -X GET 'https://sandbox.payout.one/api/psd2/v1/payments/{order_id}/status' \
-H "Authorization: Bearer $TOKEN"const res = await fetch("https://sandbox.payout.one/api/psd2/v1/payments/{order_id}/status", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.PAYOUT_TOKEN}`,
},
});
const data = await res.json();import os, requests
res = requests.get(
"https://sandbox.payout.one/api/psd2/v1/payments/{order_id}/status",
headers={"Authorization": f"Bearer {os.environ['PAYOUT_TOKEN']}"},
)
data = res.json()<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox.payout.one/api/psd2/v1/payments/{order_id}/status");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer " . getenv("PAYOUT_TOKEN")]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);{
"orderId": "3b0f6c2e-8d41-4a7b-9c55-1e2f3a4b5c6d",
"status": "PDNG",
"statusDatetime": "2026-10-06T08:15:30.123456Z"
}Check if account has enough resources to fulfill specified request. The response is APPR
when the available balance in the requested currency is greater than amount, otherwise
DECL.
Parameters
correlation-id response header. e.g. 5f0c7b9e-2a41-4d3b-8e6f-1a2b3c4d5e6fprocess-id response header. e.g. 7c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4fRequest body
piisp-20261006-00012026-10-06T08:15:30+00:00Q7v_K2mNp4Xs6000EURResponse 200
APPR, DECL · e.g. APPR2026-10-06T08:15:30.123456+00:00Other responses
curl -X POST 'https://sandbox.payout.one/api/psd2/v1/accounts/balanceCheck' \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"instructionIdentification": "piisp-20261006-0001",
"identifier": "Q7v_K2mNp4Xs",
"amount": {
"amount": 6000,
"currency": "EUR"
}
}'const res = await fetch("https://sandbox.payout.one/api/psd2/v1/accounts/balanceCheck", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.PAYOUT_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"instructionIdentification": "piisp-20261006-0001",
"identifier": "Q7v_K2mNp4Xs",
"amount": {
"amount": 6000,
"currency": "EUR"
}
}),
});
const data = await res.json();import os, requests
res = requests.post(
"https://sandbox.payout.one/api/psd2/v1/accounts/balanceCheck",
headers={"Authorization": f"Bearer {os.environ['PAYOUT_TOKEN']}"},
json={
"instructionIdentification": "piisp-20261006-0001",
"identifier": "Q7v_K2mNp4Xs",
"amount": {
"amount": 6000,
"currency": "EUR",
},
},
)
data = res.json()<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox.payout.one/api/psd2/v1/accounts/balanceCheck");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
"instructionIdentification" => "piisp-20261006-0001",
"identifier" => "Q7v_K2mNp4Xs",
"amount" => [
"amount" => 6000,
"currency" => "EUR"
]
]));
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer " . getenv("PAYOUT_TOKEN"), "Content-Type: application/json"]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);{
"response": "APPR",
"dateTime": "2026-10-06T08:15:30.123456+00:00"
}- Need help? Contact support.
- Questions? Contact sales.
- Service status? status.payout.one.
- LLM? Read llms.txt.