Webhooks
Ödeme tamamlandığında sunucuna gerçek zamanlı bildirim al. Endpoint'leri panelde Developers → Webhooks bölümünden ekle.
Olaylar
payment.succeeded Bir ödeme başarıyla tamamlandı
(tek seferlik VEYA abonelik tahsilatı — her dönem tekrar tetiklenir)Gövde (payload)
Endpoint'ine POST ile JSON gönderilir. Abonelik tahsilatlarında subscription alanı dolu, tek seferlik ödemelerde null gelir:
{
"type": "payment.succeeded",
"data": {
"id": "clx...",
"amount": 1990,
"currency": "usd",
"net": 1890,
"customer_email": "ornek@email.com",
"payment_link": "clx...",
"subscription": null,
"reference": "1234"
}
}İmza doğrulama
Her istek bir X-MM-Signaturebaşlığı taşır: gövdenin endpoint'ine ait gizli anahtarla (whsec_…) hesaplanmış HMAC-SHA256 imzası. İsteği işlemeden önce imzayı doğrula:
import crypto from "node:crypto"
const expected = crypto
.createHmac("sha256", endpointSecret)
.update(rawBody)
.digest("hex")
if (expected !== req.headers["x-mm-signature"]) {
return res.status(400).end()
}Endpoint'in
2xx dönmelidir. Gizli anahtarı webhook eklerken bir kez gösterilir; güvenli sakla.