Webhook
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.
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_CONTACTLESS
iyziReferenceCode
string
İstek için üretilen unique iyzico referans kodu
iyziEventType
string
İstek tipini belirtir. Alabileceği değerler:
PAYMENT_API, API_AUTH, THREE_DS_AUTH, THREE_DS_CALLBACK, BKM_AUTH, BALANCE, CONTACTLESS_AUTH, CONTACTLESS_REFUND, 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, Ödeme Formu ve Tokenize Cüzdan Ödemesi olan barındırılan sayfa çözümlerinde görünür.
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, 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,
PWI_TKN_FUND,
PWI_TKN_AUTH,
PWI_TKN_THREEDS_AUTH
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-V3
değ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
, iyziEventType
, paymentId
, paymentConversationId
, status
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.
// 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');
1
secretKey
Sahip olduğunuz secretKey
2
iyziEventType
İstek tipini belirtir. Alabileceği değerler:
PAYMENT_API, API_AUTH, THREE_DS_AUTH, THREE_DS_CALLBACK, BKM_AUTH, BALANCE, CONTACTLESS_AUTH, CONTACTLESS_REFUND, REFUND_RETRY_FAILURE, REFUND_RETRY_SUCCESS
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_CONTACTLESS
HPP Format
SECRET KEY
, iyziEventType
, iyziPaymentId
, token
, paymentConversationId
, status
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.
// 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');
1
secretKey
Sahip olduğunuz secretKey.
2
iyziEventType
İstek tipini belirtir. Alabileceği değerler: CHECKOUT_FORM_AUTH, 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,
PWI_TKN_FUND,
PWI_TKN_AUTH,
PWI_TKN_THREEDS_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
Last updated