Webhook

Craftgate, aşağıda belirtilen işlemlerin sonucunu ve işlem bilgilerini, sizin tanımlayacağınız bir URL e düzenli olarak iletir. Böylece Craftgate üzerinden gerçekleştirilen tüm ödeme işlemlerinizin sonuçlarını -ödeme akışı kesintiye uğrasa bile- dinleyebilir, akışlarınızı ödeme sonuçlarına göre planlayabilirsiniz.

  1. Ödeme İşlemi Sonucu: Ödeme işleminin sonucu, başarılı ya da başarısız olması farketmeksizin, sizin ödeme sırasında ilettiğiniz webhook adresine iletilir.
  2. 3D Ödeme İşlemi Sonucu: 3D Ödeme işleminin sonucu, başarılı ya da başarısız olması farketmeksizin, sizin 3D ödeme başlatma sırasında ilettiğiniz webhook adresine iletilir.
  3. 3D Secure Doğrulama İşlemi Sonucu: 3D Secure doğrulama işleminin sonucu, başarılı ya da başarısız olması farketmeksizin, sizin 3D ödeme başlatma sırasında ilettiğiniz webhook adresine iletilir.
  4. Ödeme Formu kullanımlarında Ödeme İşlemi Sonucu: Ödeme formu kullanılarak yapılan ödeme işleminin sonucu, başarılı ya da başarısız olması farketmeksizin, sizin 3D ödeme başlatma sırasında ilettiğiniz webhook adresine iletilir.

3DS ödeme akışında, iletmiş olduğunuz callbackUrl adresine yapılacak olan istekler tarayıcı üzerinden gerçekleşmektedir. Son kullanıcının bu akışı durdurması veya kullanıcının internetinde yaşanabilecek sorunlardan dolayı callbackUrl adresine yapılan istekler yapılamayabilir. O nedenle webhook servislerimiz özellikle 3DS ödemelerin takibi ve kullanıcı davranışlarının tespiti için faydalı olabilmektedir.

Webhook Bildirimi Alınabilmesi için Adres Tanımı Yapılması

Webhook bildiriminin aktifleşleştirilmesi için Craftgate paneli Ayarlar->Üye İşyeri Ayarları->Genel Ayarlar altındaki Üye işyeri Webhook URL alanının doldurulması gerekmektedir. Webhook URL adresi olarak POST isteklerini kabul edip HTTP kodlarından 2xx dönen bir URL bilgisi girmeniz durumunda, Craftgate ödemeler sonrası ilgili veriyi gönderiyor olacaktır.

Webhook Ayarları

Webhook Adresine Çağrı Yapılması ve İletilen İstek

Webhook çağrısı, ödemeyle alakalı ilgili aksiyon tamamlandıktan 30 saniye sonra sizin belirttiğiniz webhookUrl adresine yapılmaya başlanır. 2xx cevabı alınmadığı durumda sırasıyla 10 sn, 30 sn, 3 dk, 10 dk, 30 dk bekletilerek tekrar tekrar deneme yapılır. 5 denemenin sonucunda hala başarılı olmamışsa iptal edilir. Tekrar deneme mekanizması nedeniyle, gelen mesajın karşılığı olan ödeme ile ilgili sisteminizdeki durumunun kontrol edilmesi önemlidir.

Ödeme, 3D ödeme ve 3D secure doğrulama sonuçları belirtmiş olduğunuz webhook adresine JSON formatında POST http metodu ile iletilir.

İstek Parametreleri

Parametre Adı Tipi Açıklama
eventTime date İsteğin oluşturulduğu tarih
eventType string İsteğin hangi işlem için gerçekleştiğini belirtir. Alabileceği değerler: API_AUTH, CHECKOUTFORM_AUTH ve THREEDS_VERIFY
status string İşleme ait durum bilgisidir. Alabileceği değerler: SUCCESS, FAILURE
payloadId string Ödemeye ait ID değeri veya Ödeme formuna ait token bilgisi

Webhook Adresine İletilen İsteğin Craftgate tarafından Gönderildiği Kontrolü

Webhook URL inize gelen isteklerin Craftgate sisteminden gönderildiğini bilgisinin teyit edilebilmesi için, HTTP header ları arasında gönderilen x-cg-signaturedeğerinin kontrol edilmesi gerekmektedir. x-cg-signature değeri, istek içerisinde gönderilen alanların String olarak birleştirilip HmacSHA256 algoritması ile Hash değeri alınarak hesaplanır.

Örnek olarak API entegrasyonu kullanılarak 2022-01-01T09:30:32.123456 tarihinde başarılı bir şekilde alınan 2150001 id li ödeme için eventType+eventTime+status+payloadId bilgileri String olarak birleştirildiğinde API_AUTH2022-01-01T09:30:32.123456SUCCESS2150001 sonucu oluşmaktadır.

Bu değeri Craftgate Üye işyeri paneli Ayarlar kısmında bulunan Üye İşyeri Webhook Key değeri ile Hashleyip Base64 encoded versiyonunu aldığınızda oluşan sonuç x-cg-signature değerine eşit olacaktır.