Dokumentasi API Coresis Gateway
Selamat datang di dokumentasi resmi integrasi API Coresis. API ini dirancang khusus untuk memfasilitasi transaksi digital mitra secara aman, berkecepatan tinggi, dan *real-time* meliputi pengisian Pulsa & Paket Data, Topup Saldo E-Wallet, Pembelian Token PLN (Prepaid), serta Pembayaran Tagihan Listrik PLN (Postpaid).
Format JSON Modern
Semua pertukaran data (Request dan Response) menggunakan format standar application/json.
Model Hybrid
Mendukung respon langsung (Synchronous) maupun pembaruan otomatis status akhir via Webhook Callback.
Keamanan Atomic Saldo
Proteksi transaksi duplikat per mitraidtrx dengan pemotongan & *refund* saldo mutlak atomik.
Autentikasi (HTTP Bearer Token)
Setiap permintaan ke API Coresis wajib menyertakan header Authorization berformat Bearer Token.
Rumus Pembuatan Token:
Authorization: Bearer base64(kodemitra:password)
Contoh: Jika kodemitra = MTR-B2B-01 dan password = Rahasia123, maka gabungkan menjadi MTR-B2B-01:Rahasia123 lalu di-encode Base64 menjadi TVRSLUIyQi0wMTpSYWhhc2lhMTIz.
Tool Generator Header Authorization (Langsung Coba)
Mode Sandbox & Panduan Pengujian API
Coresis Gateway menyediakan lingkungan Sandbox Terpadu yang dirancang agar calon mitra dapat menguji integrasi API secara mandiri (self-service) dengan cepat, aman, dan tanpa biaya.
Fasilitas Switch Mode Mandiri (Self-Service)
Mitra dapat beralih antara Mode Production dan Mode Sandbox kapan saja secara mandiri melalui menu Integrasi & Webhook di Portal Mitra (mitra.coresis.id) tanpa perlu menghubungi admin.
Satu Endpoint Terpadu (Unified URL)
Mitra TIDAK PERLU mengganti base URL atau endpoint API. Rute endpoint (https://api.coresis.id/api/...) dan Bearer Token yang digunakan pada Sandbox adalah 100% sama dengan mode Produksi.
Saldo Virtual Tanpa Risiko Finansial
Ketika akun Anda berada dalam mode Sandbox, saldo yang terpotong adalah saldo virtual simulasi. Anda bebas melakukan puluhan pengujian transaksi tanpa memotong dana nyata.
Simulasi Delay & Callback Otomatis
Transaksi asynchronous mengembalikan status PENDING pada inisiasi awal. Setelah 2 detik, sistem simulasi meng-update status akhir dan otomatis mengirimkan payload Webhook Callback ke URL server Anda.
Auto-Refund Saldo Mutlak
Sama persis seperti di lingkungan produksi, setiap kali transaksi simulasi berstatus GAGAL, saldo virtual Anda akan langsung dikembalikan (*refund*) ke akun secara atomik.
Tabel Skenario Pengujian & Magic Numbers
Gunakan nomor sakti berikut untuk menguji berbagai respon dan error handling pada sistem Anda:
| Skenario Uji | Nomor Tujuan / IDPEL | Respon Inisiasi | Hasil Akhir (Callback / Advice) | Efek Saldo |
|---|---|---|---|---|
| Transaksi Sukses |
Nomor umum apa saja Contoh: 081234567890 / 51234567890 |
200 PENDING |
SUKSES (RC 000)
Mock SN / Token 20 Digit PLN dihasilkan |
- Nominal Harga |
| Akun Terblokir / Ditolak |
Berakhiran 023 Contoh: 081234567023 |
200 PENDING |
GAGAL (RC 023)
Nomor Tujuan Terblokir / Tidak Terdaftar |
Auto-Refund 100% |
| Gangguan Biller / Operator |
Berakhiran 014 Contoh: 081234567014 |
200 PENDING |
GAGAL (RC 014)
Sistem Biller Gangguan / Sedang Cut Off |
Auto-Refund 100% |
| IDPEL PLN Tidak Ditemukan |
Berakhiran 99 Contoh: 51234567899 |
200 GAGAL |
GAGAL (RC 099)
ID Pelanggan PLN Tidak Terdaftar |
Saldo Tidak Terpotong / Refund |
| Tagihan Sudah Lunas (Postpaid) |
Berakhiran 88 Contoh: 51234567888 |
200 GAGAL |
GAGAL (RC 088)
Tagihan Listrik Sudah Dibayar |
Saldo Tidak Terpotong |
| Saldo Tidak Mencukupi | Nomor apa saja dengan nominal transaksi melebihi saldo virtual | 400 Bad Request |
RC 013
Saldo tidak cukup untuk transaksi |
Saldo Tidak Terpotong |
| Duplikasi Transaksi (Replay) |
Kirimkan mitraidtrx yang persis sama 2 kali
|
400 Bad Request |
RC 001
Duplicate Transaction ID |
Saldo Tidak Terpotong |
Siap untuk Go-Live ke Production?
Peralihan dari Sandbox ke Production (maupun sebaliknya) dapat dilakukan 100% mandiri tanpa mengubah kodingan, kredensial, atau endpoint URL sama sekali:
Cek Saldo Mitra
Digunakan untuk mengambil informasi terkini sisa saldo PPOB, saldo Payin, dan saldo Payout akun mitra Anda.
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| type | string | Ya | Wajib bernilai tetap: "check_saldo" |
curl -X POST https://api.coresis.id/api/saldo \
-H "Content-Type: application/json" \
-H "Authorization: Bearer TVRSLUIyQi0wMTpSYWhhc2lhMTIz" \
-d '{
"type": "check_saldo"
}'
| Field | Tipe | Keterangan |
|---|---|---|
| status | boolean | true jika berhasil, false jika gagal |
| message | string | Pesan keterangan hasil permintaan |
| data.kodemitra | string | Kode identitas mitra terdaftar |
| data.namamitra | string | Nama profil mitra |
| data.saldo_ppob | number | Sisa saldo aktif untuk transaksi produk PPOB, Pulsa, & E-Wallet |
{
"status": true,
"message": "Success",
"data": {
"kodemitra": "MTR-B2B-01",
"namamitra": "Mitra Alpha",
"saldo_ppob": 15000000,
"saldo_payin": 0,
"saldo_payout": 0
}
}
{
"status": false,
"message": "Unauthorized: Incorrect password"
}
Topup Pulsa & Paket Data
Digunakan untuk melakukan pengisian pulsa reguler GSM, pulsa transfer, dan paket kuota data.
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| type | string | Ya | Wajib bernilai tetap: "topup_pulsa" |
| mitraidtrx | string (1-50) | Ya | Nomor referensi unik transaksi mitra (tidak boleh duplikat). Contoh: "TRXPULSA-00123" |
| kodeproduk | string | Ya | Kode produk yang terdaftar di menu Harga Mitra. Contoh: "TS10", "IS5" |
| tujuan | string | Ya | Nomor HP tujuan (diawali 08/628, min 10 digit). Contoh: "081295725667" |
curl -X POST https://api.coresis.id/api/pulsa \
-H "Content-Type: application/json" \
-H "Authorization: Bearer TVRSLUIyQi0wMTpSYWhhc2lhMTIz" \
-d '{
"type": "topup_pulsa",
"mitraidtrx": "TRXPULSA-17910001",
"kodeproduk": "TS10",
"tujuan": "081295725667"
}'
| Field | Tipe | Keterangan |
|---|---|---|
| mitraidtrx | string | ID transaksi yang dikirimkan oleh mitra |
| tujuan | string | Nomor handphone tujuan transaksi |
| status | string | Status awal transaksi: "PENDING" atau "GAGAL" |
| rc | string | Kode respon error jika gagal langsung (contoh: "003" untuk saldo kurang) |
{
"mitraidtrx": "TRXPULSA-17910001",
"tujuan": "081295725667",
"status": "PENDING"
}
{
"status": "GAGAL",
"rc": "003",
"mitraidtrx": "TRXPULSA-17910001",
"tujuan": "081295725667"
}
Advice (Pengecekan Status Transaksi Pulsa)
Gunakan endpoint ini jika transaksi Anda sempat berstatus PENDING atau mengalami *timeout* untuk mengetahui status akhir.
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| type | string | Ya | Wajib bernilai tetap: "advice" |
| mitraidtrx | string | Ya | Nomor ID transaksi mitra yang ingin dicek statusnya |
curl -X POST https://api.coresis.id/api/pulsa \
-H "Content-Type: application/json" \
-H "Authorization: Bearer TVRSLUIyQi0wMTpSYWhhc2lhMTIz" \
-d '{
"type": "advice",
"mitraidtrx": "TRXPULSA-17910001"
}'
| Field | Tipe | Keterangan |
|---|---|---|
| status | string | Status akhir transaksi: "SUKSES", "GAGAL", atau "PENDING" |
| rc | string | Response Code ("000" jika sukses, atau kode gagal bila gagal) |
| mitraidtrx | string | ID transaksi mitra yang dicek |
| tujuan | string | Nomor HP tujuan transaksi |
{
"status": "SUKSES",
"rc": "000",
"mitraidtrx": "TRXPULSA-17910001",
"tujuan": "081295725667"
}
{
"status": "GAGAL",
"rc": "014",
"mitraidtrx": "TRXPULSA-17910001",
"tujuan": "081295725667"
}
Callback Pulsa (Notifikasi Otomatis)
Ketika transaksi pengisian Pulsa & Paket Data yang awalnya berstatus PENDING selesai diproses oleh operator telekomunikasi (menjadi SUKSES atau GAGAL), Coresis akan secara otomatis mengirimkan notifikasi Webhook via HTTP POST JSON ke URL Callback Pulsa yang didaftarkan di profil mitra.
| Field | Tipe | Keterangan |
|---|---|---|
| mitraidtrx | string | Nomor referensi ID transaksi unik yang Anda kirimkan saat transaksi awal |
| tujuan | string | Nomor HP pelanggan penerima pulsa / paket data |
| status | string | Status akhir transaksi: "SUKSES" atau "GAGAL" |
| rc | string | Kode status respon ("000" jika sukses, atau kode gagal seperti "007", "014", "099") |
| refid | string | Nomor Serial Number (SN) pulsa dari operator resmi (kosong jika transaksi gagal) |
{
"mitraidtrx": "TRXPULSA-17910001",
"tujuan": "081295725667",
"status": "SUKSES",
"rc": "000",
"refid": "0041001380658412"
}
{
"mitraidtrx": "TRXPULSA-17910001",
"tujuan": "081295725667",
"status": "GAGAL",
"rc": "014",
"refid": ""
}
Respon yang Wajib Diberikan Server Mitra (HTTP 200 OK):
Setelah menerima callback di atas, endpoint server Anda wajib merespon HTTP status 200 OK dengan format JSON:
{"status": "success", "message": "Callback diterima"}
Topup E-Wallet (DANA, OVO, GOPAY, SHOPEEPAY, LINKAJA)
Digunakan untuk topup saldo dompet digital dengan nominal dinamis.
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| type | string | Ya | Wajib bernilai tetap: "topup_ewallet" |
| mitraidtrx | string (1-50) | Ya | Nomor referensi unik transaksi. Contoh: "TRXDANA-1791426306" |
| kodeproduk | string | Ya | Kode produk E-Wallet: "DANA", "OVO", "GOPAY", "SHOPEEPAY" |
| tujuan | string | Ya | Nomor HP akun e-wallet pelanggan. Contoh: "081380312001" |
| nominal | number | Ya | Nominal pengisian (angka bulat tanpa koma). Contoh: 20000 |
curl -X POST https://api.coresis.id/api/ewallet \
-H "Content-Type: application/json" \
-H "Authorization: Bearer TVRSLUIyQi0wMTpSYWhhc2lhMTIz" \
-d '{
"type": "topup_ewallet",
"mitraidtrx": "TRXDANA-1791426306",
"kodeproduk": "DANA",
"tujuan": "081380312001",
"nominal": 20000
}'
| Field | Tipe | Keterangan |
|---|---|---|
| mitraidtrx | string | ID transaksi yang dikirimkan mitra |
| tujuan | string | Nomor HP tujuan akun e-wallet |
| status | string | Status awal: "PENDING" atau "GAGAL" |
| rc | string | Kode respon error jika gagal langsung |
{
"mitraidtrx": "TRXDANA-1791426306",
"tujuan": "081380312001",
"status": "PENDING"
}
{
"status": "GAGAL",
"rc": "003",
"mitraidtrx": "TRXDANA-1791426306",
"tujuan": "081380312001"
}
Advice (Pengecekan Status Transaksi E-Wallet)
Gunakan endpoint ini untuk mengecek status transaksi E-Wallet berdasarkan referensi mitraidtrx.
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| type | string | Ya | Wajib bernilai tetap: "advice" |
| mitraidtrx | string | Ya | ID transaksi mitra yang ingin dicek statusnya |
curl -X POST https://api.coresis.id/api/ewallet \
-H "Content-Type: application/json" \
-H "Authorization: Bearer TVRSLUIyQi0wMTpSYWhhc2lhMTIz" \
-d '{
"type": "advice",
"mitraidtrx": "TRXDANA-1791426306"
}'
| Field | Tipe | Keterangan |
|---|---|---|
| status | string | Status akhir: "SUKSES" atau "GAGAL" |
| rc | string | Kode status respon (misal: "000" jika sukses) |
| mitraidtrx | string | ID transaksi mitra yang dicek |
| tujuan | string | Nomor HP tujuan akun e-wallet |
{
"status": "SUKSES",
"rc": "000",
"mitraidtrx": "TRXDANA-1791426306",
"tujuan": "081380312001"
}
{
"status": "GAGAL",
"rc": "007",
"mitraidtrx": "TRXDANA-1791426306",
"tujuan": "081380312001"
}
Callback E-Wallet (Notifikasi Otomatis)
Ketika transaksi topup E-Wallet yang awalnya berstatus PENDING selesai diproses oleh operator/biller (menjadi SUKSES atau GAGAL), Coresis akan secara otomatis menembakkan notifikasi Webhook via HTTP POST JSON ke URL Callback E-Wallet yang Anda tentukan di profil mitra.
| Field | Tipe | Keterangan |
|---|---|---|
| mitraidtrx | string | Nomor referensi ID transaksi unik yang Anda kirimkan saat transaksi awal |
| tujuan | string | Nomor HP / akun e-wallet pelanggan yang ditopup |
| status | string | Status akhir transaksi: "SUKSES" atau "GAGAL" |
| rc | string | Kode status respon ("000" jika sukses, atau kode gagal seperti "007", "014", "099") |
| refid | string | Nomor Serial Number (SN) / nomor referensi dari biller e-wallet (kosong jika transaksi gagal) |
{
"mitraidtrx": "TRXDANA-1791426306",
"tujuan": "081380312001",
"status": "SUKSES",
"rc": "000",
"refid": "0041001380658412"
}
{
"mitraidtrx": "TRXDANA-1791426306",
"tujuan": "081380312001",
"status": "GAGAL",
"rc": "007",
"refid": ""
}
Respon yang Wajib Diberikan Server Mitra (HTTP 200 OK):
Setelah menerima payload di atas, endpoint server Anda wajib merespon HTTP status 200 OK dengan format JSON:
{"status": "success", "message": "Callback diterima"}
PLN Prabayar (Token Listrik)
Integrasi pembelian token listrik mendukung 2 tahap (Inquiry lalu Topup) maupun Direct Topup.
1 Tahap 1: Inquiry No Meter / ID Pelanggan PLN
Cek nama pelanggan dan tarif daya sebelum membeli token.
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| type | string | Ya | Wajib bernilai: "inquiry_plnprepaid" |
| mitraidtrx | string | Ya | ID referensi unik permintaan inquiry |
| kodeproduk | string | Ya | Kode produk denom yang ingin dibeli, contoh: "PLN20" |
| tujuan | string | Ya | Nomor meter (11 digit) atau ID Pelanggan (12 digit) PLN |
curl -X POST https://api.coresis.id/api/plnprepaid \
-H "Content-Type: application/json" \
-H "Authorization: Bearer TVRSLUIyQi0wMTpSYWhhc2lhMTIz" \
-d '{
"type": "inquiry_plnprepaid",
"mitraidtrx": "INQ-PLN-9988",
"kodeproduk": "PLN20",
"tujuan": "04193888012"
}'
| Field | Tipe | Keterangan |
|---|---|---|
| status | boolean | true jika inquiry valid, false jika nomor tidak ditemukan |
| data.meter | string | Nomor meter pelanggan PLN yang terdaftar |
| data.nama | string | Nama resmi pemilik meteran PLN |
| data.daya | string | Kategori tarif dan daya listrik (contoh: "R1 /2200 VA") |
{
"status": true,
"message": "Inquiry Berhasil",
"data": {
"meter": "04193888012",
"nama": "BUDI SANTOSO",
"daya": "R1 /2200 VA"
}
}
{
"status": false,
"message": "Nomor meter tidak ditemukan / Salah"
}
2 Tahap 2: Eksekusi Pembelian Token
Setelah inquiry sukses, kirimkan permintaan pembelian token menggunakan "type": "topup_plnprepaid" (atau "topup_plnprepaid_direct" jika tanpa tahap 1).
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| type | string | Ya | Pilih "topup_plnprepaid" atau "topup_plnprepaid_direct" |
| mitraidtrx | string | Ya | ID transaksi unik mitra untuk pembelian token |
| kodeproduk | string | Ya | Kode denom produk PLN, contoh: "PLN20", "PLN50", "PLN100" |
| tujuan | string | Ya | Nomor meter / ID Pelanggan |
curl -X POST https://api.coresis.id/api/plnprepaid \
-H "Content-Type: application/json" \
-H "Authorization: Bearer TVRSLUIyQi0wMTpSYWhhc2lhMTIz" \
-d '{
"type": "topup_plnprepaid",
"mitraidtrx": "TRXPLN-17912345",
"kodeproduk": "PLN20",
"tujuan": "04193888012"
}'
| Field | Tipe | Keterangan |
|---|---|---|
| mitraidtrx | string | ID transaksi unik mitra |
| tujuan | string | Nomor meter yang diisi token |
| status | string | Status awal: "PENDING" atau "GAGAL" |
{
"mitraidtrx": "TRXPLN-17912345",
"tujuan": "04193888012",
"status": "PENDING"
}
{
"status": "GAGAL",
"rc": "003",
"mitraidtrx": "TRXPLN-17912345",
"tujuan": "04193888012"
}
3 Advice / Cek Token PLN (Mendapatkan Struk & Nomor Token 20 Digit)
Digunakan untuk mengambil rincian lengkap token listrik 20 digit, jumlah kWh, biaya admin, dan ID pelanggan.
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| type | string | Ya | Wajib bernilai: "advice" |
| mitraidtrx | string | Ya | ID transaksi pembelian token yang ingin dicek |
curl -X POST https://api.coresis.id/api/plnprepaid \
-H "Content-Type: application/json" \
-H "Authorization: Bearer TVRSLUIyQi0wMTpSYWhhc2lhMTIz" \
-d '{
"type": "advice",
"mitraidtrx": "TRXPLN-17912345"
}'
| Field | Tipe | Keterangan |
|---|---|---|
| status | string | "SUKSES" atau "GAGAL" |
| nomor_token | string | Kode 20 digit token PLN untuk dimasukkan ke meteran |
| jumlah_kwh | string | Total nilai energi listrik kWh yang didapat (misal: "13,4") |
| rp_token | string | Rupiah token bersih setelah potongan PJU & materai |
| tarif_daya | string | Golongan tarif dan daya listrik pelanggan |
{
"status": "SUKSES",
"rc": "000",
"mitraidtrx": "TRXPLN-17912345",
"tujuan": "04193888012",
"nomor_meter": "04193888012",
"nama_pelanggan": "BUDI SANTOSO",
"tarif_daya": "R1/2200VA",
"nomor_token": "4157-4771-2882-0511-2775",
"rp_token": "19.531,00",
"jumlah_kwh": "13,4",
"admin_bank": "0",
"jumlah_bayar": "20.000"
}
{
"status": "GAGAL",
"rc": "014",
"mitraidtrx": "TRXPLN-17912345",
"tujuan": "04193888012"
}
Callback PLN Prepaid (Notifikasi Otomatis)
Ketika transaksi pembelian Token PLN yang awalnya berstatus PENDING selesai diproses oleh switcher PLN / Biller (menjadi SUKSES atau GAGAL), server Coresis akan secara otomatis mengirimkan notifikasi Webhook via HTTP POST JSON ke URL Callback Mitra lengkap beserta nomor 20 Digit Token dan rincian struk resmi.
| Field | Tipe | Keterangan |
|---|---|---|
| mitraidtrx | string | ID transaksi unik yang Anda kirimkan saat pembelian token |
| tujuan | string | Nomor meter atau ID Pelanggan PLN yang diisi |
| status | string | Status akhir transaksi: "SUKSES" atau "GAGAL" |
| rc | string | Kode status respon ("000" jika sukses, atau kode gagal bila ditolak) |
| nomor_token | string | Kode 20 digit token listrik PLN yang dapat langsung dimasukkan ke meteran |
| nama_pelanggan | string | Nama resmi pemilik meteran PLN |
| tarif_daya | string | Golongan tarif dan batas daya meteran (misal: "R1/2200VA") |
| jumlah_kwh | string | Jumlah energi listrik (kWh) yang didapatkan (misal: "13,4") |
| rp_token | string | Nilai rupiah token bersih setelah dipotong PPJ / Materai |
| jumlah_bayar | string | Total nominal pembayaran token |
| refid | string | Nomor referensi / SN pelunasan transaksi dari Biller |
| no_id_pelanggan | string | ID Pelanggan 12 digit PLN |
{
"mitraidtrx": "TRXPLN-17912345",
"tujuan": "04193888012",
"status": "SUKSES",
"rc": "000",
"refid": "1494545752561",
"nomor_meter": "04193888012",
"nama_pelanggan": "BUDI SANTOSO",
"tarif_daya": "R1/2200VA",
"nomor_token": "4157-4771-2882-0511-2775",
"rp_token": "19.531,00",
"jumlah_kwh": "13,4",
"admin_bank": "0",
"jumlah_bayar": "20.000",
"no_id_pelanggan": "543103525645"
}
{
"mitraidtrx": "TRXPLN-17912345",
"tujuan": "04193888012",
"status": "GAGAL",
"rc": "014",
"refid": ""
}
Respon yang Wajib Diberikan Server Mitra (HTTP 200 OK):
Setelah menerima callback di atas, endpoint server Anda wajib merespon HTTP status 200 OK dengan format JSON:
{"status": "success", "message": "Callback diterima"}
PLN Pascabayar (Tagihan Listrik)
Digunakan untuk mengecek tagihan bulanan pelanggan PLN serta membayarkannya secara aman.
1 Tahap 1: Inquiry Rincian Tagihan Listrik
Mendapatkan jumlah periode bulan tunggakan, daya, tarif, rincian biaya, dan total tagihan.
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| type | string | Ya | Wajib bernilai: "inquiry_plnpostpaid" |
| mitraidtrx | string | Ya | ID transaksi unik permintaan inquiry |
| kodeproduk | string | Ya | Kode produk PLN Pasca, contoh: "PLNPOST" |
| tujuan | string | Ya | Nomor ID Pelanggan PLN (12 digit) |
curl -X POST https://api.coresis.id/api/plnpostpaid \
-H "Content-Type: application/json" \
-H "Authorization: Bearer TVRSLUIyQi0wMTpSYWhhc2lhMTIz" \
-d '{
"type": "inquiry_plnpostpaid",
"mitraidtrx": "INQPOST-1791001",
"kodeproduk": "PLNPOST",
"tujuan": "543103525645"
}'
| Field | Tipe | Keterangan |
|---|---|---|
| data.nama_pelanggan | string | Nama resmi pelanggan PLN |
| data.jml_periode | string | Banyaknya bulan tunggakan tagihan |
| data.total_tagihan | string | Total tagihan akhir yang harus dibayarkan (sudah termasuk admin) |
| data.rincian | array | Rincian per bulan: periode, meter awal/akhir, dan admin |
{
"status": true,
"message": "Inquiry Berhasil",
"data": {
"id_pelanggan": "543103525645",
"nama_pelanggan": "ADI SANTOSO",
"segmen": "R1",
"daya": "2200",
"jml_periode": "1",
"admin_bank": "2500",
"total_tagihan": "686635",
"rincian": [
{
"periode_tagihan": "102026",
"meter_awal": "16162",
"meter_akhir": "16617",
"jml_tagihan": "684135",
"admin": "2500",
"total_tagihan": "686635"
}
]
}
}
{
"status": false,
"message": "Tagihan telah lunas / ID Pelanggan salah"
}
2 Tahap 2: Pembayaran Tagihan Listrik
Eksekusi pelunasan tagihan. Masukkan parameter nominal sesuai total tagihan dari hasil inquiry tahap 1.
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| type | string | Ya | Wajib bernilai: "payment_plnpostpaid" |
| mitraidtrx | string | Ya | ID transaksi unik mitra untuk pembayaran |
| kodeproduk | string | Ya | Kode produk PLN Pasca ("PLNPOST") |
| tujuan | string | Ya | Nomor ID Pelanggan PLN |
| nominal | number | Opsional | Jumlah total tagihan dari tahap inquiry (disarankan diisi) |
curl -X POST https://api.coresis.id/api/plnpostpaid \
-H "Content-Type: application/json" \
-H "Authorization: Bearer TVRSLUIyQi0wMTpSYWhhc2lhMTIz" \
-d '{
"type": "payment_plnpostpaid",
"mitraidtrx": "PAYPLN-1791001",
"kodeproduk": "PLNPOST",
"tujuan": "543103525645",
"nominal": 686635
}'
| Field | Tipe | Keterangan |
|---|---|---|
| mitraidtrx | string | ID transaksi mitra |
| tujuan | string | ID Pelanggan PLN |
| status | string | Status awal: "PENDING" atau "GAGAL" |
{
"mitraidtrx": "PAYPLN-1791001",
"tujuan": "543103525645",
"status": "PENDING"
}
{
"status": "GAGAL",
"rc": "003",
"mitraidtrx": "PAYPLN-1791001",
"tujuan": "543103525645"
}
3 Advice / Cek Status Pelunasan Tagihan (Lengkap Rincian Resi Struk)
Digunakan untuk mengambil rincian struk pelunasan PLN resmi, nomor referensi switching, dan rincian kwh.
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| type | string | Ya | Wajib bernilai: "advice" |
| mitraidtrx | string | Ya | ID transaksi pembayaran tagihan yang ingin dicek |
curl -X POST https://api.coresis.id/api/plnpostpaid \
-H "Content-Type: application/json" \
-H "Authorization: Bearer TVRSLUIyQi0wMTpSYWhhc2lhMTIz" \
-d '{
"type": "advice",
"mitraidtrx": "PAYPLN-1791001"
}'
| Field | Tipe | Keterangan |
|---|---|---|
| status | string | "SUKSES" atau "GAGAL" |
| refid | string | Nomor seri / referensi pelunasan dari PLN resmi |
| no_reff | string | Nomor referensi pelunasan switching bank |
| total_tagihan | string | Nominal total tagihan yang telah lunas terbayar |
| rincian | array | Array detail periode, stan meter awal, meter akhir, dan biaya admin |
{
"status": "SUKSES",
"rc": "000",
"mitraidtrx": "PAYPLN-1791001",
"tujuan": "543103525645",
"refid": "1OVJ1R30D9AFF903A",
"jml_periode": "1",
"id_pelanggan": "543103525645",
"nama_pelanggan": "ADI SANTOSO",
"segmen": "R1",
"daya": "2200",
"admin_bank": "2500",
"total_tagihan": "686635",
"no_reff": "1OVJ1R30D9AFF903A",
"info": "Informasi Hubungi Call Center 123",
"rincian": [
{
"periode_tagihan": "102026",
"meter_awal": "16162",
"meter_akhir": "16617",
"jml_tagihan": "684135",
"admin": "2500",
"total_tagihan": "686635"
}
]
}
{
"status": "GAGAL",
"rc": "026",
"mitraidtrx": "PAYPLN-1791001",
"tujuan": "543103525645"
}
Callback PLN Postpaid (Notifikasi Otomatis)
Ketika transaksi pembayaran tagihan PLN Pascabayar yang awalnya berstatus PENDING selesai diproses oleh switcher PLN / Biller (menjadi SUKSES atau GAGAL), server Coresis akan secara otomatis mengirimkan notifikasi Webhook via HTTP POST JSON ke URL Callback Mitra lengkap beserta nomor referensi resmi pelunasan, ID Pelanggan, dan rincian struk tagihan.
| Field | Tipe | Keterangan |
|---|---|---|
| mitraidtrx | string | ID transaksi unik yang Anda kirimkan saat pembayaran tagihan |
| tujuan | string | Nomor ID Pelanggan PLN (12 digit) |
| status | string | Status akhir transaksi: "SUKSES" atau "GAGAL" |
| rc | string | Kode status respon ("000" jika sukses, atau kode gagal bila ditolak) |
| refid | string | Nomor referensi / SN pelunasan resmi dari PLN (kosong bila gagal) |
| id_pelanggan | string | Nomor ID Pelanggan 12 digit PLN |
| nama_pelanggan | string | Nama resmi pelanggan PLN terdaftar |
| segmen | string | Golongan tarif pelanggan (misal: "R1") |
| daya | string | Daya terpasang dalam VA (misal: "2200") |
| jml_periode | string | Jumlah periode bulan tagihan |
| jml_periode_bayar | string | Jumlah periode yang berhasil dibayar |
| admin_bank | string | Biaya admin bank per transaksi |
| total_tagihan | string | Total nominal tagihan yang dilunasi (termasuk admin) |
| no_reff | string | Nomor referensi pelunasan dari switching provider |
| telp_upj | string | Nomor kontak Unit Pelayanan Jaringan (UPJ) |
| info | string | Informasi / pesan layanan pelanggan dari PLN |
| rincian | array | Rincian per periode tagihan: periode_tagihan, meter_awal, meter_akhir, jml_tagihan, admin, total_tagihan |
{
"mitraidtrx": "PAYPLN-1791001",
"tujuan": "543103525645",
"status": "SUKSES",
"rc": "000",
"refid": "1OVJ1R30D9AFF903A",
"id_pelanggan": "543103525645",
"nama_pelanggan": "ADI SANTOSO",
"segmen": "R1",
"daya": "2200",
"jml_periode": "1",
"jml_periode_bayar": "1",
"admin_bank": "2500",
"total_tagihan": "686635",
"no_reff": "1OVJ1R30D9AFF903A",
"telp_upj": "123",
"info": "Informasi Hubungi Call Center 123",
"rincian": [
{
"periode_tagihan": "102026",
"meter_awal": "16162",
"meter_akhir": "16617",
"jml_tagihan": "684135",
"admin": "2500",
"total_tagihan": "686635"
}
]
}
{
"mitraidtrx": "PAYPLN-1791001",
"tujuan": "543103525645",
"status": "GAGAL",
"rc": "003",
"refid": ""
}
Respon yang Wajib Diberikan Server Mitra (HTTP 200 OK):
Setelah menerima callback di atas, endpoint server Anda wajib merespon HTTP status 200 OK dengan format JSON:
{"status": "success", "message": "Callback diterima"}
Tabel Kode Respon (Response Code / RC)
Daftar kode status respon standar Coresis beserta rekomendasi penanganannya di sistem Anda.
| RC | Status | Keterangan | Tindakan Rekomendasi Mitra |
|---|---|---|---|
| 000 | SUKSES | Transaksi Berhasil. SN / Token telah terbit. | Kirim struk / SN ke pelanggan akhir Anda. |
| 030 | PENDING | Transaksi sedang diproses oleh Biller/Operator. Saldo ditahan sementara. | Tunggu Webhook Callback atau lakukan Advice berkala. |
| 001 | GAGAL | Nomor tujuan tidak valid / salah format (min 10 digit, awalan 08/628). | Minta pelanggan memeriksa nomor tujuan kembali. |
| 002 | GAGAL | Produk sedang gangguan / cut off dari operator. | Gunakan produk alternatif atau coba beberapa saat lagi. |
| 003 | GAGAL | Saldo deposit PPOB Mitra Anda tidak mencukupi. | Lakukan Topup Saldo Deposit Mitra Anda. |
| 004 | GAGAL | Data transaksi tidak ditemukan (pada saat Advice). | Pastikan mitraidtrx yang dicek sudah benar. |
| 007 | GAGAL | Nomor tujuan / ID Pelanggan tidak terdaftar atau tidak ditemukan di sistem Biller (misal: akun E-Wallet belum aktif/terdaftar). | Saldo otomatis direfund. Minta pelanggan memeriksa nomor akun tujuan. |
| 014 | GAGAL | Gangguan koneksi dari Biller / Operator pusat. | Saldo otomatis direfund. Coba kembali berkala. |
| 020 | SUSPECT | Transaksi menggantung / dalam investigasi mendalam oleh Biller. Saldo ditahan sementara. | Jangan kirim transaksi ulang. Lakukan Advice berkala atau tunggu Webhook. |
| 023 | GAGAL | Gagal Biller / Penolakan oleh sistem penyedia (misal: limit saldo penerima E-Wallet tercapai, akun dibekukan, atau gangguan gerbang biller). | Saldo otomatis direfund ke deposit Mitra. Coba beberapa saat lagi atau verifikasi limit akun penerima. |
| 026 | GAGAL | Tagihan sudah terbayar di loket/channel lain atau transaksi ditolak oleh Biller PLN. | Saldo otomatis direfund. Cek kembali riwayat tagihan pelanggan. |
| 099 | GAGAL | Transaksi ditolak atau gagal oleh operator (Nomor hangus, limit bulanan, dll). | Saldo otomatis direfund. Jangan ulangi transaksi yang sama. |