1. 3D Secure Ödemesi
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
      POST
  • Taksitler & Komisyonlar
    • Taksit Bilgisi Sorgulama
      POST
    • Komisyon Bilgisi Sorgulama
      POST
    • Üye İşyeri Taksit Bilgisi Sorgulama
      POST
  • HASH
    • Hash Oluşturma
    • Hash Doğrulama
  • Kayıtlı Kart ile Ödeme
    • 3D Secure Kart Token ile Ödeme
    • Kart Kaydetme
    • Kayıtlı Kart Bilgilerini Sorgulama
    • Kayıtlı Kart Düzenleme
    • Kayıtlı Kart Silme
    • Non-Secure Kart Token ile Ödeme
  • 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. 3D Secure Ödemesi

3D Secure Kredi Kart Ödemesi

Testing
POST
/ccpayment/api/paySmart3D
3DS, online işlemleri şifreli bağlantılar üzerinden gerçekleştiren güvenli bir ödeme altyapısıdır. Ödeme sırasında paySmart3D seçildikten sonra kullanıcılar, işlemi tamamlamak için güvenli ödeme sayfasına yönlendirilir. Ödeme başarıyla yetkilendirildiğinde sistem, gerçek zamanlı ödeme onayı döndürür.

Yanıt Detayları:#

payment_status == 0 olması, işlemin başarısız olduğu anlamına gelir.
payment_status == 1 ve transaction_type == "Pre-Authorization" olması, işlemin başarılı olduğu ve işlem tutarının kredi kartı üzerinde bloke edildiği anlamına gelir.
Bloke edilen tutarın karttan tahsil edilebilmesi için
Ödeme Tamamlama Endpoint'i ve Ödeme Onaylama Endpoint'i çağrılmalıdır.
payment_status == 1 ve transaction_type == "Auth" olması, işlemin başarılı olduğu ve işlem tutarının karttan anında tahsil edildiği anlamına gelir.

Hash key değeri istekte gönderilmelidir.
Örnek hash key değerleri, seçilen programlama diline göre sağ tarafta yer alan istek örnekleri panelinde bulunmaktadır.

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

🟠404Başarısız
Request Request Example
Shell
JavaScript
Java
Swift
HASH
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)

  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
200 - Success
{
	"sipay_status": "1",
	"order_no": "VP17749690188158024",
	"order_id": "VP17749690188158024",
	"invoice_id": "7PAXU5D2IMBQ3KD-1774969017",
	"status_code": "100",
	"status_description": "Payment Successfully Completed",
	"sipay_payment_method": "1",
	"credit_card_no": "450803****4509",
	"transaction_type": "Auth",
	"payment_status": "1",
	"payment_method": "1",
	"error_code": "100",
	"error": "Payment Successfully Completed",
	"auth_code": "P54802",
	"merchant_commission": "0.1",
	"user_commission": "0",
	"merchant_commission_percentage": "1",
	"merchant_commission_fixed": "0",
	"installment": "1",
	"amount": "5",
	"payment_reason_code": null,
	"payment_reason_code_detail": null,
	"hash_key": "7fa34583e3b2dd60:32f6:6sEV__qFOEiSvNHEVXCW4EJaJvD+dzeQzqoKiQG0kEDADdcGcrniJFJh5jdM+r2aBAMkOn71VUffdxEZ9BaEpUg==",
	"md_status": "1",
	"original_bank_error_code": null,
	"original_bank_error_description": null,
	"host_reference_id": "609000105269"
}
Modified at 2026-07-10 12:17:56
Previous
3D Secure Ödeme Akışı
Next
3D Secure Tekrarlayan Ödeme
Built with