| API Name | Balance history |
|---|
| Function | Endpoint ini digunakan untuk mengelola dan menampilkan riwayat mutasi saldo (balance history) dari partner. |
| Service Code | 12 |
| Method | POST |
| URL | /snap/v1.0/balance-history |
| Content Type | application/json |
| Related Service | Balance History |
Request
Header
| No | Name | Type | Length | Required | Condition | Remarks |
|---|
| 1 | Content-Type | String | Variable, 127 max | Wajib | – | Tipe konten, nilai selalu application/json |
| 2 | Authorization | String | Variable | Wajib | – | Berisi B2B Bearer JWT Token, yang telah Anda peroleh dari Access Token B2B |
| 3 | Authorization – Customer | String | Variable, 64 max | Optional | Jika Anda ingin cek saldo melalui merchant | Berisi customer token yang didapat dari Access Token B2B2C |
| 4 | X-TIMESTAMP | String | Fixed, 25 max | Wajib | – | Tanggal dan waktu transaksi, dalam format. YYYY-MM-DDTHH:mm:ss+07:00. Waktu harus dalam format GMT+7 (Jakarta time) |
| 5 | X-PARTNER-ID | String | Variable, 36 max | Wajib | – | ID untuk mitra yang dihasilkan oleh PakaiLink. ID unik untuk setiap mitra. |
| 6 | X-EXTERNAL-ID | String | Variable, 36 max | Wajib | – | ID referensi pesan unik yang dihasilkan oleh merchant. String numerik. Nomor referensi yang harus unik dalam satu hari yang sama. |
| 7 | CHANNEL-ID | String | Variable, 5 max | Wajib | – | Identifikasi perangkat tempat layanan API diakses oleh pengguna akhir (pelanggan) saat ini. Daftar Channel ID dapat dilihat di sini. |
| 8 | X-SIGNATURE | String | Variable | Wajib | – | Signature harus dihasilkan dengan metode Symmetric Signature |
Body
| No | Name | Type | Length | Required | Condition | Remarks |
|---|
| 1 | partnerReferenceNo | String | Variable, 64 max | Wajib | – | Pengidentifikasi unik di sistem mitra untuk setiap transaksi. |
| 2. | fromDateTime | String | Variable, 16 max | Wajib | – | Tanggal dan waktu awal untuk filter data transaksi, dalam format. YYYY-MM-DDTHH:mm:ss+07:00. Waktu harus dalam format GMT+7 (Jakarta time) |
| 3 | toDateTime | String | Fixed, 25 max | Wajib | – | Tanggal dan waktu akhir untuk filter data transaksi, dalam format. YYYY-MM-DDTHH:mm:ss+07:00. Waktu harus dalam format GMT+7 (Jakarta time) |
| 4 | pageSize | String | Variable, 5 max | Wajib | – | Jumlah data yang ditampilkan per halaman |
| 5 | pageNumber | String | Variable, 5 max | Wajib | – | Nomor halaman data yang ingin ditampilkan. |
Contoh Request
POST /snap/v1.0/balance-history
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJQQUtBSUxJTksiLCJqdGkiOiIyNDc0NzdlNjk0ZGM3N2FhZDU5YzA4MjA1NzdmZmViNyIsImV4cCI6MTE3NDAyOTc2NzgsImFzIjoicGFydG5lciIsImlkIjoiUFRSMDAwMDAwMyJ9.XmUxHExWILJCHJG74Af8TPJljX2aOmUz4UwJXumxkqxW9uDsIrSX_M_j0uRzPOmaBkk2_rQiHIo_OX_qxv45Mg
Content-Type: application/json
X-TIMESTAMP: 2025-01-30T12:38:12+07:00
X-PARTNER-ID: 00000000
X-EXTERNAL-ID: 1187412354
X-SIGNATURE: AaE7rxaiIFPQYryj+JxwOi826dQG4e8RbzagEBaAywS4ETa490Cy/3b1/Ljqput67EF+OgE0V1GDw2t/lxqEJw==
CHANNEL-ID: 95221
{
"partnerReferenceNo":"2020102900000000000001",
"fromDateTime":"2025-11-06T08:08:50+07:00",
"toDateTime":"2025-11-07T16:00:56+07:00",
"pageSize":"2",
"pageNumber" : "1"
}
Response
Body
| No | Name | Type | Length | Required | Condition | Remarks |
|---|
| 1 | responseCode | String | Fixed, 7 max | Wajib | – | Lihat daftar kode respons. |
| 2 | responseMessage | String | Variable, 150 max | Wajib | – | Lihat daftar kode respons. |
| 3 | referenceNo | String | Variable, 64 max | Wajib | – | Identifikasi transaksi yang sedang berlangsung |
| 4. | partnerReferenceNo | String | Variable, 64 max | Wajib | – | Nomor referensi unik yang digunakan oleh mitra untuk mengidentifikasi transaksi |
| 8 | detailData | Array of Object | Variable | Wajib | – | Berisi informasi tambahan dalam suatu transaksi. |
| 9 | detailData.dateTime | String | Variable, 70 max | Wajib | – | Tanggal dan waktu transaksi, dalam format. YYYY-MM-DDTHH:mm:ss+07:00. Waktu harus dalam format GMT+7 (Jakarta time) |
| 10 | detailData.amount | Money | Variable | Wajib | – | Jumlah dana yang terlibat dalam suatu transaksi |
| 11 | detailData.remark | String | Variable | Wajib | – | keterangan tambahan yang menyertai suatu transaksi. |
| 12 | detailData.status | String | Variable, 50 max | Wajib | – | Menunjukkan kondisi atau hasil akhir dari suatu transaksi. |
| 13 | detailData.type | String | Variable, 30 max | Wajib | – | jenis mutasi saldo dalam transaksi. |
| 14 | detailData.additionalInfo | Array | Variable | Wajib | – | Informasi tambahan terkait transaksi.
|
| 15 | detailData.additionalInfo.trxId | String | Variable, 40 max | Wajib | – | ID unik transaksi yang digunakan sebagai identitas |
| 16 | detailData.additionalInfo.startBalance | String | Fixed, 25 max | Wajib | – | Tanggal awal periode saldo atau mutasi yang ingin ditampilkan, dalam format. YYYY-MM-DDTHH:mm:ss+07:00. Waktu harus dalam format GMT+7 (Jakarta time) |
| 17 | detailData.additionalInfo.endBalance | String | Fixed, 25 max | Wajib | – | Tanggal akhir periode saldo atau mutasi yang ingin ditampilkan, dalam format. YYYY-MM-DDTHH:mm:ss+07:00. Waktu harus dalam format GMT+7 (Jakarta time) |
| 18 | detailData.additionalInfo.isRefund | boolean | Variable, 5 max | Wajib | – | Menunjukkan apakah transaksi merupakan refund. |
Contoh Response
{
"responseCode": "2001200",
"responseMessage": "Request has been processed successfully",
"referenceNo": "2020102900000000000001",
"partnerReferenceNo": "2020102900000000000001",
"detailData": [
{
"dateTime": "2025-11-06T23:24:09+07:00",
"amount": {
"value": "-50900.00",
"currency": "IDR"
},
"remark": "Transaksi Pay-Out Melalui E-Money , Nominal Rp 50000 Admin Fee Rp 900",
"status": "SUCCESS",
"type": "DEBIT",
"additionalInfo": {
"trxId": "EMO176242104940594408681731",
"startBalance": "453890693.00",
"endBalance": "453839793.00",
"isRefund": false
}
},
{
"dateTime": "2025-11-06T23:24:05+07:00",
"amount": {
"value": "94.00",
"currency": "IDR"
},
"remark": "Komisi Masuk Rp 94 Dari Nominal Rp 151900",
"status": "SUCCESS",
"type": "CREDIT",
"additionalInfo": {
"trxId": "EMO176242104271119404614986",
"startBalance": "20012647.12",
"endBalance": "20012741.12",
"isRefund": false
}
}
]
}
Kode dan Pesan Response
| No | Response Kode | Response Pesan | Keterangan |
|---|
| 1 | 2001200 | Successful | Request telah berhasil diproses tanpa ada masalah |
| 2 | 4001201 | Invalid Field Format | Panjang informasi tidak boleh melebihi 150 karakter |
| 3 | 4001202 | Invalid Wajib Field | Kolom atau field yang wajib diisi tidak lengkap atau formatnya tidak sesuai dengan yang diharapkan |
| 4 | 4011200 | Unauthorized. [reason] | Kesalahan umum yang terjadi ketika pengguna atau sistem tidak memiliki izin untuk mengakse tindakan tertentu |
| 5 | 4011201 | Invalid Token (B2B) | Token akses yang digunakan untuk otentikasi tidak sah atau sudah kedaluwarsa |
| 6 | 4091200 | Conflict | X-EXTERNAL-ID tidak dapat digunakan lebih dari sekali dalam satu hari yang sama |
| 8 | 5001202 | Backend system failure | Kesalahan yang terjadi di server saat mencoba memproses request |