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

Ödeme Tamamlama

Testing
POST
/ccpayment/payment/complete
İşlem 3D Secure ödeme yöntemi üzerinden gerçekleştirildiğinde ve payment_completed_by parametresi merchant olarak gönderildiğinde, Ödeme Tamamlama (Complete Payment) endpoint'i çağrılmalıdır.
Ödeme Tamamlama endpoint'i, ödeme sürecini tamamlamak ve işlemi sonlandırmak için kullanılır.
payment_completed_by parametresi gönderilmezse, sistem değeri otomatik olarak app olarak kabul eder ve işlemi buna göre devam ettirir.
Ödeme Tamamlama endpoint'i 15 dakika içerisinde çağrılmalıdır.

Dönen MD status değeri önemlidir. MD status kodları, açıklamaları ve anlamları aşağıda belirtilmiştir.
mdStatusHata DetayıAçıklama
0Kimlik Doğrulama Başarısız3D doğrulama işlemi başarısız oldu.
1Tam Kimlik DoğrulamaKart sahibi başarıyla doğrulandı.
Kontrollerden herhangi birinin başarısız olması durumunda işlem reddedilir.
ℹ️ Bu aşamada henüz herhangi bir tahsilat gerçekleştirilmez; tutar yalnızca kartın kullanılabilir bakiyesinde geçici olarak rezerve edilir.
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.
Hash algoritması örneği, ilgili istekte yer almaktadır.

Hash Parametreleri#

hash algoritması içerisinde kullanılacak parametreler ve kullanım sıraları aşağıdaki gibidir.
merchant_key
invoice_id
order_id
status
app_secret

Request

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

Examples

Responses

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

⚪14Başarısız
Request Request Example
Shell
JavaScript
Java
Swift
#!/usr/bin/env bash

 

generate_hash_key() {
  local merchant_key="$1"
  local invoice_id="$2"
  local order_id="$3"
  local status="$4"
  local app_secret="$5"

 

  local data="${merchant_key}|${invoice_id}|${order_id}|${status}"

 

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

 

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

 

  local salt
  salt=$(openssl rand -hex 16 | 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="${iv}:${salt}:${encrypted_base64}"
  msg="${msg//\//__}"

 

  echo "$msg"
}

 

merchant_key="test_merchant_123"
invoice_id="INV-2026-0001"
order_id="VP12581354698765"
status="complete"
app_secret="my_secret_key_456"

 

result=$(generate_hash_key "$merchant_key" "$invoice_id" "$order_id" "$status" "$app_secret")
echo "Hash Key: $result"
Response Response Example
200 - Success
{
    "status_code": 100,
    "status_description": "Payment Successfully Completed",
    "data": {
        "sipay_status": 1,
        "order_no": "VP17349634893866298",
        "order_id": "VP17349634893866298",
        "invoice_id": "JB7HHTAGWWINPRT-1734963488",
        "status_code": 100,
        "status_description": "Payment Successfully Completed",
        "sipay_payment_method": 1,
        "credit_card_no": "540667****5403",
        "transaction_type": "Auth",
        "payment_status": 1,
        "payment_method": 1,
        "error_code": 100,
        "error": "Payment Successfully Completed",
        "auth_code": "P09424",
        "installment": 1,
        "amount": 800,
        "payment_reason_code": "",
        "payment_reason_code_detail": "",
        "status": "Completed",
        "hash_key": "4e431932f5e8b292:e470:eLjTMboO95+mvF54m4knqa6eD2nc__TnuVeHaxniabeIw9Wgo5qSRVrDdlKw2Y2mpgvT9jRnz30__yJ3d__SsqIP2eJeP3PjHQ+wdRd09Ej838=",
        "original_bank_error_code": "",
        "original_bank_error_description": ""
    }
}
Modified at 2026-07-10 12:29:35
Previous
3D Secure Ön Provizyon Ödemesi
Next
Ödeme Onaylama
Built with