Bagian Data Model mendefinisikan struktur data yang umum digunakan di seluruh layanan API PakaiLink — mulai dari tipe-data sederhana seperti Money, hingga objek kompleks seperti VirtualAccountData dan MultilanguageText. Setiap entitas data mencakup kolom seperti Name, Type, Length, Required, dan Remarks, yang membantu tim pengembangan dan integrasi memahami format, batasan, serta makna dari setiap field. Contoh:
Objek Money digunakan untuk menyampaikan nilai nominal beserta kode mata uang.
Objek VirtualAccountData mendeskripsikan data-VA yang meliputi nomor VA, nama pelanggan, status pembayaran, jumlah yang dibayar, saldo mitra, dan informasi tambahan.
Objek MultilanguageText memungkinkan penggunaan teks dalam dua bahasa (Indonesia dan Inggris) untuk alasan status pembayaran atau pesan lainnya.
Dengan pola yang konsisten ini, integrator dapat memastikan bahwa payload yang dikirim dan diterima sesuai spesifikasi, meminimalkan error pengiriman data, dan memudahkan proses validasi maupun rekonsiliasi.
Emoney
No
Name
Type
Length
Required
Condition
Remarks
1
value
String
Variable, 19 max
Wajib
–
Menunjukkan besaran nominal yang digunakan dalam transaksi atau proses tertentu dalam sistem.
2
currency
String
Variable, 3 max
Wajib
–
Jenis mata uang yang digunakan dalam transaksi, biasanya direpresentasikan dalam format kode mata uang internasional.
VirtualAccountData
No
Name
Type
Length
Required
Condition
Remarks
1
paymentFlagReason
MultilanguageText
Variable
Optional
–
Alasan Status Pembayaran multi bahasa
2
partnerServiceId
String
Fixed, 8 max
Wajib
–
Kode biller/merchant dari virtual account. Left Padding dengan spasi
3
customerNo
String
Variable, 20 max
Wajib
–
Nomor unik (hingga 20 digit). Menggabungkan partnerServiceId dan customerNo atau virtualAccountNo
4
virtualAccountNo
String
Variable, 28 max
Wajib
–
Informasi nomor virtual account yang menggabungkan partnerServiceId dan customerNo
5
virtualAccountName
String
Variable, 255 max
Wajib
–
Informasi nama pelanggan
6
paymentFlagStatus
String
Fixed, 2 max
Wajib
–
Status untuk pembayaran va. Nilai-nilai tersebut meliputi: Berhasil, pesanan telah dibayar Inisiasi, VA telah dibuat Dibatalkan, VA telah dihapus Gagal, VA telah ditutup karena sudah kedaluwarsa
7
trxId
String
Variable, 64 max
Wajib
–
Pengidentifikasi transaksi unik pada sistem mitra yang ditetapkan untuk setiap transaksi.
8
inquiryRequestId
String
Variable, 64 max
Wajib
–
Pengidentifikasi request unik untuk inquiry.
9
paidAmount
Money
Variable
Optional
–
Berisi nominal yang berhasil dibayarkan, berisi dua sub-bidang: Nilai: Transaction paidAmount, termasuk pecahan Mata Uang: Kode mata uang berdasarkan ISO
10
feeAmount
Money
Variable
Optional
–
Biaya yang dikenakan pada transaksi, berisi dua sub-bidang: Nilai: Transaction paidAmount, termasuk pecahan Mata Uang: Kode mata uang berdasarkan ISO
11
creditbalance
Money
Variable
Wajib
–
Nominal yang masuk ke saldo mitra, Berisi dua sub-bidang: Nilai: Transaction paidAmount, termasuk pecahan Mata Uang: Kode mata uang berdasarkan ISO
12
expiredDate
String
Fixed, 25 max
Optional
–
Tanggal kedaluwarsa untuk virtual account, dalam format YYYY-MM-DDTHH:mm:ss+07:00. Waktu harus dalam GMT+7 (waktu Jakarta).
13
additionalInfo
JSON Object
Variable
Optional
–
Informasi tambahan.
14
additionalInfo.callbackUrl
String
Variable, 8 max
Optional
–
URL untuk dapat menerima notifikasi pembayaran setelah pembayaran dilakukan oleh pelanggan.
15
balance
Money
Variable
Wajib
–
Saldo mitra saat ini, berisi dua sub-bidang: Nilai: Transaction paidAmount, termasuk pecahan Mata Uang: Kode mata uang berdasarkan ISO
MultilanguageText
No
Name
Type
Length
Required
Condition
Remarks
1
english
String
Variable, 200 max
Wajib
–
Alasan Status Pembayaran dalam Bahasa Inggris.
2
indonesia
String
Variable, 200 max
Wajib
–
Alasan Status Pembayaran dalam Bahasa Indonesia.
LatestTransactionStatus
TBA
callbackType
No
Name
Type
Length
Required
Condition
Remarks
1
settlement
String
Variable, 64 max
Wajib
–
Dana dari transaksi yang telah diproses dan diteruskan ke rekening tujuan
2
payment
String
Variable, 64 max
Wajib
–
Untuk menandakan bahwa transaksi telah berhasil dilakukan dan pembayaran sudah diterima
productType
No
Name
Remarks
1
bank
Menunjukkan jenis produk yang berkaitan dengan layanan perbankan
2
emoney
Menunjukkan jenis produk yang berkaitan dengan layanan uang elektronik (electronic money).
3
retail
Menunjukkan jenis produk yang menyediakan layanan pembayaran melalui jaringan gerai ritel fisik seperti Alfamart dan Indomaret
4
bankva_dinamis
Menunjukkan jenis produk yang menyediakan layanan Virtual Account (VA) dari bank
productCategory
No
Name
Remarks
1
cash_in
Menunjukkan jenis produk yang digunakan untuk menambahkan saldo
1
cash_out
Menunjukkan jenis produk yang digunakan untuk penarikan saldo