Tokenize Karttan Çekim Yap
POST
/v1/payments/cardCoreBir vault token kullanarak karttan çekim yapar (asla ham PAN ile değil — önce POST /v1/cards/tokens ile tokenize edin). 3DS 2.0 doğrulama sürecini yönetir. Ön provizyon için (Slice 9) capture=false ayarlayın: kayıt, sonraki bir /capture veya /void çağrısına kadar hiçbir defter kaydı oluşturulmadan status="authorized" durumunda kalır.
Kimlik Doğrulama
İmza Deseni
HMAC-SHA256(secretKey, "{timestamp}\nPOST\n/v1/payments/card\n{sha256(body)}")| Başlık | Değer | Açıklama |
|---|---|---|
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 |
İstek Parametreleri
| Ad | Tür | Zorunlu | Açıklama |
|---|---|---|---|
transactionId | string | Zorunlu | Session transaction id (idempotency fence) |
amount | integer | Zorunlu | Amount in kuruş |
currency | string | Zorunlu | Always "TRY" |
cardToken | string | Zorunlu | Vault token (tok_…) from POST /v1/cards/tokens |
installmentCount | integer | İsteğe Bağlı | Installment count 1..12 (re-checked against installment-service) |
threeDSecure | boolean | İsteğe Bağlı | Force 3DS (default true) |
customerId | string | İsteğe Bağlı | Save-card is honored only for a session-bound customer |
saveCard | boolean | İsteğe Bağlı | Attach the card to the customer after capture |
capture | boolean | İsteğe Bağlı | Auto-capture (default true); false = preauth |
İstek Örneği
JSONİstek Gövdesi
{
"transactionId": "ORDER-2026-001",
"amount": 15000,
"currency": "TRY",
"cardToken": "tok_9f8e7d6c5b4a",
"installmentCount": 3
}Yanıt Parametreleri
| Alan | Tür | Örnek |
|---|---|---|
paymentId | string | "pay_1a2b3c4d5e6f" |
status | string | "captured" |
amount | integer | 15000 |
currency | string | "TRY" |
commission | integer | 449 |
netAmount | integer | 14551 |
cardMask | string | "415565******4321" |
cardBrand | string | "visa" |
cardType | string | "credit" |
installmentCount | integer | 3 |
threeDSecure | boolean | true |
authCode | string | "123456" |
createdAt | string | "2026-04-13T10:00:00Z" |
completedAt | string | "2026-04-13T10:00:02Z" |
Yanıt Örneği
JSONYanıt
{
"paymentId": "pay_1a2b3c4d5e6f",
"status": "captured",
"amount": 15000,
"currency": "TRY",
"commission": 449,
"netAmount": 14551,
"cardMask": "415565******4321",
"cardBrand": "visa",
"cardType": "credit",
"installmentCount": 3,
"threeDSecure": true,
"authCode": "123456",
"createdAt": "2026-04-13T10:00:00Z",
"completedAt": "2026-04-13T10:00:02Z"
}Durum Kodları
200Success
201Created
400Bad Request
401Unauthorized
404Not Found
429Rate Limited
DeneSahte
POSThttps://api.pay.sandbox.kvell.group