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
    • Kart Kaydetme
    • 3D Secure Kart Token ile Ödeme
    • 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
Bu endpoint, sipariş ve kredi kartı bilgilerini Sipay ödeme entegrasyon sistemine göndermek için kullanılır.
Üye işyeri web sitesindeki ödeme formu (HTML) gönderildikten sonra kullanıcı, ödemenin SMS kodu kullanılarak doğrulandığı bankanın 3D Secure sayfasına yönlendirilir. Ödeme başarılı olduğunda kullanıcı, üye işyeri tarafından belirtilen success URL'ye yönlendirilir.
Ödeme başarısız olduğunda veya iptal edildiğinde ise kullanıcı, üye işyeri tarafından belirtilen cancellation URL'ye yönlendirilir.
Diğer ödeme API'lerinden farklı olarak, paySmart3D API'sinde getpos API çağrısının yapılmasına gerek yoktur.
Bu endpoint için AJAX isteği göndermeyiniz. /api/paySmart3D URL ’ine HTML form gönderimi olmalıdı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 Onaylama Endpointi ç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 Request panelinde bulunmaktadır.
cancel_url, ödeme başarısız olduğunda yönlendirme için kullanılır ve ödeme başarılı olduğunda yönlendirme için return_url kullanılır.
Başarısız veya başarılı ödemeden bağımsız olarak, aşağıdaki anahtarlar iptal ve başarılı url ile sorgu dizesinde mevcuttur:
sipay_status, order_id ve invoice_id.
Örnek :
başarılı URL https: // alanadim.com/ ise,
başarılı ödemeden sonra sipay, https: // alanım.com/?sipay_status=1&order_no=234234232&invoice_id=73434 adresine yönlendirecektir.

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"
}
Previous
3D Secure Ödeme Akışı
Next
3D Secure Tekrarlayan Ödeme
Built with