Capture Preauthorization
POST
/v1/payments/{id}/captureRecommendedCapture a preauthorized payment (full amount only — partial/multi-capture is Phase 2). Idempotent against an already-captured row.
Authentication
Signature Pattern
HMAC-SHA256(secretKey, "{timestamp}\nPOST\n/v1/payments/{id}/capture\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 (see below) |
X-Timestamp | 2026-04-13T10:00:00Z | ISO 8601 UTC request time, validated within ±5 min |
Request Example
JSONRequest Body
{}Response Parameters
| Field | Type | Example |
|---|---|---|
id | string | "pay_1a2b3c4d5e6f" |
status | string | "captured" |
amount | integer | 15000 |
currency | string | "TRY" |
commission | integer | 449 |
netAmount | integer | 14551 |
refundableAmount | integer | 15000 |
completedAt | string | "2026-04-13T10:05:00Z" |
Response Example
JSONResponse
{
"id": "pay_1a2b3c4d5e6f",
"status": "captured",
"amount": 15000,
"currency": "TRY",
"commission": 449,
"netAmount": 14551,
"refundableAmount": 15000,
"completedAt": "2026-04-13T10:05:00Z"
}Status Codes
200Success
201Created
400Bad Request
401Unauthorized
404Not Found
429Rate Limited
Try itMock
POSThttps://api.pay.sandbox.kvell.group