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

ParameterTipeRequiredPanjangDeskripsi
customerNostringOptional20Nomor pelanggan yang akan digunakan untuk membuat Virtual Account. Kosongkan ("") jika ingin membuat Virtual Account dengan tipe dinamis.
virtualAccountNamestringRequired255Nama pemilik Virtual Account.
virtualAccountEmailstringOptional255Email pemilik Virtual Account.
virtualAccountPhonestringOptional30Nomor telepon pemilik Virtual Account.
trxIdstringRequired64ID transaksi unik yang digunakan untuk membuat Virtual Account. Max 64 karakter.
totalAmountobjectOptional-Objek yang berisi informasi nominal Virtual Account. Diperlukan jika virtualAccountTrxType adalah ‘C’ (Closed).
totalAmount.valuestringOptional-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.currencystringOptional-Mata uang nominal Virtual Account. Diperlukan jika virtualAccountTrxType adalah ‘C’ (Closed). Mata uang yang didukung adalah ‘IDR’.
virtualAccountTrxTypestringRequired-Tipe transaksi Virtual Account. ‘C’ untuk Closed (nominal tetap), ‘O’ untuk Open (nominal fleksibel).
expiredDatestringOptional-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).
additionalInfoobjectRequired--
additionalInfo.bankCodestringRequired3Kode 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:
  • Artha Graha ("037")
  • Maybank Indonesia ("016")
  • Permata ("013")

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"
        }
    }
}