Lewati ke isi

Garuda Dev

Portal developer dan merchant di Garuda Wallet. Integrasi mesin memakai API key prabayar gdk_….

Paket API key

Paket Biaya Durasi
Bulanan 100 GDC 30 hari
3 Bulan 270 GDC 90 hari
Tahunan 900 GDC 365 hari
  • Beli dan kelola key di wallet: Garuda Dev.
  • Secret gdk_… hanya ditampilkan sekali.
  • Header: X-Garuda-Dev-Key (alternatif: Authorization: Bearer atau X-Api-Key).
  • Setelah masa berlaku habis, API mengembalikan 401 (api_key_expired). Buat key baru untuk perpanjang.
  • Maksimal 5 key aktif per wallet (key kedaluwarsa tidak dihitung).
  • 30% biaya paket dibakar, 70% ditahan operasional. Lihat Burn GDC.

Biaya daftar webhook baru: 1 GDC (sekali saat URL pertama disimpan).

Base URL

Endpoint (API key)

Method Path Scope Deskripsi
GET /v1/dashboard dashboard:read Ringkasan merchant
GET /v1/invoices invoices:read Daftar invoice
POST /v1/invoices invoices:write Buat invoice + payUrl

Endpoint (wallet session)

Method Path Deskripsi
GET /summary/:address Dashboard + keys + webhooks
POST /keys Buat API key
POST /keys/revoke Cabut key
POST /webhooks Simpan URL sandbox
POST /webhooks/test Kirim webhook.test

Contoh cepat

curl -sS https://api.garudachain.id/api/v1/garuda-dev/v1/invoices \
  -H "Content-Type: application/json" \
  -H "X-Garuda-Dev-Key: gdk_…" \
  -d '{"customerLabel":"Pelanggan Toko","amountIdr":85000,"note":"Pesanan #42"}'

Respons berisi invoice.payUrl untuk dikirim ke pelanggan.

Webhook

Setelah pembayaran sukses, server mengirim POST ke URL sandbox Anda.

  • Events: payment.completed, invoice.paid, webhook.test
  • Header: X-Garuda-Event, X-Garuda-Signature: sha256=<hmac>
  • Verifikasi memakai raw body UTF-8, bukan objek JSON yang di-reparse.
const crypto = require("crypto");
function verify(rawBody, signatureHeader, secret) {
  const expected = crypto.createHmac("sha256", secret).update(rawBody).digest("hex");
  const got = String(signatureHeader || "").replace(/^sha256=/, "");
  return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(got));
}

Burn platform

GET /api/v1/fees/burns mengembalikan kebijakan burn (30% / 70%) dan agregat per sumber, termasuk garuda_dev, Garuda Pay, Garuda ID, PPOB, mint karya, bridge, dan turnamen.

OpenAPI tag GarudaDev: docs/openapi.yamlGET /api/v1/openapi.json.