Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Pulsa & Paket Data

Membeli pulsa atau paket data untuk nomor pelanggan.

URL: POST /api/v1/merchant/ppob/phone-credit/transaction

Request

Headers

HeaderWajibKeterangan
X-API-KeyYaAPI Key merchant
Content-TypeYaapplication/json

Body

FieldTipeWajibKeterangan
req_idStringYaID unik transaksi dari merchant (idempotency key)
product_idStringYaKode produk pulsa/paket (dari Katalog Produk)
cust_idStringYaNomor HP tujuan (format: 08xxxxxxxxxx atau 628xxxxxxxxxx)

Contoh Request — Pulsa

{
  "req_id": "TXN-20240501-001",
  "product_id": "XL5",
  "cust_id": "08123456789"
}

Contoh Request — Paket Data

{
  "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"
  }'

Response

Spesifikasi

FieldTipeKeterangan
req_idStringreq_id yang dikirim merchant
ref_idStringID referensi internal sistem
product_idStringKode produk
cust_idStringNomor HP tujuan
statusStringSUCCESS, FAILED, atau PENDING
rcStringKode respon
descriptionStringKeterangan RC
messageStringPesan detail dari biller
amountStringNominal produk (nilai pulsa)
unit_priceStringHarga jual produk (yang dipotong dari saldo)
balance_usedStringSaldo yang benar-benar terpotong
balanceStringSaldo merchant setelah transaksi
serial_noStringNomor referensi dari biller
dataObjectData tambahan

Contoh Response Berhasil

{
  "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": {}
  }
}

Contoh Response Gagal — Nomor Tidak Valid

{
  "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": {}
  }
}

Contoh Kode Produk

Gunakan endpoint Katalog Produk untuk mendapatkan daftar lengkap. Beberapa contoh:

product_idDeskripsiNominal
XL5Pulsa XL Rp 5.0005.000
XL10Pulsa XL Rp 10.00010.000
TSEL5Pulsa Telkomsel Rp 5.0005.000
TSEL1GB7Paket Data Telkomsel 1GB / 7 hari
ISAT10Pulsa Indosat Rp 10.00010.000
AXIS5Pulsa Axis Rp 5.0005.000

Catatan

  • 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.