Create Payout
POST
/v1/payoutsOptionalDisburse to a TR IBAN (rail "fast" or "eft") or a card (rail "card", token-forwarding). Runs the payable_now gate, locks the ledger, and submits to the provider. Returns status "pending"; the terminal state arrives via the payout.* webhook. Accepts an optional Idempotency-Key header.
Authentication
Signature Pattern
HMAC-SHA256(secretKey, "{timestamp}\nPOST\n/v1/payouts\n{sha256(body)}")| Header | Value | Description |
|---|---|---|
X-Api-Key | pk_live_a1b2c3d4e5f6g7h8 | Merchant public API key |
X-Signature | {hmac_sha256_hex} | Hex HMAC-SHA256 request signature |
X-Timestamp | 2026-04-13T10:00:00Z | ISO 8601 UTC request time (±5 min) |
Request Parameters
| Name | Type | Required | Description |
|---|---|---|---|
storeId | string | Required | Store the payout draws from |
rail | string | Required | "fast" | "eft" | "card" |
iban | string | Required | Destination TR IBAN (validated mod-97; empty for card rail) |
holderName | string | Required | Account holder name |
amountMinor | integer | Required | Amount in kuruş |
currency | string | Required | Always "TRY" |
clientReference | string | Optional | Merchant pass-through reference |
Request Example
JSONRequest Body
{
"storeId": "sto_5a6b7c8d",
"rail": "fast",
"iban": "TR330006100519786457841326",
"holderName": "Acme Ltd",
"amountMinor": 100000,
"currency": "TRY"
}Response Parameters
| Field | Type | Example |
|---|---|---|
payoutId | string | "7c8d9e0f-1a2b-3c4d-5e6f-708192a3b4c5" |
status | string | "pending" |
Response Example
JSONResponse
{
"payoutId": "7c8d9e0f-1a2b-3c4d-5e6f-708192a3b4c5",
"status": "pending"
}Status Codes
200Success
201Created
400Bad Request
401Unauthorized
404Not Found
429Rate Limited
Try itMock
POSThttps://api.pay.sandbox.kvell.group