search

No results found

API Reference chevron_right Webhook chevron_right Events
notifications_active WEBHOOK EVENTS

Events & Payload

Webhook akan mengirimkan notifikasi untuk berbagai event order. Setiap callback berisi payload JSON dengan informasi lengkap.

bolt Event Types

order.paid

Dikirim ketika pembayaran order berhasil. Order sedang diproses.

order.completed

Dikirim ketika order selesai diproses. Produk sudah dikirim/diaktifkan. Field data pada items berisi informasi seperti Serial Number.

order.canceled

Dikirim ketika order dibatalkan. Saldo akan dikembalikan jika sudah dibayar.

order.failed

Dikirim ketika order gagal diproses (misalnya stok habis saat proses H2H).

order.item.sent MANUAL ONLY

Dikirim ketika admin mengirim item pesanan untuk produk manual. Berisi lisensi/kode yang dikirim. Event ini dikirim per-item, bukan per-order.

webhook.test

Dikirim saat Anda menjalankan test webhook untuk verifikasi konfigurasi.

code HTTP Headers

Setiap callback dikirim dengan headers berikut:

Header Deskripsi
Content-Type application/json
X-Signature HMAC SHA256 signature untuk verifikasi
X-Timestamp Waktu pengiriman (ISO8601)
X-Event Tipe event (order.paid, dll)
User-Agent SekalipayWebhook/1.0

data_object Payload Structure

Field Tipe Deskripsi
event string Tipe event
timestamp string Waktu event (ISO8601)
data.invoice string Nomor invoice
data.ref_id string Reference ID Anda
data.status string Status order
data.price integer Harga produk
data.fees integer Biaya admin
data.amount integer Total bayar
data.items array Daftar item order

inventory_2 Item Fields

Field Tipe Deskripsi
variant_id integer ID variant produk
variant_name string Nama variant
product_name string Nama produk
quantity integer Jumlah
note string Customer ID, Zone ID, dll
data object|null Hasil pemrosesan: SN, kode voucher, dll
status string Status item

check_circle Expected Response

Endpoint Anda harus merespons dengan HTTP 2xx (200, 201, 202, 204) agar dianggap sukses.

info

Tips: Langsung response OK terlebih dahulu, lalu proses data secara async. Ini mencegah timeout jika proses Anda memakan waktu lama.

Payload Example (order.completed)

{
  "event": "order.completed",
  "timestamp": "2024-01-15T10:30:00+07:00",
  "data": {
    "invoice": "INV-20240115-XXXXX",
    "ref_id": "your-ref-123",
    "status": "completed",
    "price": 50000,
    "fees": 1000,
    "amount": 51000,
    "payment_code": "saldo",
    "items": [
      {
        "variant_id": 123,
        "variant_name": "Diamond 100",
        "product_name": "Mobile Legends",
        "quantity": 1,
        "price": 50000,
        "note": "123456789|1234",
        "data": {
          "sn": "SN123456789"
        },
        "status": "completed"
      }
    ]
  }
}

Payload (order.item.sent) MANUAL

{
  "event": "order.item.sent",
  "timestamp": "2024-01-15T10:30:00+07:00",
  "data": {
    "invoice": "INV-20240115-XXXXX",
    "ref_id": "your-ref-123",
    "item": {
      "variant_id": 456,
      "variant_name": "Windows 11 Pro",
      "product_name": "License Key",
      "quantity": 2,
      "note": "customer@email.com",
      "status": "sent"
    },
    "licenses": [
      "XXXXX-XXXXX-XXXXX-XXXXX",
      "YYYYY-YYYYY-YYYYY-YYYYY"
    ],
    "sent_at": "2024-01-15T10:30:00+07:00"
  }
}

💡 Event ini dikirim per-item saat admin mengirim pesanan manual.

Your Response

200 OK
{
  "status": "ok"
}
chat_bubble Feedback