Teknik•7 dk okuma
Webhook Entegrasyonu ile Gerçek Zamanlı Bildirimler
MD
Mehmet Demir
Backend Geliştirici • 28 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/metalpay2. 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ş