Skip to main content
Kart numarası girilerek gerçekleştirilen finansal işlemlerde, işlem öncesinde kart bilgilerini temsil eden bir token oluşturulması gerekmektedir. Üretilen bu token değeri kullanılarak, ilgili işlem tipi için ödeme servisi çağrılır. Böylece kart bilgileri doğrudan ödeme adımında kullanılmaz.
Bu servis, HTTP Form POST yöntemi ile çalışır. Diğer API çağrılarından farklı olarak, kimlik doğrulama ve kart bilgileri header üzerinden değil, form-data formatında gönderilir (Tablo 5.2).
Bu yaklaşımın amacı; kart numarasının backend sistemlere hiç alınmadan, form post yöntemiyle önce tokenlaştırılması, ardından backend tarafında yalnızca bu token değeri ile işlem yapılmasının sağlanmasıdır. Bu sayede PCI uyumluluğu ve veri güvenliği güçlendirilir.
Token oluşturulacak karta ait bilgiler, kimlik doğrulama parametreleri ile birlikte Tablo 5.1’de belirtilen alanlar üzerinden iletilmelidir. İstek Tipi: multipart/form-data

Tablo 5.1. Kart Token Servisi Girdi Parametreleri

Parametre AdıVeri TipiAçıklamaZorunluluk
publicKeystringÜye iş yeri açık anahtarıEvet
noncestringZaman damgasıEvet
signaturestringKimlik anahtar değeriEvet
conversationIdstringÜye iş yeri benzersiz değeriEvet
merchantNumberstringÜye iş yeri numarasıEvet
cardNumberstringKart numarasıEvet
expireMonthstringSon kullanma tarihi ay değeriEvet
expireYearstringSon kullanma tarihi yıl değeriEvet
cvvstringGüvenlik koduEvet

Tablo 5.2. Kart Token Servisi Örnek Request (form-data)

form-data
const formData = new FormData();
formData.append('CardNumber', '4355093000777068');
formData.append('ExpireMonth', '11');
formData.append('ExpireYear', '40');
formData.append('Cvv', '313');
formData.append('PublicKey', '{{publicKey}}');
formData.append('Nonce', '{{nonce}}');
formData.append('Signature', '{{signature}}');
formData.append('ConversationId', '{{conversationId}}');
formData.append('MerchantNumber', '{{merchantNumber}}');

Tablo 5.3. Kart Token Servisi Çıktı Parametreleri

Parametre AdıVeri TipiAçıklamaZorunluluk
cardTokenstringOluşturulan token bilgisiEvet
signaturestringInput olarak verilen kimlik anahtar değeriEvet
isSucceededboolean (true/false)İşlem durumuEvet
errorCodestringHata koduEvet
errorMessagestringHata mesajıEvet
conversationIdstringÜye iş yeri benzersiz değeriEvet
form-data
{
"cardToken": "+oc6jxS0ABueLM+QuJnQFrZyV+B4HMHYiMx8yBH/Z90=",
"signature": "Xa5KVwVju7gp47rHJ4Dc91iNk09PjkTKp/pBnGwILA=",
"isSucceeded": true,
"errorCode": null,
"errorMessage": null,
"conversationId": "969109305"
}