1. Kayıtlı Kart ile Ödeme
Sipay API Documentation
TR
  • EN
  • TR
  • Genel Bakış
    • Başlangıç
    • Test Kartları
  • Kimlik Doğrulama
    • Token Oluşturma
      POST
  • Non-Secure Ödeme
    • Non-Secure Ödeme Akışı
    • Non-Secure Kart Ödemesi
      POST
    • Non-Secure Tekrarlayan Ödeme
      POST
    • Non-Secure Sigorta Ödemesi
      POST
    • Non-Secure Ön Provizyon Ödemesi
      POST
    • Ödeme Onaylama
      POST
  • 3D Secure Ödemesi
    • 3D Secure Ödeme Akışı
    • 3D Secure Kredi Kart Ödemesi
      POST
    • 3D Secure Tekrarlayan Ödeme
      POST
    • 3D Secure Ön Provizyon Ödemesi
      POST
    • Ödeme Tamamlama
      POST
    • Ödeme Onaylama
      POST
    • 3D Secure Tarım Ödemesi
      POST
  • Sipay ile Non-Secure ve 3D Ödeme
    • Purchase Link Örneği
    • Sipay ile Non-Secure ve 3D Secure Ödeme
      POST
  • Ödeme Durumu Sorgulama
    • Durum Sorgulama
  • Taksitler & Komisyonlar
    • Taksit Bilgisi Sorgulama
    • Komisyon Bilgisi Sorgulama
    • Üye İşyeri Taksit Bilgisi Sorgulama
  • HASH
    • Hash Oluşturma
    • Hash Doğrulama
  • Kayıtlı Kart ile Ödeme
    • 3D Secure Kart Token ile Ödeme
      POST
    • Kart Kaydetme
      POST
    • Kayıtlı Kart Bilgilerini Sorgulama
      GET
    • Kayıtlı Kart Düzenleme
      POST
    • Kayıtlı Kart Silme
      POST
    • Non-Secure Kart Token ile Ödeme
      POST
  • Tekrarlayan Ödeme
    • Tekrarlayan Ödeme Sorgulama
    • Tekrarlayan Ödeme Plan Süreci
    • Tekrarlayan Ödeme Planı Güncelleme
  • İade
    • İade
  • Para Dağıtımı
    • Banka Hesabına Para Aktarımı
  • Webhook
    • Webhook
  • Hata Statü Kodları
    • Statü Kodları
  1. Kayıtlı Kart ile Ödeme

3D Secure Kart Token ile Ödeme

Testing
POST
/ccpayment/api/payByCardToken
Kayıtlı kart ile ödeme servisi, daha önce kaydedilmiş kart bilgileri kullanılarak ödeme işlemlerinin gerçekleştirilmesini sağlar.
Kullanıcı, üye işyerinin web sitesindeki ödeme formunu doldurup gönderdiğinde doğrudan bankanın doğrulama sayfasına yönlendirilir.
Ödeme işlemi, banka ödeme geçidi üzerinden SMS ile gönderilen doğrulama kodu veya banka tarafından tanımlanan diğer 3D Secure doğrulama yöntemleri ile gerçekleştirilir.
Ödeme işlemi başarıyla tamamlandığında kullanıcı üye işyerinin başarı URL'sine yönlendirilir. İşlemin başarısız olması veya iptal edilmesi durumunda kullanıcı, üye işyeri tarafından belirtilen iptal URL'sine yönlendirilir.
Diğer ödeme API'lerinden farklı olarak bu akışta ek olarak getPos API çağrısı yapılmasına gerek yoktur.
Hash key istekte gönderilmelidir.
Örnek hash key değerleri, seçilen programlama diline karşılık gelen yan taraftaki request form alanında bulunabilir.
Hash algoritmasına ait örnek implementasyon istekte yer almaktadır.

Hash Parametreleri#

hash algorithm içerisinde kullanılacak parametreler ve sıralaması aşağıdaki gibidir.
total
installment
currency_code
merchant_key
invoice_id
app_secret

Request

Authorization
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
Body Params application/jsonRequired

Examples

Responses

🟢200Başarılı
application/json
Bodyapplication/json

Request Request Example
Shell
JavaScript
Java
Swift
#!/usr/bin/env bash

 

generate_hash_key() {
  local total="$1"
  local installment="$2"
  local currency_code="$3"
  local merchant_key="$4"
  local invoice_id="$5"
  local app_secret="$6"

 

  local data="${total}|${installment}|${currency_code}|${merchant_key}|${invoice_id}"

 

  local rand1
  rand1=$(openssl rand -hex 16)
  local iv
  iv=$(printf "%s" "$rand1" | openssl sha1 | awk '{print $2}' | cut -c1-16)

 

  local password
  password=$(printf "%s" "$app_secret" | openssl sha1 | awk '{print $2}')

 

  local rand2
  rand2=$(openssl rand -hex 16)
  local salt
  salt=$(printf "%s" "$rand2" | openssl sha1 | awk '{print $2}' | cut -c1-4)

 

  local salt_with_password
  salt_with_password=$(printf "%s" "${password}${salt}" | openssl sha256 | awk '{print $2}' | cut -c1-32)

 

  # Python kodunda key ve iv doğrudan ASCII byte olarak veriliyor.
  local key_hex
  key_hex=$(printf "%s" "$salt_with_password" | xxd -p -c 256)

 

  local iv_hex
  iv_hex=$(printf "%s" "$iv" | xxd -p -c 256)

 

  local encrypted_base64
  encrypted_base64=$(printf "%s" "$data" | openssl enc -aes-256-cbc -K "$key_hex" -iv "$iv_hex" -base64)

 

  local msg_encrypted_bundle="${iv}:${salt}:${encrypted_base64}"
  msg_encrypted_bundle="${msg_encrypted_bundle//\//__}"

 

  echo "$msg_encrypted_bundle"
}

 

total="100"
installment="1"
currency_code="TRY"
merchant_key="merchant_key"
invoice_id="invoice_id"
app_secret="app_secret"

 

result=$(generate_hash_key "$total" "$installment" "$currency_code" "$merchant_key" "$invoice_id" "$app_secret")
echo "$result"
Response Response Example
{}
Modified at 2026-07-10 14:02:22
Previous
Kayıtlı Kart ile Ödeme
Next
Kart Kaydetme
Built with