Kevin-Mitnick Iyzico hiç kullanmadım ama normalde bu tür sistemlerde sizin bir tane dönüş adresiniz olur. Örneğin (sallıyorum) domain.com/api/iyzico/callback gibi. Siz iyzico panelden iptal işlemi gerçekleştirince sizin bu adrese veri gönderir (POST ile mesela), biz buna genellike payload diyoruz. Bunun içerisinde de yapılan işlem (mesela refund der) ve işlem bilgileri yer alır: tutar, id, tarih zaman, sipariş bilgileri vs.... Siz de bu gelen payload'a göre kendi sisteminizde iptal gerçekleştirirsiniz. Iyzico arka planda size POST attığıu için, siz de arka planda bu işlemleri yaptırdığınız için müşteri etkilenmez.
Refund için bir tane event/listener ve notification hazırlarsınız. Payload işledikten sonra OrderRefunded gibi event'ı ateşlersiniz, listener alır, notification'u basar, kuyruğa atar, kuyruk işler, müşteriye mail ve sms gider: #1234 no'lu siparişiniz iade edilmiştir. Paranın hesabınıza yansıması bankalara göre 2 ile 5 gün arasında sürebilmektedir.