BPJS Kesehatan
Bayar iuran BPJS Kesehatan untuk nomor kartu/peserta BPJS. Menggunakan alur dua langkah: inquiry → pembayaran.
Endpoint
| Endpoint | Keterangan |
|---|---|
POST /api/v1/merchant/ppob/bpjs/inquiry | Inquiry tagihan BPJS, cek nama & jumlah |
POST /api/v1/merchant/ppob/bpjs/transaction | Bayar iuran BPJS |
Inquiry BPJS
Mengambil informasi tagihan BPJS Kesehatan. Tidak memotong saldo.
URL: POST /api/v1/merchant/ppob/bpjs/inquiry
Request
| Field | Tipe | Wajib | Keterangan |
|---|---|---|---|
product_id | String | Ya | Kode produk BPJS (dari katalog) |
cust_id | String | Ya | Nomor kartu / peserta BPJS Kesehatan |
period | String | Ya | Jumlah bulan yang dibayar (2 digit, contoh: "01" = 1 bulan) |
mobile_no | String | Tidak | Nomor HP peserta (untuk notifikasi) |
Catatan
period: Nilai harus berupa 2 digit numerik, misalnya"01"untuk 1 bulan,"03"untuk 3 bulan. Maksimum 12 bulan.
Contoh Request
{
"product_id": "BPJSKS",
"cust_id": "0001234567890",
"period": "01",
"mobile_no": "08123456789"
}
curl -X POST "https://api-sandbox.alfakios.com/api/v1/merchant/ppob/bpjs/inquiry" \
-H "Content-Type: application/json" \
-H "X-API-Key: apk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-d '{
"product_id": "BPJSKS",
"cust_id": "0001234567890",
"period": "01",
"mobile_no": "08123456789"
}'
Response Inquiry Berhasil
{
"success": true,
"message": "BPJS inquiry completed successfully",
"rc": "000",
"data": {
"req_id": "",
"ref_id": "1777946295495371000",
"product_id": "BPJSKS",
"cust_id": "0001234567890",
"status": "SUCCESS",
"rc": "000",
"description": "Transaksi Sukses",
"message": "INQUIRY BPJSKS KE 0001234567890 SUKSES",
"amount": "42000",
"unit_price": "42500",
"balance_used": "0",
"balance": "500000",
"serial_no": "",
"data": {
"nama_peserta": "AHMAD FAUZAN",
"jumlah_peserta": "1",
"periode": "01",
"tagihan": "42000",
"admin": "500",
"total": "42500"
}
}
}
Pembayaran BPJS
Membayar iuran BPJS Kesehatan. Saldo merchant akan dipotong.
URL: POST /api/v1/merchant/ppob/bpjs/transaction
Request
| Field | Tipe | Wajib | Keterangan |
|---|---|---|---|
req_id | String | Ya | ID unik transaksi (idempotency key) |
product_id | String | Ya | Kode produk BPJS |
cust_id | String | Ya | Nomor BPJS (sama dengan inquiry) |
period | String | Ya | Periode bulan (sama dengan inquiry, format 2 digit) |
inquiry_req_id | String | Ya | req_id dari step inquiry — digunakan oleh biller sebagai referensi |
mobile_no | String | Tidak | Nomor HP peserta |
email | String | Tidak | Email peserta (untuk notifikasi) |
Penting:
inquiry_req_idharus diisi dengan nilaireq_idyang dikembalikan dari response inquiry. Jika inquiry dilakukan tanpareq_id, gunakanref_iddari response inquiry.
Contoh Request
{
"req_id": "TXN-20240501-040",
"product_id": "BPJSKS",
"cust_id": "0001234567890",
"period": "01",
"inquiry_req_id": "INQ-20240501-040",
"mobile_no": "08123456789",
"email": "ahmad@email.com"
}
curl -X POST "https://api-sandbox.alfakios.com/api/v1/merchant/ppob/bpjs/transaction" \
-H "Content-Type: application/json" \
-H "X-API-Key: apk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-d '{
"req_id": "TXN-20240501-040",
"product_id": "BPJSKS",
"cust_id": "0001234567890",
"period": "01",
"inquiry_req_id": "INQ-20240501-040",
"mobile_no": "08123456789"
}'
Response Berhasil
{
"success": true,
"message": "BPJS payment completed successfully",
"rc": "000",
"data": {
"req_id": "TXN-20240501-040",
"ref_id": "1777946295495372000",
"product_id": "BPJSKS",
"cust_id": "0001234567890",
"status": "SUCCESS",
"rc": "000",
"description": "Transaksi Sukses",
"message": "BAYAR BPJSKS 0001234567890 SUKSES",
"amount": "42000",
"unit_price": "42500",
"balance_used": "42500",
"balance": "457500",
"serial_no": "BPJS-REF-2024050112345",
"data": {
"nama_peserta": "AHMAD FAUZAN",
"periode": "01",
"nomor_struk": "BPJS-REF-2024050112345"
}
}
}
Kode Produk BPJS
product_id | Keterangan |
|---|---|
BPJSKS | BPJS Kesehatan |
Gunakan endpoint Katalog Produk untuk daftar produk terbaru.
Catatan
- Field
periodwajib dan harus berupa string 2 digit ("01"s/d"12"). - Field
inquiry_req_idpada payment harus berisireq_idyang digunakan saat inquiry — ini adalah referensi transaksi yang dibutuhkan biller untuk melanjutkan proses. - Nomor struk pembayaran tersedia di
serial_nosetelah transaksi sukses.