Virtual Account
Create Virtual Account
API ini digunakan untuk generate Virtual Account untuk kebutuhan transaksi VA.
API ini digunakan untuk generate Virtual Account untuk kebutuhan transaksi VA. Terdapat dua jenis Virtual Account yang dapat dibuat, yaitu Dynamic VA (nomor virtual akun dinamis) dan Static VA (nomor virtual akun statis). Adapun perbedaan antara Dynamic & Static VA dapat dilihat pada halaman VA Dinamis dan VA Statis.
Selain itu, terdapat dua tipe transaksi Virtual Account, yaitu Closed VA (nominal tetap) dan Open VA (nominal fleksibel). Saat ini Paprika hanya mendukung pembuatan Virtual Account dengan tipe Closed (nominal tetap) Dynamic & Static.
Berikut adalah contoh request body untuk membuat Virtual Account.
{
"customerNo": "1234567890",
"virtualAccountName": "John Doe",
"virtualAccountEmail": "john.doe@example.com",
"virtualAccountPhone": "081234567890",
"trxId": "TRX-20260701-0001",
"totalAmount": {
"value": "10000.00",
"currency": "IDR"
},
"virtualAccountTrxType": "C",
"expiredDate": "2026-12-31T23:59:59+07:00",
"additionalInfo": {
"bankCode": "013"
}
}
Request Body Parameters
| Parameter | Tipe | Required | Panjang | Deskripsi |
|---|---|---|---|---|
| customerNo | string | Optional | 20 | Nomor pelanggan yang akan digunakan untuk membuat Virtual Account. Kosongkan ("") jika ingin membuat Virtual Account dengan tipe dinamis. |
| virtualAccountName | string | Required | 255 | Nama pemilik Virtual Account. |
| virtualAccountEmail | string | Optional | 255 | Email pemilik Virtual Account. |
| virtualAccountPhone | string | Optional | 30 | Nomor telepon pemilik Virtual Account. |
| trxId | string | Required | 64 | ID transaksi unik yang digunakan untuk membuat Virtual Account. Max 64 karakter. |
| totalAmount | object | Optional | - | Objek yang berisi informasi nominal Virtual Account. Diperlukan jika virtualAccountTrxType adalah ‘C’ (Closed). |
| totalAmount.value | string | Optional | - | Nilai nominal Virtual Account. Diperlukan jika virtualAccountTrxType adalah ‘C’ (Closed). Minimal transaksi adalah Rp 10.000,00. Isi dengan format dua desimal di belakang (misal: "10000.00"). |
| totalAmount.currency | string | Optional | - | Mata uang nominal Virtual Account. Diperlukan jika virtualAccountTrxType adalah ‘C’ (Closed). Mata uang yang didukung adalah ‘IDR’. |
| virtualAccountTrxType | string | Required | - | Tipe transaksi Virtual Account. ‘C’ untuk Closed (nominal tetap), ‘O’ untuk Open (nominal fleksibel). |
| expiredDate | string | Optional | - | Tanggal dan waktu kedaluwarsa Virtual Account dalam format ISO 8601 (misal: 2026-12-31T23:59:59+07:00). Jika tidak diisi, default kedaluwarsa adalah 1 jam dari waktu pembuatan (Khusus untuk tipe Closed VA) atau 1 tahun dari waktu pembuatan (Khusus untuk tipe Open VA). |
| additionalInfo | object | Required | - | - |
| additionalInfo.bankCode | string | Required | 3 | Kode bank yang digunakan untuk membuat Virtual Account. Pada contoh di atas, kode bank ‘013’ adalah kode Bank Permata. Kode bank yang saat ini di-support Paprika untuk pembuatan VA adalah:
|
Response Body
{
"responseCode": "2002700",
"responseMessage": "Successful",
"virtualAccountData": {
"partnerServiceId": " 123",
"customerNo": "1234567890",
"virtualAccountNo": "75911231234567890",
"virtualAccountName": "John Doe",
"virtualAccountEmail": "john.doe@example.com",
"virtualAccountPhone": "081234567890",
"trxId": "TRX-20260701-0001",
"totalAmount": {
"value": "10000.00",
"currency": "IDR"
},
"virtualAccountTrxType": "C",
"expiredDate": "2026-12-31T23:59:59+07:00",
"additionalInfo": {
"bankCode": "013"
}
}
}