Bagaimana cara integrasi API SekaliPay?
Integrasi SekaliPay butuh tiga hal: POST /payment untuk membuat tagihan, satu endpoint di server Anda untuk menerima webhook saat tagihan lunas, dan GET /payment/{merchant_ref_id} untuk mengecek status kapan saja. Semuanya HTTPS dengan respons JSON, diautentikasi API key di header dan tanda tangan HMAC-SHA256.
Isi halaman ini dicocokkan dengan kode API per 16 Oktober 2026.
Bagaimana alur satu pembayaran?#
Server Anda membuat tagihan
POST /paymentdengan nominal, kode metode, dan data pembeli. Respons berisiinvoice,payment_link, dan detail bayar sesuai metode: gambar QR, nomor VA, atau tautan checkout.Pembeli membayar
Arahkan pembeli ke
payment_link, atau tampilkan sendiri QR atau nomor VA dari respons. Tagihan berlaku 30 menit.SekaliPay mengirim webhook
Begitu pembayaran terkonfirmasi, server kami mengirim
POSTbertanda tangan kecallback_urlAnda dengan statuspaid.Pembeli kembali ke toko Anda
Halaman bayar mengalihkan browser pembeli ke
return_url. Pengalihan ini hanya untuk kenyamanan pembeli, bukan bukti bayar.Anda merekonsiliasi
Bila webhook belum sampai,
GET /payment/{merchant_ref_id}memberi status terbaru.
Apa base URL-nya?#
Semua endpoint berada di bawah base URL berikut. Sandbox dan produksi memakai URL dan kunci yang sama; yang membedakan hanya mode akun di dasbor (lihat Sandbox).
https://sekalipay.com/api/v1/gatewayAturan apa yang berlaku di semua endpoint?#
| Hal | Aturan |
|---|---|
| Format | Body permintaan dan respons berupa JSON. Kirim Content-Type: application/json. |
Header Accept | Selalu kirim Accept: application/json. Tanpanya, galat validasi dibalas pengalihan 302 ke beranda, bukan JSON 422. |
| Nominal | Bilangan bulat dalam rupiah tanpa desimal: 150000, bukan 150000.00. |
| Waktu | expired_at, created_at, dan paid_at di respons API memakai ISO 8601 UTC, mis. 2026-10-08T08:30:00.000000Z. paid_at di webhook memakai Y-m-d H:i:s waktu WIB tanpa zona. |
| Respons sukses | {"status": true, "message": "OK", "data": {...}}. Pengecualian: info akun memakai bentuk lama. |
| Respons galat | Kode galat ada di message (galat endpoint) atau error_code (galat autentikasi). Lihat bentuk galat. |
| Percabangan | Putuskan berdasarkan status HTTP dan kode galat, bukan teks pesan. Teks bisa berbahasa Inggris atau Indonesia dan bisa berubah. |
Endpoint apa saja yang tersedia?#
| Metode | Jalur | Fungsi | Batas per menit | Tanda tangan |
|---|---|---|---|---|
| POST | /payment | Buat tagihan | 5 | Wajib di kedua mode |
| GET | /payment/{merchant_ref_id} | Cek status | 30 | Hanya Enhanced HMAC |
| GET | /payment-methods | Daftar metode | 60 | Hanya Enhanced HMAC |
| GET | /merchant/info | Info akun | 60 | Hanya Enhanced HMAC |
| POST | /withdrawal | Penarikan | 2 | Wajib di kedua mode |
Dari mana sebaiknya mulai?#
Siap memakai kunci Anda sendiri?
Masuk ke dasbor merchant untuk mengambil API key dan secret key, mengatur mode akses dan URL webhook, serta mengunduh koleksi Postman berisi kunci akun Anda.
Masuk ke dasbor
