Links

Webhook

Genel Bakış

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 ismi
Tip
Açıklama
iyziEventTime
long
Notification oluşturulma zamanının unix timestamp değeridir.
iyziEventType
string
İstek tipini belirtir. Alabileceği değerler CHECKOUTFORM_AUTH, API_AUTH, THREE_DS_AUTH, BALANCE, BKM_AUTH
iyziReferenceCode
string
İstek için üretilen unique iyzico referans kodu
paymentId
long
İlgili ödemenin paymentId bilgisi
paymentConversationId
string
İlgili ödemenin üye işyeri tarafından gönderilmiş referans numarası
status
string
Ödeme durumu. Alabileceği değerler: SUCCESS, FAILURE, CALLBACK_THREEDS

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 ismi
Tip
Açıklama
iyziEventTime
long
Notification oluşturulma zamanının unix timestamp değeridir.
iyziEventType
string
İstek tipini belirtir. Alabileceği değerler API_AUTH, THREE_DS_AUTH, BKM_AUTH, BANK_TRANSFER_AUTH
iyziReferenceCode
string
İstek için üretilen unique iyzico referans kodu
token
string
Ödeme formu için üretilmiş ve ödeme detaylarını içeren token değeri
status
string
Ödeme durumu. Alabileceği değerler: SUCCESS, FAILURE

Notifikasyon Validasyonu

İsteğin iyzico üzerinden geldiğini valide etmek için header içinde gönderilen "X-IYZ-SIGNATURE" değeri kullanılabilir.
X-IYZ-SIGNATURE değeri aşağıdaki parametrelerin verilen sırada string olarak birleştirilip hashlenmesi sonucu elde edilir.

Direkt Format

Sahip olduğunuz Secret Key, notifikasyon ile gönderilen eventType ve paymentId bilgileri string olarak birleştirilerek Sha1 ile hashlenir. Alınan sonucun base64 encode çıktısı X-IYZ-SIGNATURE değerine eşit olmalıdır.
Sıralama
Parametre ismi
Açıklama
1
secretKey
Üye işyerinin sahip olduğu güvenlik anahtarı
2
iyziEventType
İstek tipini belirtir. Alabileceği değerler API_AUTH, THREE_DS_AUTH, BKM_AUTH
3
paymentId
İlgili ödemenin paymentId bilgisi
Direkt format için Hashing Örneği
1
final String stringToBeHashed = new StringBuilder("secretKey")
2
.append(request.getIyziEventType())
3
.append(request.getPaymentId())
4
.toString();

HPP Format

Sahip olduğunuz Secret Key, notifikasyon ile gönderilen eventType ve token bilgileri string olarak birleştirilerek Sha1 ile hashlenir. Alınan sonucun base64 encode çıktısı X-IYZ-SIGNATURE değerine eşit olmalıdır.
HPP format için Hashing Örneği
1
final String stringToBeHashed = new StringBuilder("secretKey")
2
.append(request.getIyziEventType())
3
.append(request.getToken())
4
.toString();
Sıralama
Parametre ismi
Açıklama
1
secretKey
Üye işyerinin sahip olduğu güvenlik anahtarı
2
iyziEventType
İstek tipini belirtir. Alabileceği değerler API_AUTH, THREE_DS_AUTH, BKM_AUTH
3
token
İlgili ödeme için üretilmiş token bilgisi
NOT : String, SHA1 şifrelemesinden sonra base64 ile kodlanmalıdır.
String hash = Base64.encodeBase64String(DigestUtils.sha1(stringToBeHashed));
Last modified 5mo ago