Webhooks

Webhook Endpoints

ตั้งค่า URL เพื่อให้ ZynexPay ส่ง Event แจ้งเตือนแบบ Real-time เมื่อมีรายการธุรกรรมเกิดขึ้น

Your Endpoints

0 endpoints
No Endpoints Yet

กด "Add Endpoint" เพื่อเพิ่ม URL รับแจ้งเตือน

Events ที่รองรับ

payment.success Common

เมื่อลูกค้าชำระเงินสำเร็จ

payment.failed Important

เมื่อการชำระเงินล้มเหลวหรือถูกปฏิเสธ

payment.refund Finance

เมื่อมีการคืนเงินให้ลูกค้า

payout.completed Finance

เมื่อถอนเงินเข้าบัญชีธนาคารสำเร็จ

payout.failed Finance

เมื่อการถอนเงินล้มเหลว

charge.dispute Risk

เมื่อลูกค้าเปิดข้อพิพาท (Chargeback)

Webhook Payload Example

POST https://yoursite.com/webhook
{
  "id": "evt_ZNX8f3k2m1a9b7c4",
  "type": "payment.success",
  "created": "2026-03-03T11:50:00Z",
  "data": {
    "payment_id": "pay_a1b2c3d4e5f6",
    "amount": 1500.00,
    "currency": "THB",
    "status": "succeeded",
    "description": "Order #1234",
    "customer_email": "customer@example.com",
    "metadata": {
      "order_id": "ORD-1234"
    }
  },
  "signature": "whsec_sha256_..."
}
Verify Webhook Signature

ตรวจสอบ signature ทุกครั้งเพื่อป้องกันการปลอมแปลง

Node.js — Verification
const crypto = require('crypto');

function verifyWebhook(payload, signature, secret) {
  const expected = crypto
    .createHmac('sha256', secret)
    .update(payload)
    .digest('hex');
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from('whsec_sha256_' + expected)
  );
}

Add Webhook Endpoint

Delete Endpoint

ลบ endpoint นี้? จะไม่ได้รับ webhook event อีกต่อไป