Lewati ke konten utama

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?#

  1. Server Anda membuat tagihan

    POST /payment dengan nominal, kode metode, dan data pembeli. Respons berisi invoice, payment_link, dan detail bayar sesuai metode: gambar QR, nomor VA, atau tautan checkout.

  2. Pembeli membayar

    Arahkan pembeli ke payment_link, atau tampilkan sendiri QR atau nomor VA dari respons. Tagihan berlaku 30 menit.

  3. SekaliPay mengirim webhook

    Begitu pembayaran terkonfirmasi, server kami mengirim POST bertanda tangan ke callback_url Anda dengan status paid.

  4. Pembeli kembali ke toko Anda

    Halaman bayar mengalihkan browser pembeli ke return_url. Pengalihan ini hanya untuk kenyamanan pembeli, bukan bukti bayar.

  5. 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).

Base URL
https://sekalipay.com/api/v1/gateway

Aturan apa yang berlaku di semua endpoint?#

HalAturan
FormatBody permintaan dan respons berupa JSON. Kirim Content-Type: application/json.
Header AcceptSelalu kirim Accept: application/json. Tanpanya, galat validasi dibalas pengalihan 302 ke beranda, bukan JSON 422.
NominalBilangan bulat dalam rupiah tanpa desimal: 150000, bukan 150000.00.
Waktuexpired_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 galatKode galat ada di message (galat endpoint) atau error_code (galat autentikasi). Lihat bentuk galat.
PercabanganPutuskan berdasarkan status HTTP dan kode galat, bukan teks pesan. Teks bisa berbahasa Inggris atau Indonesia dan bisa berubah.

Endpoint apa saja yang tersedia?#

MetodeJalurFungsiBatas per menitTanda tangan
POST/paymentBuat tagihan5Wajib di kedua mode
GET/payment/{merchant_ref_id}Cek status30Hanya Enhanced HMAC
GET/payment-methodsDaftar metode60Hanya Enhanced HMAC
GET/merchant/infoInfo akun60Hanya Enhanced HMAC
POST/withdrawalPenarikan2Wajib 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