Payouts-API
July 30, 2026
Auszahlungen über die FlowAlp Pay API auflisten und einzeln mit Transaktionen, Gebühren und Bankreferenz für die Abstimmung abrufen.
Ein Payout ist die Banküberweisung, die Ihr über FlowAlp Pay eingezogenes Guthaben auf Ihr eigenes Konto transferiert. Die API ist rein lesend: Sie können Auszahlungen auflisten, den Kopf einer einzelnen Auszahlung abrufen und die enthaltenen Transfers — die einzelnen Transaktionen, Gebühren und Korrekturen — seitenweise laden. Das Abwicklungskonzept aus Händlersicht erklärt Auszahlungen und Abstimmung.
Payouts auflisten
https://api.pay.flowalp.com/v1.16/Payout/v1.14 · v1.15 · v1.16| Parameter | Typ | Beschreibung |
|---|---|---|
| instance | string (erforderlich) | Query-Parameter: Name Ihrer Instance (Tenant). |
| limit | integer | Maximale Anzahl zurückgegebener Zeilen. |
| offset | integer | Anzahl zu überspringender Zeilen, für die Paginierung. |
| orderByDate | string | ASC (Standard) oder DESC — Sortierung nach dem Auszahlungsdatum. |
curl "https://api.pay.flowalp.com/v1.16/Payout/?instance=<tenant>&orderByDate=DESC&limit=20" \
-H "x-api-key: <api-secret>"<?php
use FlowAlpPay\FlowAlpPay;
use FlowAlpPay\Models\Request\Payout;
$client = new FlowAlpPay(
getenv('FLOWALP_TENANT'),
getenv('FLOWALP_API_SECRET'),
FlowAlpPay::DEFAULT_COMMUNICATION_HANDLER,
'pay.flowalp.com',
'1.16'
);
try {
$payouts = $client->getAll(new Payout());
foreach ($payouts as $payout) {
echo $payout->getUuid() . PHP_EOL;
}
} catch (Exception $e) {
error_log('Payout list failed: ' . $e->getMessage());
}Die Liste liefert die Payout-Objekte in data ohne die Transfer-Aufschlüsselung (transfers bleibt leer). Den Inhalt einer Auszahlung laden Sie über den Details-Endpoint unten.
Payout abrufen
https://api.pay.flowalp.com/v1.16/Payout/{uuid}/v1.14 · v1.15 · v1.16| Parameter | Typ | Beschreibung |
|---|---|---|
| uuid | string (erforderlich) | Path-Parameter: UUID der Auszahlung, zum Beispiel aus der Listen-Response oder aus dem Feld payoutUuid einer Transaktion. |
| instance | string (erforderlich) | Query-Parameter: Name Ihrer Instance (Tenant). |
curl "https://api.pay.flowalp.com/v1.16/Payout/C6B438B9/?instance=<tenant>" \
-H "x-api-key: <api-secret>"Diese Variante liefert den Kopf der Auszahlung — Summen, Status, Datum und Zielkonto — ohne die enthaltenen Transfers aufzulösen.
Payout mit Details abrufen
https://api.pay.flowalp.com/v1.16/Payout/{uuid}/detailsv1.14 · v1.15 · v1.16| Parameter | Typ | Beschreibung |
|---|---|---|
| uuid | string (erforderlich) | Path-Parameter: UUID der Auszahlung. |
| instance | string (erforderlich) | Query-Parameter: Name Ihrer Instance (Tenant). |
| limit | integer | Query-Parameter: Anzahl Transfer-Einträge pro Seite; empfohlen ist eine Seitengrösse von 100 Elementen. |
| offset | integer | Query-Parameter: Offset in Kombination mit limit. Standard 0. |
curl "https://api.pay.flowalp.com/v1.16/Payout/C6B438B9/details?instance=<tenant>&limit=100&offset=0" \
-H "x-api-key: <api-secret>"<?php
use FlowAlpPay\Models\Request\Payout;
// $client: gleicher Konstruktor wie im Listen-Beispiel oben
$payout = new Payout();
$payout->setUuid('C6B438B9');
try {
$details = $client->details($payout);
} catch (Exception $e) {
error_log('Payout details failed: ' . $e->getMessage());
}Seit v1.16 werden wiederholte Auszahlungsversuche in ihre ursprünglichen zugrunde liegenden Transfers aufgelöst. In früheren Versionen erschien ein wiederholter Versuch als einzelner Sammeleintrag mit leerem transaction-Objekt; jetzt listet die Response die tatsächlichen Einzeltransaktionen der ursprünglichen Auszahlung auf.
Response
Endpoints für eine einzelne Auszahlung liefern ein Payout-Objekt in data (die Liste liefert ein Array). Alle Beträge sind in Minor Units. Jeder Eintrag in transfers hat type, amount, date_time und ein items-Array, dessen Werte sich immer zum Transferbetrag summieren — eine Zahlung über CHF 300.00 mit CHF 3.00 Gebühr zeigt Items von 30000 und -300 und einen Transferbetrag von 29700. Bezieht sich ein Transfer auf eine Zahlung, enthält sein transaction-Objekt die uuid und reference_id der Transaktion für den Abgleich mit Ihren Bestellungen; andernfalls ist es ein leeres Objekt.
| Feld | Typ | Beschreibung |
|---|---|---|
| uuid | string | Öffentliche Kennung der Auszahlung. |
| mode | string | LIVE oder TEST. |
| object | string | Immer payout. |
| amount | integer | Insgesamt überwiesener Betrag, in Minor Units. |
| total_fees | integer | Summe aller in der Auszahlung enthaltenen Gebühren, in Minor Units. |
| currency | string | ISO-Währungscode der Auszahlung. |
| date | string | Auszahlungsdatum im Format YYYY-MM-DD. |
| statement | string | Text, der auf dem Bankauszug erscheint. |
| status | string | Status der Auszahlung, siehe Tabelle unten. |
| destination | object | Zielkonto: type (zum Beispiel bank_account), iban und account_holder. |
| transfers | array | Inhalt der Auszahlung: Transaktionen, Gebühren, Korrekturen und Reserven. |
| merchant | object | Ihre Kontodaten: name, site_title und ein owner-Objekt. |
{
"status": "success",
"data": {
"uuid": "C6B438B9",
"mode": "LIVE",
"object": "payout",
"amount": 29690,
"total_fees": 310,
"currency": "CHF",
"date": "2026-07-06",
"statement": "Demo Shop Thun",
"status": "sent",
"destination": {
"type": "bank_account",
"iban": "CH93 0076 2011 6238 5295 7",
"account_holder": "Demo Firma"
},
"transfers": [
{
"type": "payout-fee",
"amount": -10,
"date_time": "2026-07-06T13:45:18+00:00",
"items": [
{ "type": "payout-fee", "amount": -10 }
],
"transaction": {}
},
{
"type": "transaction",
"amount": 29700,
"date_time": "2026-06-25T13:44:30+00:00",
"items": [
{ "type": "transaction", "amount": 30000 },
{ "type": "transaction-fee", "amount": -300 }
],
"transaction": {
"type": "transaction",
"amount": 30000,
"uuid": "aabb1122",
"fee": 300,
"currency": "CHF",
"time": "2026-06-25T14:44:31+01:00",
"payment": { "brand": "visa" },
"reference_id": "ORDER-2026-0815"
}
}
],
"merchant": {
"name": "demo-shop",
"site_title": "Demo Shop",
"owner": {
"company": "Demo Firma",
"first_name": "Anna",
"last_name": "Keller",
"address": "Bahnhofstrasse 12",
"zip": "3600",
"place": "Thun",
"email": "finance@demo-shop.example"
}
}
}
}Mögliche type-Werte eines Transfers: transaction, transaction-reversal, dispute, dispute-reversal, payout, payout-reversal, adjustment, manual-adjustment, payout-fee, payout-reserve, payout-reserve-reversal und alternative-currency-payout-fee-percent.
Statuswerte der Auszahlung
| Status | Beschreibung |
|---|---|
| initiated | Die Auszahlung wurde vom System angestossen. |
| pending | Die Auszahlung ist erstellt und bereit zur Verarbeitung. |
| under-review | Die Auszahlung wird vor der Freigabe genauer geprüft. |
| processing | Die Auszahlungsdatei wurde zur Ausführung an die Bank übergeben. |
| sent | Die Auszahlung wurde erfolgreich an die Bank übermittelt. |
| failed | Die Auszahlung ist fehlgeschlagen und wurde von der Bank retourniert. |
Webhook-Benachrichtigungen werden für die Status processing, sent und failed versendet — nicht für initiated, pending oder under-review.
Fehler
| HTTP-Status | Bedeutung |
|---|---|
| 400 | Fehlerhafte Anfrage — das Feld message im Fehler-Body beschreibt das genaue Problem. |
| 404 | Auf dieser Instance existiert keine Auszahlung mit der angegebenen UUID. |
Jede abgerechnete Transaktion trägt die payoutUuid ihrer Auszahlung — siehe Transactions auflisten und abrufen. Den vollständigen Abwicklungs- und Abstimmungsprozess beschreibt Auszahlungen und Abstimmung; Statusänderungen erhalten Sie automatisch, wenn Sie Webhooks konfigurieren.