Membeli pulsa atau paket data untuk nomor pelanggan.
URL: POST /api/v1/merchant/ppob/phone-credit/transaction
| Header | Wajib | Keterangan |
X-API-Key | Ya | API Key merchant |
Content-Type | Ya | application/json |
| Field | Tipe | Wajib | Keterangan |
req_id | String | Ya | ID unik transaksi dari merchant (idempotency key) |
product_id | String | Ya | Kode produk pulsa/paket (dari Katalog Produk) |
cust_id | String | Ya | Nomor HP tujuan (format: 08xxxxxxxxxx atau 628xxxxxxxxxx) |
{
"req_id": "TXN-20240501-001",
"product_id": "XL5",
"cust_id": "08123456789"
}
{
"req_id": "TXN-20240501-002",
"product_id": "TSEL1GB7",
"cust_id": "08211223344"
}
curl -X POST "https://api-sandbox.alfakios.com/api/v1/merchant/ppob/phone-credit/transaction" \
-H "Content-Type: application/json" \
-H "X-API-Key: apk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-d '{
"req_id": "TXN-20240501-001",
"product_id": "XL5",
"cust_id": "08123456789"
}'
| Field | Tipe | Keterangan |
req_id | String | req_id yang dikirim merchant |
ref_id | String | ID referensi internal sistem |
product_id | String | Kode produk |
cust_id | String | Nomor HP tujuan |
status | String | SUCCESS, FAILED, atau PENDING |
rc | String | Kode respon |
description | String | Keterangan RC |
message | String | Pesan detail dari biller |
amount | String | Nominal produk (nilai pulsa) |
unit_price | String | Harga jual produk (yang dipotong dari saldo) |
balance_used | String | Saldo yang benar-benar terpotong |
balance | String | Saldo merchant setelah transaksi |
serial_no | String | Nomor referensi dari biller |
data | Object | Data tambahan |
{
"success": true,
"message": "PULSA XL 5000 KE 08123456789 SUKSES",
"rc": "000",
"data": {
"req_id": "TXN-20240501-001",
"ref_id": "1777946295495371000",
"product_id": "XL5",
"cust_id": "08123456789",
"status": "SUCCESS",
"rc": "000",
"description": "Transaksi Sukses",
"message": "PULSA XL 5000 KE 08123456789 SUKSES",
"amount": "5000",
"unit_price": "5500",
"balance_used": "5500",
"balance": "494500",
"serial_no": "REF123456789",
"data": {}
}
}
{
"success": true,
"message": "PULSA XL 5000 KE 08123456789 GAGAL",
"rc": "14",
"data": {
"req_id": "TXN-20240501-003",
"ref_id": "1777946295495372000",
"product_id": "XL5",
"cust_id": "0812345678",
"status": "FAILED",
"rc": "14",
"description": "Nomor tidak valid",
"message": "Nomor HP tidak valid untuk operator ini",
"balance": "494500",
"data": {}
}
}
Gunakan endpoint Katalog Produk untuk mendapatkan daftar lengkap. Beberapa contoh:
product_id | Deskripsi | Nominal |
XL5 | Pulsa XL Rp 5.000 | 5.000 |
XL10 | Pulsa XL Rp 10.000 | 10.000 |
TSEL5 | Pulsa Telkomsel Rp 5.000 | 5.000 |
TSEL1GB7 | Paket Data Telkomsel 1GB / 7 hari | — |
ISAT10 | Pulsa Indosat Rp 10.000 | 10.000 |
AXIS5 | Pulsa Axis Rp 5.000 | 5.000 |
- Transaksi pulsa umumnya bersifat instan (tidak ada alur inquiry).
- Jika
status: "PENDING", gunakan Cek Status untuk memantau hasilnya.
req_id berfungsi sebagai idempotency key — retry aman tanpa risiko pengiriman ganda.