LogoLogo
GitHubFeedback Form
TR
TR
  • Başlangıç
  • Ön Hazırlıklar
    • Sandbox
    • Kimlik Doğrulama
      • HMACSHA256 Kimlik Doğrulama
    • Postman Collections
    • Live vs Sandbox
    • Eşleştirme
    • Limitler
  • Ödeme Metotları
    • Non-3DS
      • NON-3DS Entegrasyonu
        • Ödeme Oluşturma
        • Ödeme Sorgulama
    • 3DS
      • 3DS Entegrasyonu
        • 3DS Başlatma
        • 3DS Tamamlama
    • iyzico ile Öde (PWI)
      • PWI Entegrasyonu
        • PWI Başlatma
        • PWI Sorgulama
        • PWI Örnek Entegrasyon
    • Ödeme Formu (CheckoutForm)
      • CF Entegrasyonu
        • CF Başlatma
        • CF Sorgulama
        • CF Örnek Entegrasyon
  • Ürünler
    • Online Ödeme
    • Pazaryeri
      • Pazaryeri Entegrasyonu
        • Pazaryerlerinde Stopaj Uygulaması
        • Alt Üye
          • Alt Üye Güncelleme
          • Alt Üye Sorgulama
          • Alt Üye / Hak Ediş Güncelleme
        • Pazaryeri Ödemesi
        • Onay
    • Abonelik
      • Abonelik Entegrasyonu
        • Abonelik Ürünü
        • Ödeme Planı
        • Abonelik İşlemleri
        • Abone İşlemleri
    • Ceppos App2App
      • App2App Entegrasyonu
        • Kullanıcı Listeleme
        • Ödeme Başlatma
        • İptal / İade
        • Sorgulama
    • Korumalı Havale/EFT
      • Havale/EFT Entegrasyonu
        • Havale/EFT Başlatma
        • Havale/EFT Sorgulama
      • Havale/EFT SSS
    • iyzilink
      • iyzilink API
    • Alışveriş Kredisi
      • Alışveriş Kredisi Entegrasyonu
        • Alışveriş Kredisi Başlatma
        • Alışveriş Kredisi Sonucu Alma
        • Alışveriş Kredisi Örnek Entegrasyon
  • Ek Servisler
    • Kart Saklama
    • Raporlama Servisi
    • İptal ve İade
    • Webhook
    • SFTP
    • Mutabakat Dosyaları
    • Fraud Bildirimleri
    • Taksit ve BIN Sorgulama
    • iyzico Hesabına İade
    • Ödeme Sorgulama
    • İmza Yanıtının Doğrulanması
  • Platformlar
    • Woocommerce
    • Opencart
    • PrestaShop
    • Magento
    • IdeaSoft
    • Ticimax
    • T-Soft
    • Shopify
    • WIX
  • Ek Bilgiler
    • Hata Kodları
    • Test Kartları
    • Entegrasyon Kontrol Listesi
    • iyzico Logo Paketi
Powered by GitBook
On this page
  • Webhook nasıl etkinleştirilir?
  • Webhook Formları
  • Notifikasyon Validasyonu
  1. Ek Servisler

Webhook

Last updated 7 months ago

LogoLogo

Company

  • About
  • Career
  • Social
  • Youtube

Community

  • Github
  • Medium

Integration

  • Brand Guide
  • Solution Partners
  • Open Source

Contact

  • Contact Us
  • Support Center

X-Iyz-Signature ve X-Iyz-Signature-V2 artık desteklenmeyecektir. Kullanıcılarımızın sistemlerini X-Iyz-Signature-V3 ile uyumlu hale getirmelerini bekliyoruz.

iyzico, işlem tamamlandığında uygulamanızı bilgilendirmek için webhook kullanır. (Başarılı, Başarısız) Ödeme girişimi yapıldığında HTTP POST bildirimi ile işlem sonucunu almak mümkündür. İlk bildirim, ilk ödeme girişiminden 10-15 saniye sonra gönderilecektir. Bu bir JSON Yükü ve sunucudan sunucuya HTTP isteğidir. iyzico, sunucunuz "2xx" durumu ile yanıt verene kadar her 15 dakikada bir bildirim göndermeye devam edecek ve 3 defa tekrar edecektir.

iyzico'da webhook kullanımına yönelik opsiyonel olabilecek tüm Ödeme Metotları doğrudan sonuçlanmaktadır. Örneğin, başarılı bir ödeme talebinde, en son yanıt tüm ödeme ayrıntılarını içerir. Bununla birlikte, istenirse farklı mekanizmaları tetiklemek için webhook yine de kullanılabilir.

Webhook nasıl etkinleştirilir?

iyzico Merchant Panel'e giriş yaptıktan sonra "Ayarlar > Firma Ayarları" adımında "İşyeri Bildirimleri" başlığından yapabilirsiniz. (HTTPS URL gereklidir)

Webhook Formları

Webhook istekleri 2 farklı formatta olabilir.

  • Direct Format

  • HPP(Hosted Payment Page) Format

Direkt Format

Aşağıdaki webhook formatı, NON-3DS ve 3DS ödeme taleplerinde görünür.

Parametre
Type
Açıklama

paymentConversationId

string

İlgili ödemenin üye işyeri tarafından gönderilmiş referans numarası

merchantId

string

Merchant'ın iyzico tarafından atanmış ID numarası.

paymentId

string

İlgili ödemenin paymentId bilgisi

status

string

Ödeme durumu. Alabileceği değerler: FAILURE, SUCCESS, INIT_THREEDS, CALLBACK_THREEDS, BKM_POS_SELECTED, INIT_APM, INIT_BANK_TRANSFER, INIT_CREDIT, PENDING_CREDIT, INIT_CONTACTLESS

iyziReferenceCode

string

İstek için üretilen unique iyzico referans kodu

iyziEventType

string

İstek tipini belirtir. Alabileceği değerler: CHECKOUT_FORM_AUTH, PAYMENT_API, API_AUTH, THREE_DS_AUTH, THREE_DS_CALLBACK, BANK_TRANSFER_AUTH, BKM_AUTH, BALANCE, CONTACTLESS_AUTH, CONTACTLESS_REFUND, CREDIT_PAYMENT_AUTH, CREDIT_PAYMENT_PENDING, CREDIT_PAYMENT_INIT, REFUND_RETRY_FAILURE, REFUND_RETRY_SUCCESS

iyziEventTime

long

Notification oluşturulma zamanının unix timestamp değeridir.

iyziPaymentId

long

Ödemeye ait ilgili paymentId.

HPP Format

Yukarıdakine benzer şekilde, bir sonraki webhook formatı, iyzico ile Öde ve Ödeme Formu olan barındırılan sayfa çözümlerinde görünür.

Parametre
Type
Açıklama

paymentConversationId

string

İlgili ödemenin üye işyeri tarafından gönderilmiş referans numarası

merchantId

string

Merchant'ın iyzico tarafından atanmış ID numarası.

token

string

Ödeme formu için üretilmiş ve ödeme detaylarını içeren token değeri

status

string

Ödeme durumu. Alabileceği değerler: FAILURE, SUCCESS, INIT_THREEDS, CALLBACK_THREEDS, BKM_POS_SELECTED, INIT_APM, INIT_BANK_TRANSFER, INIT_CREDIT, PENDING_CREDIT, INIT_CONTACTLESS

iyziReferenceCode

string

İstek için üretilen unique iyzico referans kodu

iyziEventType

string

İstek tipini belirtir. Alabileceği değerler: CHECKOUT_FORM_AUTH, PAYMENT_API, API_AUTH, THREE_DS_AUTH, THREE_DS_CALLBACK, BANK_TRANSFER_AUTH, BKM_AUTH, BALANCE, CONTACTLESS_AUTH, CONTACTLESS_REFUND, CREDIT_PAYMENT_AUTH, CREDIT_PAYMENT_PENDING, CREDIT_PAYMENT_INIT, REFUND_RETRY_FAILURE, REFUND_RETRY_SUCCESS

iyziEventTime

long

Notification oluşturulma zamanının unix timestamp değeridir.

iyziPaymentId

long

Ödemeye ait ilgili paymentId.

Notifikasyon Validasyonu

İsteğin iyzico üzerinden geldiğini valide etmek için header içinde gönderilen X-IYZ-SIGNATURE-V3değeri kullanılabilir ve bu değer yalnızca sahip olduğunuz SECRET KEY ile çözülebilir.

X-Iyz-Signature ve X-Iyz-Signature-V2 artık desteklenmeyecektir. Kullanıcılarımızın sistemlerini X-Iyz-Signature-V3 ile uyumlu hale getirmelerini bekliyoruz.

Direkt Formatın Doğrulanması

Secret Key, eventType ve paymentId aşağıda verilen sıraya göre oluşturulmalıdır. Bu dizi HMACSHA256 ile hashlenir ve sonuç HEX ile şifrelenir. Alınan sonuç header'da bulunan X-IYZ-SIGNATURE değerine eşit olmalıdır.

Direkt format için Hashing Örneği
// HMAC için Key oluşturulur
const key = secretKey + iyziEventType + paymentId + paymentConversationId + status;

// HMAC SHA256 ile signature üretilir
const hmac256 = crypto.createHmac('sha256', secretKey)
                       .update(key)
                       .digest('hex');
Sıralama
Parametre
Açıklama

1

secretKey

Sahip olduğunuz secretKey

2

iyziEventType

İstek tipini belirtir. Alabileceği değerler: API_AUTH, THREE_DS_AUTH, BKM_AUTH

3

paymentId

İlgili ödemenin paymentId bilgisi

4

paymentConversationId

İlgili ödemenin üye işyeri tarafından gönderilmiş referans numarası

5

status

Ödeme durumu. Alabileceği değerler: FAILURE, SUCCESS, INIT_THREEDS, CALLBACK_THREEDS, BKM_POS_SELECTED, INIT_APM, INIT_BANK_TRANSFER, INIT_CREDIT, PENDING_CREDIT, INIT_CONTACTLESS.

HPP Format

SECRET KEY, iyziEventType, iyziPaymentId, token, paymentConversationId, status, eventType ve token aşağıda verilen sıraya göre oluşturulmalıdır. Bu dizi HMACSHA256 ile hashlenir ve sonuç HEX ile şifrelenir. Son değer, başlıktaki X-IYZ-SIGNATURE-V3 ile eşleşmelidir.

HPP format için Hashing Örneği
// HMAC için Key oluşturulur
const key = secretKey + iyziEventType + iyziPaymentId + token + paymentConversationId + status;

// HMAC SHA256 ile signature üretilir
const hmac256 = crypto.createHmac('sha256', secretKey)
                       .update(key)
                       .digest('hex');
Sıralama
Paremetre
Açıklama

1

secretKey

Sahip olduğunuz secretKey.

2

iyziEventType

İstek tipini belirtir. Alabileceği değerler: CHECKOUT_FORM_AUTH, BALANCE, BANK_TRANSFER_AUTH

3

iyziPaymentId

Ödemeye ait ilgili paymentId.

4

token

Ödeme formu için üretilmiş ve ödeme detaylarını içeren token değeri

5

paymentConversationId

İlgili ödemenin üye işyeri tarafından gönderilmiş referans numarası

6

status

Ödeme durumu. Alabileceği değerler: FAILURE, SUCCESS, INIT_THREEDS, CALLBACK_THREEDS, BKM_POS_SELECTED, INIT_APM, INIT_BANK_TRANSFER, INIT_CREDIT, PENDING_CREDIT, INIT_CONTACTLESS