1. Geliştiriciler
  • Hızlı Başlangıç
    • Giriş
    • Ürün Özeti
    • Ödeme yaşam döngüsü
    • 3D Akışı ve Hash Doğrulaması
    • İade mantığı
    • Webhook ve bildirimler
    • Hata yönetimi
    • Güvenlik özeti
    • Entegrasyon mantığı
    • Sık sorulan sorular
  • Geliştiriciler
    • API referansı
    • İstek / Yanıt içeriği
    • Kimlik ve ortamlar
    • Webhook teknik ayrıntılar
    • Finekstra LLM / Kod asistanı
  • API Dökümanı
    • Çıkış IP bilgisi
      GET
    • Servis sağlık kontrolü
      GET
    • Ödeme başlat
      POST
    • Ön provizyon başlat
      POST
    • Ödeme linki oluştur
      POST
    • İşlem durumu sorgula
      GET
    • İşlem listesi sorgula
      GET
    • Ön provizyonu tahsil et
      POST
    • İade talebi oluştur
      POST
  1. Geliştiriciler

Webhook teknik ayrıntılar

Finekstra, işyerine tanımlı URL’ye sunucudan sunucuya HTTPS POST ile ödeme olayları iletir. Gövde JSON’dur; her finansal işlemde gövdedeki değerler ve gizli anahtarla hash doğrulaması yapılır.

Olay türleri (örnek)#

Kod tabanında kullanılan bazı event değerleri:
OlayNe zaman
payment.approvedTahsilat onaylandı
payment.pending_captureÖn provizyon onaylandı, tahsilat bekleniyor
payment.declinedBanka reddi
payment.failedTeknik veya genel başarısızlık
payment.fraud_declinedRisk kuralları
payment.capturedTahsilat tamamlandı
payment.capture_failedTahsilat başarısız
payment.refundİade işlemi
payment.voidİptal işlemi
Not: Liste zaman içinde genişleyebilir.

Gövde alanları (özet)#

Payload örneği şu alanları içerir: event, transaction_id, merchant_id, status, amount, principal_amount, buyer_cost_amount, currency, reference_no, bank_id, fraud_flag, transaction_type, isteğe bağlı original_transaction_id, reversal_state, vb.

İmza#

İmza, payload'ın hash alanı eklenmeden önce yalnızca aşağıdaki alanlarla hesaplanır:
1.
event
2.
transaction_id
3.
merchant_id
4.
status
5.
amount
6.
currency
7.
transaction_type
Alan sırası yukarıdaki sırayla sabittir.
Canonical string, | ayırıcı ile şu formatta üretilir:
{event}|{transaction_id}|{merchant_id}|{status}|{amount}|{currency}|{transaction_type}
Paylaşılan sır ile HMAC-SHA256 hesaplanır (sign_payload).
Hesaplanan değer:
Header'da: X-Webhook-Signature
Gövdede: hash alanı
İstemci tarafı doğrulamada, yine aynı alanlar + aynı sıra ile HMAC üretip karşılaştırmalıdır.

Python doğrulama örneği#

Üretim ortamında webhook secret’ını işyeri panelinden veya operasyon ekibinden alın.

Yinelenen bildirimler#

Ağ tekrarlarında aynı olay iki kez gelebilir. İşlem kimliği ve olay türü ile idempotent işleyiş uygulayın.
Previous
Kimlik ve ortamlar
Next
Finekstra LLM / Kod asistanı
Built with