vellTRDocs
API Referansına DönÖdemelerTokenize Karttan Çekim Yap

Tokenize Karttan Çekim Yap

POST/v1/payments/cardCore

Bir 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ıkDeğerAçıklama
X-Api-Keypk_live_a1b2c3d4e5f6g7h8Merchant public API key
X-Signature{hmac_sha256_hex}Hex HMAC-SHA256 request signature (see below)
X-Timestamp2026-04-13T10:00:00ZISO 8601 UTC request time, validated within ±5 min

İstek Parametreleri

AdTürZorunluAçıklama
transactionIdstringZorunluSession transaction id (idempotency fence)
amountintegerZorunluAmount in kuruş
currencystringZorunluAlways "TRY"
cardTokenstringZorunluVault token (tok_…) from POST /v1/cards/tokens
installmentCountintegerİsteğe BağlıInstallment count 1..12 (re-checked against installment-service)
threeDSecurebooleanİsteğe BağlıForce 3DS (default true)
customerIdstringİsteğe BağlıSave-card is honored only for a session-bound customer
saveCardbooleanİsteğe BağlıAttach the card to the customer after capture
capturebooleanİ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

AlanTürÖrnek
paymentIdstring"pay_1a2b3c4d5e6f"
statusstring"captured"
amountinteger15000
currencystring"TRY"
commissioninteger449
netAmountinteger14551
cardMaskstring"415565******4321"
cardBrandstring"visa"
cardTypestring"credit"
installmentCountinteger3
threeDSecurebooleantrue
authCodestring"123456"
createdAtstring"2026-04-13T10:00:00Z"
completedAtstring"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