curl --request POST \
--url https://api.getivy.de/api/service/payout/create \
--header 'Content-Type: application/json' \
--header 'X-Ivy-Api-Key: <api-key>' \
--data '
{
"amount": 1.01,
"destination": {
"type": "customer",
"orderId": "<string>",
"financialAddress": null
},
"metadata": {},
"paymentReference": "<string>"
}
'import requests
url = "https://api.getivy.de/api/service/payout/create"
payload = {
"amount": 1.01,
"destination": {
"type": "customer",
"orderId": "<string>",
"financialAddress": None
},
"metadata": {},
"paymentReference": "<string>"
}
headers = {
"X-Ivy-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Ivy-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: 1.01,
destination: {type: 'customer', orderId: '<string>', financialAddress: null},
metadata: {},
paymentReference: '<string>'
})
};
fetch('https://api.getivy.de/api/service/payout/create', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.getivy.de/api/service/payout/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'amount' => 1.01,
'destination' => [
'type' => 'customer',
'orderId' => '<string>',
'financialAddress' => null
],
'metadata' => [
],
'paymentReference' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Ivy-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.getivy.de/api/service/payout/create"
payload := strings.NewReader("{\n \"amount\": 1.01,\n \"destination\": {\n \"type\": \"customer\",\n \"orderId\": \"<string>\",\n \"financialAddress\": null\n },\n \"metadata\": {},\n \"paymentReference\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Ivy-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.getivy.de/api/service/payout/create")
.header("X-Ivy-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 1.01,\n \"destination\": {\n \"type\": \"customer\",\n \"orderId\": \"<string>\",\n \"financialAddress\": null\n },\n \"metadata\": {},\n \"paymentReference\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getivy.de/api/service/payout/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Ivy-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 1.01,\n \"destination\": {\n \"type\": \"customer\",\n \"orderId\": \"<string>\",\n \"financialAddress\": null\n },\n \"metadata\": {},\n \"paymentReference\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"type": "beneficiary",
"destination": {
"type": "iban",
"iban": {
"accountHolderName": "<string>",
"iban": "<string>",
"bic": "<string>"
},
"aba": {
"accountHolderName": "<string>",
"routingNumber": "<string>",
"accountNumber": "<string>"
},
"bic": {
"accountHolderName": "<string>",
"accountNumber": "<string>",
"bic": "<string>",
"localBankCode": "<string>"
},
"sortCode": {
"accountHolderName": "<string>",
"sortCode": "<string>",
"accountNumber": "<string>"
},
"bankCode": {
"accountHolderName": "<string>",
"code": "<string>",
"accountNumber": "<string>"
},
"bban": {
"accountHolderName": "<string>",
"bban": "<string>",
"bic": "<string>"
},
"wallet": {
"address": "<string>",
"blockchain": "BTC"
}
},
"status": "paid",
"amount": 123,
"currency": "EUR",
"createdAt": "<unknown>",
"updatedAt": "<unknown>",
"metadata": {},
"paymentReference": "<string>",
"transactionId": "<string>",
"failure": {
"code": "account_closed",
"message": "<string>",
"retry": true
}
}Create a payout
Create a payout for a merchant.
curl --request POST \
--url https://api.getivy.de/api/service/payout/create \
--header 'Content-Type: application/json' \
--header 'X-Ivy-Api-Key: <api-key>' \
--data '
{
"amount": 1.01,
"destination": {
"type": "customer",
"orderId": "<string>",
"financialAddress": null
},
"metadata": {},
"paymentReference": "<string>"
}
'import requests
url = "https://api.getivy.de/api/service/payout/create"
payload = {
"amount": 1.01,
"destination": {
"type": "customer",
"orderId": "<string>",
"financialAddress": None
},
"metadata": {},
"paymentReference": "<string>"
}
headers = {
"X-Ivy-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Ivy-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: 1.01,
destination: {type: 'customer', orderId: '<string>', financialAddress: null},
metadata: {},
paymentReference: '<string>'
})
};
fetch('https://api.getivy.de/api/service/payout/create', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.getivy.de/api/service/payout/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'amount' => 1.01,
'destination' => [
'type' => 'customer',
'orderId' => '<string>',
'financialAddress' => null
],
'metadata' => [
],
'paymentReference' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Ivy-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.getivy.de/api/service/payout/create"
payload := strings.NewReader("{\n \"amount\": 1.01,\n \"destination\": {\n \"type\": \"customer\",\n \"orderId\": \"<string>\",\n \"financialAddress\": null\n },\n \"metadata\": {},\n \"paymentReference\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Ivy-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.getivy.de/api/service/payout/create")
.header("X-Ivy-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 1.01,\n \"destination\": {\n \"type\": \"customer\",\n \"orderId\": \"<string>\",\n \"financialAddress\": null\n },\n \"metadata\": {},\n \"paymentReference\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getivy.de/api/service/payout/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Ivy-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 1.01,\n \"destination\": {\n \"type\": \"customer\",\n \"orderId\": \"<string>\",\n \"financialAddress\": null\n },\n \"metadata\": {},\n \"paymentReference\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"type": "beneficiary",
"destination": {
"type": "iban",
"iban": {
"accountHolderName": "<string>",
"iban": "<string>",
"bic": "<string>"
},
"aba": {
"accountHolderName": "<string>",
"routingNumber": "<string>",
"accountNumber": "<string>"
},
"bic": {
"accountHolderName": "<string>",
"accountNumber": "<string>",
"bic": "<string>",
"localBankCode": "<string>"
},
"sortCode": {
"accountHolderName": "<string>",
"sortCode": "<string>",
"accountNumber": "<string>"
},
"bankCode": {
"accountHolderName": "<string>",
"code": "<string>",
"accountNumber": "<string>"
},
"bban": {
"accountHolderName": "<string>",
"bban": "<string>",
"bic": "<string>"
},
"wallet": {
"address": "<string>",
"blockchain": "BTC"
}
},
"status": "paid",
"amount": 123,
"currency": "EUR",
"createdAt": "<unknown>",
"updatedAt": "<unknown>",
"metadata": {},
"paymentReference": "<string>",
"transactionId": "<string>",
"failure": {
"code": "account_closed",
"message": "<string>",
"retry": true
}
}Authorizations
API key for authentication
Headers
Idempotency key for safe retries. Reusing a key with an identical request body returns the cached response. Reusing a key with a different body returns 409.
Body
The payout amount in decimal format. The minimum amount is 0.01.
x > 0.01EUR, GBP, USDC, USD Show child attributes
Show child attributes
The payment rail or blockchain used for the payout
SEPA_INSTANT, FASTER_PAYMENTS, SEPA, ELIXIR, EXPRESS_ELIXIR, SEK_ACCOUNT_TO_ACCOUNT, SUMCLEARING, STRAKSCLEARING, SWIFT, INTERNAL, TARGET, ACH, FEDWIRE, FEDNOW, RTP, BTC, BTC-TESTNET4, ETH, ETH-SEPOLIA, SOL, SOL-DEVNET, MATIC, MATIC-AMOY This can be used to store any additional information you need to associate with this payout.
Show child attributes
Show child attributes
The payout payment reference. This is visible to the receiving party, if possible.
1Response
Create a payout
The payout ID
The payout type
beneficiary, customer The payout destination
Show child attributes
Show child attributes
The payout status
paid, pending, in_transit, failed, returned, canceled The payout amount
The payout currency
EUR, GBP, USDC, USD The payout created at
The payout updated at
The payout metadata
Show child attributes
Show child attributes
The payout payment reference
The payout transaction ID
Failure details. Only available if the payout failed.
Show child attributes
Show child attributes
Was this page helpful?