vellTRDocs
API ReferenceMarketplaceSubmerchant Payout

Submerchant Payout

POST/v1/payoutsOptional

Pay a submerchant out. A parent merchant passes submerchantId; the server sources the destination IBAN/holder from the submerchant record (a submerchant's own key can only pay itself). Routes to the submerchant's ledger accounts and lower limits.

Authentication

Signature Pattern

HMAC-SHA256(secretKey, "{timestamp}\nPOST\n/v1/payouts\n{sha256(body)}")
HeaderValueDescription
X-Api-Keypk_live_a1b2c3d4e5f6g7h8Merchant public API key
X-Signature{hmac_sha256_hex}Hex HMAC-SHA256 request signature
X-Timestamp2026-04-13T10:00:00ZISO 8601 UTC request time (±5 min)

Request Parameters

NameTypeRequiredDescription
submerchantIdstringRequiredSubmerchant to pay (IBAN/holder sourced server-side)
railstringRequired"fast" | "eft" | "card"
amountMinorintegerRequiredAmount in kuruş
currencystringRequiredAlways "TRY"
clientReferencestringOptionalMerchant pass-through reference

Request Example

JSONRequest Body
{
  "submerchantId": "sub_1a2b3c4d",
  "rail": "fast",
  "amountMinor": 20000,
  "currency": "TRY"
}

Response Parameters

FieldTypeExample
payoutIdstring"1a2b3c4d-5e6f-7081-92a3-b4c5d6e7f809"
statusstring"pending"
submerchantIdstring"sub_1a2b3c4d"

Response Example

JSONResponse
{
  "payoutId": "1a2b3c4d-5e6f-7081-92a3-b4c5d6e7f809",
  "status": "pending",
  "submerchantId": "sub_1a2b3c4d"
}

Status Codes

200Success
201Created
400Bad Request
401Unauthorized
404Not Found
429Rate Limited
Try itMock
POSThttps://api.pay.sandbox.kvell.group