Payment Customer Top-up
API Name | Payment – Customer Topup |
---|---|
Function | Proses pengisian saldo akun pelanggan agar bisa digunakan untuk transaksi melalui layanan PakaiLink Bisnis. Pastikan saldo mencukupi untuk melakukan transfer. FAQ: Jumlah minimum adalah IDR 20.000.00 untuk dana Jumlah minimum adalah IDR 10.000.00 untuk metode lainnya Jumlah maksimum mengacu pada regulasi yang berlaku untuk setiap e-money atau e-wallet. |
Service Code | 38 |
Method | POST |
URL | /snap/v1.0/emoney/topup |
Content Type | application/json |
Related Service | Customer Topup |
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 | 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) |
4 | X-PARTNER-ID | String | Variable, 36 max | Wajib | – | ID untuk mitra yang dihasilkan oleh PakaiLink. ID unik untuk setiap mitra. |
5 | 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. |
6 | 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. |
7 | X-SIGNATURE | String | Variable | Wajib | – | Signature harus dihasilkan dengan metode Symmetric Signature |
Body
No | Name | Type | Length | Required | Condition | Remarks |
---|---|---|---|---|---|---|
1 | parnerReferenceNo | String | Variable, 225 max | Wajib | – | Nomor unik (hingga 36 digit). |
2. | customerNumber | String | Variable, 25 max | Wajib | – | Nomor identifikasi unik yang digunakan untuk mengenali akun pelanggan. |
3 | productCode | String | Variable, 20 max | Wajib | – | Kode unik yang digunakan untuk mengidentifikasi suatu produk atau layanan dalam sistem. |
4 | sessionId | String | Variable, 50 max | Wajib | – | Nomor referensi unik yang digunakan untuk mengidentifikasi permintaan inquiry dalam sistem |
5 | amount | money | Variable | Wajib | – | Jumlah dana yang terlibat dalam suatu transaksi |
6 | additionalInfo | String | Variable | Wajib | – | Informasi tambahan yang disertakan dalam suatu transaksi |
7 | additionalInfo.callbackUrl | String | Variable, text | Optional | – | URL yang digunakan oleh sistem untuk mengirimkan respons atau notifikasi otomatis setelah suatu transaksi atau proses selesai |
Contoh Request
POST snap/v1.0/emoney/topup
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: PTR0000003
X-EXTERNAL-ID: 1160854306
X-SIGNATURE: AaE7rxaiIFPQYryj+JxwOi826dQG4e8RbzagEBaAywS4ETa490Cy/3b1/Ljqput67EF+OgE0V1GDw2t/lxqEJw==
CHANNEL-ID: 95221
{
"partnerReferenceNo": "Glv9yFZIb5iwcc2PUviXG9M5r4UnjdffaCjI",
"customerNumber" : "08113338390",
"productCode" : "OVO",
"sessionId" : "INQ0000032",
"amount": {
"value": "10000.00",
"currency": "IDR"
},
"additionalInfo": {
"callbackUrl" : "http://localhost:10007/callback/partner"
}
}
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, 50 max | Wajib | – | Identifikasi transaksi yang sedang berlangsung |
4 | partnerReferenceNo | String | Variable, 50 max | Wajib | – | Nomor referensi yang unik yang digunakan oleh mitra untuk mengidentifikasi transaksi |
5 | customerNumber | String | Variable, 25 max | Wajib | – | Nomor identifikasi unik yang digunakan untuk mengenali akun pelanggan. |
6 | customerName | String | Variable, 50 max | Wajib | – | Nama pelanggan yang terdaftar dalam sistem. |
7 | amount | money | Variable | Wajib | – | Jumlah uang yang terlibat dalam suatu transaksi |
8 | feeAmount | money | Variable | Wajib | – | Jumlah biaya yang dikenakan dalam suatu transaksi |
9 | additionalInfo | JSON Object | Variable | Wajib | – | Informasi tambahan yang disertakan dalam suatu transaksi |
10 | additionalInfo.transactionStatus | String | Variable, 32 Max | Wajib | – | Kode status transaksi: 00: Success 03: Pending 06: Failed |
11 | additionalInfo.transactionStatusDesc.english | String | Variable, 32 Max | Wajib | – | Deskripsi status transaksi dalam bahasa Inggris: 00: Success 03: Pending 06: Failed |
12 | additionalInfo.transactionStatusDesc.indonesia | String | Variable, 32 Max | Wajib | – | Deskripsi status transaksi dalam bahasa Indonesia: 00: Sukses 03: Tertunda 06: Gagal |
13 | additionalInfo.balance | money | Variable | Wajib | – | Jumlah uang yang tersedia dalam suatu akun |
Contoh Response
{
"responseCode": "2003800",
"responseMessage": "Successful",
"referenceNo": "EMO000002S",
"partnerReferenceNo": "9K8A0JLBNZhT624HkruH2TyVhpZgZl3J1ug9",
"customerNumber": "08113338390",
"customerName": "Henda Sujiadi",
"amount": {
"value": "10000.00",
"currency": "IDR"
},
"feeAmount": {
"value": "3000.00",
"currency": "IDR"
},
"additionalInfo": {
"transactionStatus": "03",
"transactionStatusDesc": {
"english": "Pending",
"indonesia": "Tertunda"
},
"balance": {
"value": "901000.00",
"currency": "IDR"
}
}
}
Kode dan Pesan Response
No | Response Kode | Response Pesan | Keterangan |
---|---|---|---|
1 | 2003800 | Successful | Request telah berhasil diproses tanpa ada masalah |
2 | 4003801 | Invalid Field Format | Panjang informasi tidak boleh melebihi 150 karakter |
3 | 4003802 | Invalid Wajib Field | Kolom atau field yang wajib diisi tidak lengkap atau formatnya tidak sesuai dengan yang diharapkan |
4 | 4013800 | Unauthorized. [reason] | Kesalahan umum yang terjadi ketika pengguna atau sistem tidak memiliki izin untuk mengakse tindakan tertentu |
5 | 4013801 | Invalid Token (B2B) | Token akses yang digunakan untuk otentikasi tidak sah atau sudah kedaluwarsa |
6 | 4033801 | Feature Not Allowed | Fitur yang diminta tidak diizinkan atau tidak tersedia |
7 | 4033802 | Exceeds Transaction Amount Limit | Jumlah uang terkecil atau terbesar yang dapat diproses dalam transaksi |
8 | 4033803 | Invalid Transaction | Transaksi yang dilakukan tidak sah atau tidak valid |
9 | 4043803 | Bank Not Supported By Switch | Bank yang digunakan tidak didukung oleh sistem |
10 | 4043811 | invalid account | Akun tidak valid atau inquiryReferenceNo tidak dapat ditemukan dalam sistem |
11 | 4093800 | Conflict | X-EXTERNAL-ID tidak dapat digunakan lebih dari sekali dalam satu hari yang sama |
12 | 5003802 | Backend system failure | Kesalahan yang terjadi di server saat mencoba memproses request |