Dokumentasi API

Payment Customer Top-up

API NamePayment – Customer Topup
FunctionProses 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 Code38
MethodPOST
URL/snap/v1.0/emoney/topup
Content Typeapplication/json
Related ServiceCustomer Topup

Request​

Header

NoNameTypeLengthRequiredConditionRemarks
1Content-TypeStringVariable, 127 maxWajibTipe konten, nilai selalu application/json
2AuthorizationStringVariableWajibBerisi B2B Bearer JWT Token, yang telah Anda peroleh dari Access Token B2B
3X-TIMESTAMPStringFixed, 25 maxWajibTanggal dan waktu transaksi, dalam format. YYYY-MM-DDTHH:mm:ss+07:00. Waktu harus dalam format GMT+7 (Jakarta time)
4X-PARTNER-IDStringVariable, 36 maxWajibID untuk mitra yang dihasilkan oleh PakaiLink. ID unik untuk setiap mitra.
5X-EXTERNAL-IDStringVariable, 36 maxWajibID referensi pesan unik yang dihasilkan oleh merchant. String numerik. Nomor referensi yang harus unik dalam satu hari yang sama.
6CHANNEL-IDStringVariable, 5 maxWajibIdentifikasi perangkat tempat layanan API diakses oleh pengguna akhir (pelanggan) saat ini. Daftar Channel ID dapat dilihat di sini.
7X-SIGNATUREStringVariableWajibSignature harus dihasilkan dengan metode Symmetric Signature

Body

NoNameTypeLengthRequiredConditionRemarks
1parnerReferenceNoStringVariable, 225 maxWajibNomor unik (hingga 36 digit). 
2.customerNumberStringVariable, 25 maxWajibNomor identifikasi unik yang digunakan untuk mengenali akun pelanggan.
3productCodeStringVariable, 20 maxWajibKode unik yang digunakan untuk mengidentifikasi suatu produk atau layanan dalam sistem.
4sessionIdStringVariable, 50 maxWajibNomor referensi unik yang digunakan untuk mengidentifikasi permintaan inquiry dalam sistem
5amountmoneyVariableWajibJumlah dana yang terlibat dalam suatu transaksi
6additionalInfoStringVariableWajibInformasi tambahan yang disertakan dalam suatu transaksi 
7additionalInfo.callbackUrlStringVariable, textOptionalURL 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

NoNameTypeLengthRequiredConditionRemarks
1responseCodeStringFixed, 7 maxWajibLihat daftar kode respons.
2responseMessageStringVariable, 150 maxWajibLihat daftar kode respons.
3referenceNoStringVariable, 50 maxWajibIdentifikasi transaksi yang sedang berlangsung
4partnerReferenceNoStringVariable, 50 maxWajibNomor referensi yang unik yang digunakan oleh mitra untuk mengidentifikasi transaksi 
5customerNumberStringVariable, 25 maxWajibNomor identifikasi unik yang digunakan untuk mengenali akun pelanggan.
6customerNameStringVariable, 50 maxWajibNama pelanggan yang terdaftar dalam sistem.
7amountmoneyVariableWajibJumlah uang yang terlibat dalam suatu transaksi
8feeAmountmoneyVariableWajibJumlah biaya yang dikenakan dalam suatu transaksi
9additionalInfoJSON  ObjectVariableWajibInformasi tambahan yang disertakan dalam suatu transaksi 
10additionalInfo.transactionStatusStringVariable, 32 MaxWajibKode status transaksi:
00: Success
03: Pending
06: Failed
11additionalInfo.transactionStatusDesc.englishStringVariable, 32 MaxWajibDeskripsi status transaksi dalam bahasa Inggris:
00: Success
03: Pending
06: Failed
12additionalInfo.transactionStatusDesc.indonesiaStringVariable, 32 MaxWajibDeskripsi status transaksi dalam bahasa Indonesia:
00: Sukses
03: Tertunda
06: Gagal
13additionalInfo.balancemoneyVariableWajibJumlah 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

NoResponse KodeResponse PesanKeterangan
12003800SuccessfulRequest telah berhasil diproses tanpa ada masalah
24003801Invalid Field FormatPanjang informasi tidak boleh melebihi 150 karakter
34003802Invalid Wajib FieldKolom atau field yang wajib diisi tidak lengkap atau formatnya tidak sesuai dengan yang diharapkan
44013800Unauthorized. [reason]Kesalahan umum yang terjadi ketika pengguna atau sistem tidak memiliki izin untuk mengakse tindakan tertentu
54013801Invalid Token (B2B)Token akses yang digunakan untuk otentikasi tidak sah atau sudah kedaluwarsa
64033801Feature Not AllowedFitur yang diminta tidak diizinkan atau tidak tersedia
74033802Exceeds Transaction Amount LimitJumlah uang terkecil atau terbesar yang dapat diproses dalam transaksi
84033803Invalid TransactionTransaksi yang dilakukan tidak sah atau tidak valid
94043803Bank Not Supported By SwitchBank yang digunakan tidak didukung oleh sistem
104043811invalid accountAkun tidak valid atau inquiryReferenceNo tidak dapat ditemukan dalam sistem
114093800ConflictX-EXTERNAL-ID tidak dapat digunakan lebih dari sekali dalam satu hari yang sama
125003802Backend system failureKesalahan yang terjadi di server saat mencoba memproses request