AKD Pay Docs
Bahasa IndonesiaID Dashboard
LIVE This documentation applies to both sandbox and live.

API reference

Overview & authentication

Environments, API addresses, payment methods, and authentication with an API key.

The API reference comes from the AKD Pay integration guide (docs/API-PARTNER.md), which the Merchant Dashboard → Pengembang (Developer) page also shows in short form. Section numbers (§) follow that guide.

In short: every request carries Authorization: Bearer akd_sk_…. API keys belong to the merchant and work for all of its projects; the project is chosen with project_id in the body. AKD stores only a hash of each key and shows the full key once. A wrong, revoked, or missing key is answered 401 {"error":"unauthorized"}. All amounts are IDR whole numbers and all times are RFC 3339 UTC.

Dokumen ini adalah sumber utama panduan integrasi AKD Pay untuk tim teknis merchant. Halaman Pengembang di Dashboard Merchant menampilkan ringkasan yang sama (GET /api/v1/developer/guide).

Isi:

  1. Lingkungan dan alamat API
  2. Checklist sandbox ke live
  3. Autentikasi dengan API key
  4. Membuat pembayaran
  5. Membaca status pembayaran
  6. Status pembayaran
  7. Webhook ke server merchant
  8. Verifikasi signature webhook
  9. Retry, DEAD, dan kirim ulang
  10. Idempotensi
  11. Kode error
  12. Batas laju (rate limit)
  13. Checklist pengujian
  14. Dashboard Merchant: menu Pengembang
  15. Dashboard Merchant: Daftar, Ajukan Live, dan Tarif

Semua nominal dalam IDR, bilangan bulat (tanpa desimal). Semua waktu dalam RFC 3339 UTC, misalnya 2026-11-01T03:00:00Z.

§1 Lingkungan dan alamat API#

Sandbox Live (produksi)
Payment API https://sandbox-api.algoritmakitadigital.id https://api.algoritmakitadigital.id
Dashboard Merchant https://sandbox-merchant.algoritmakitadigital.id https://merchant.algoritmakitadigital.id
Uang uji coba (Xendit Test mode), tidak ada uang sungguhan uang sungguhan
Simulasi bayar tersedia (POST /v1/payments/{id}/simulate) tidak tersedia
Halaman bayar AKD (payment_url) tersedia tidak ada; tampilkan QRIS atau nomor VA sendiri

Sandbox dan live adalah sistem terpisah: merchant, project, API key, webhook endpoint, dan secret masing-masing berbeda. API key sandbox tidak berlaku di live, dan sebaliknya.

Metode pembayaran saat ini:

payment_method Keterangan Minimum
QRIS QR dinamis; respons berisi checkout.qr_string IDR 1
VIRTUAL_ACCOUNT (alias VA) nomor virtual account; respons berisi checkout.account_number IDR 10.000

Metode yang aktif untuk project Anda dapat dicek dengan GET /v1/integration-context?project_id=<project_id>.

§3 Autentikasi dengan API key#

Setiap request ke Payment API memakai header:

Authorization: Bearer akd_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • API key milik merchant dan berlaku untuk semua project merchant tersebut. Project dipilih lewat project_id di body.
  • AKD hanya menyimpan hash key. Key utuh ditampilkan sekali saat dibuat; Dashboard Merchant hanya menampilkan prefiksnya (misalnya akd_sk_AbCd1234).
  • Key yang salah, dicabut (REVOKED), atau tanpa header Bearer dijawab 401 {"error":"unauthorized"}.
  • Pembuatan dan pencabutan API key dilakukan oleh tim AKD (console). Jika key bocor, minta pencabutan segera. Key baru bisa dibuat sebelum key lama dicabut, sehingga rotasi tidak memutus layanan.