Blog'a Dön
Teknik7 dk okuma

Webhook Entegrasyonu ile Gerçek Zamanlı Bildirimler

MD

Mehmet Demir

Backend Geliştirici28 Aralık 2023

Webhook'lar, ödeme durumu değişikliklerini gerçek zamanlı olarak almanızı sağlayan güçlü bir araçtır. Bu sayede ödeme işlemlerinizi otomatik olarak yönetebilirsiniz.

Webhook Nedir?

Webhook, bir olay gerçekleştiğinde belirttiğiniz URL'ye HTTP POST isteği gönderen bir mekanizmadır. Metal Pay, ödeme durumu değişikliklerinde webhook gönderir.

Webhook Kurulumu

1. Webhook URL'inizi Ayarlayın

Metal Pay dashboard'unuzdan webhook URL'inizi yapılandırın:

https://yourdomain.com/webhooks/metalpay

2. Webhook İşleyicinizi Oluşturun

app.post('/webhooks/metalpay', async (req, res) => {
  const signature = req.headers['x-metalpay-signature'];
  const payload = req.body;
  
  // İmza doğrulaması yapın
  if (verifySignature(signature, payload)) {
    // Webhook'u işleyin
    switch (payload.type) {
      case 'payment.succeeded':
        await handlePaymentSuccess(payload.data);
        break;
      case 'payment.failed':
        await handlePaymentFailure(payload.data);
        break;
      case 'payment.refunded':
        await handleRefund(payload.data);
        break;
    }
    
    res.status(200).send('OK');
  } else {
    res.status(401).send('Unauthorized');
  }
});

3. Güvenlik

Tüm webhook isteklerini imza doğrulaması ile kontrol edin. Metal Pay, webhook gönderirken imza ekler.

Desteklenen Event'ler

  • `payment.succeeded`: Ödeme başarılı olduğunda
  • `payment.failed`: Ödeme başarısız olduğunda
  • `payment.refunded`: Ödeme iade edildiğinde
  • `payment.pending`: Ödeme bekleniyor durumunda

Webhook'lar sayesinde sisteminizi otomatikleştirebilir ve müşteri deneyimini iyileştirebilirsiniz.

Bu yazıyı paylaş

Tüm Yazıları Gör