Panduan: Webhook Notifikasi

Diperbarui 25 Oct 2026

Apa itu Webhook?

Webhook adalah notifikasi HTTP POST yang dikirimkan oleh server IndiPay ke URL server Anda segera setelah transaksi QRIS terdeteksi lunas.

Format Payload JSON

{
  "event": "payment.success",
  "order_id": "INV-20261025-001",
  "txn_id": "INV-20261025-001",
  "amount": 25000,
  "gross_amount": 25000,
  "status": "completed",
  "payment_type": "qris",
  "transaction_time": "2026-10-25T15:02:18.000Z",
  "project_code": "testing",
  "project_name": "TESTING"
}

Header Autentikasi Webhook

Setiap request webhook menyertakan header X-Secret dan X-Pakasir-Signature untuk mencegah pemalsuan request.

  • X-Secret: Berisi nilai webhook_secret proyek Anda langsung.
  • X-Pakasir-Signature: Dihitung menggunakan HMAC SHA-256 dari raw body request dengan kunci webhook_secret.
// Contoh Verifikasi di Node.js
const crypto = require('crypto');

function verifyWebhook(rawBody, signatureHeader, webhookSecret) {
  const calculated = crypto
    .createHmac('sha256', webhookSecret)
    .update(rawBody)
    .digest('hex');
  return calculated === signatureHeader;
}

Response yang Diharapkan

Server Anda harus mengembalikan HTTP status 200 OK dengan body text/JSON bebas agar IndiPayment mencatat pengiriman sebagai SUCCESS di Webhook Log.

Baca selanjutnya: Batalkan Transaksi →

Bantuan Support