Webhook

Craftgate, aşağıda belirtilen işlemlerin sonucunu ve işlem bilgilerini, üye işyeri panelinden 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, webhook URL inize iletilir.
  2. 3D Ödeme İşlemi Sonucu: 3D Ödeme işleminin sonucu, başarılı ya da başarısız olması farketmeksizin, webhook URL inize 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, webhook URL inize 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, webhook URL inize 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 İletilen İstek

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

3D ödemelerde kullandığınız POS unuz;

  • 3D Modelini kullanıyorsa (3DS Doğrulama işlemi sonrası 3DS ödeme tamamlama çağırıyorsanız) 3DS doğrulama sonrasında THREEDS_VERIFY mesaj tipi, 3DS ödeme tamamlama sonrasında API_AUTH mesaj tipi gönderilecektir.
  • 3D Pay Modelini kullanıyorsa, 3DS doğrulama sonrasında ödeme otomatik olarak tamamlandığı için sadece API_VERIFY_AND_AUTH mesajı gelecektir. THREEDS_VERIFY veAPI_AUTH mesajları gelmeyecektir.
  • Ödeme formu kullanıyorsanız yukarıdaki mesajlar yerine sadece CHECKOUTFORM_AUTH mesaj tipi gönderilecektir.

İ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: THREEDS_VERIFY, API_AUTH, API_VERIFY_AND_AUTH ve CHECKOUTFORM_AUTH
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.