Virtual Account SNAP
Update Virtual Account
Panduan lengkap untuk memperbarui Virtual Account menggunakan API Paylabs.
HTTPMethod: POST
URL: ${ROOT_URL}/v1.0/transfer-va/update-va
Service Code: 28
Version: 1.0
ServiceGroup: transfer-va
ProductType: update-va
Request
Header
| Parameter | Required | Type | Length | Remarks |
|---|---|---|---|---|
| Content-Type | M | String | - | Fixed value application/json |
| Authorization | C | String | Dynamic | Nilai access_token, jika Anda menggunakan enkripsi symmetric, kolom ini wajib diisi |
| X-TIMESTAMP | M | String | 64 | Waktu Jakarta, format 2021-11-29T09:22:18+07:00 |
| X-PARTNER-ID | M | String | 36 | Merchant ID |
| X-EXTERNAL-ID | M | String | 12 | Request ID |
| X-SIGNATURE | M | String | Dynamic | Signature strings |
| X-IP-ADDRESS | M | String | 15 | IP Client (IPv4) |
Body
| Parameter | Required | Type | Length | Remarks |
|---|---|---|---|---|
| partnerServiceId | String | M | 8 | turunan X-PARTNER-ID, mirip dengan kode perusahaan, 8 digit spasi disebelah kiri. partnerServiceId + customerNo or virtualAccountNo |
| customerNo | String | M | 20 | No Unique (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo |
| virtualAccountNo | String | M | 28 | partnerServiceId (8 digit spasi disebelah kiri) + customerNo (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo |
| virtualAccountName | String | M | 255 | Nama Customer. contoh: Jokul Doe |
| virtualAccountEmail | String | O | 255 | Email Customer |
| virtualAccountPhone | String | O | 30 | No HP Customer Format: 62xxxxxxxxxxxxx |
| trxId | String | M | 64 | Transaction ID in Partner system |
| + totalAmount | Object | O | ||
| - Value | String (ISO4217) | M | 16,2 | Transaction Amount.Total Amount dengan 2 digit dibelakang koma. |
| - Currency | String | M | 3 | Currency.Currency of amount based on ISO 4217. |
| + billDetails | Array of Objects | O | Array dengan maksimal 24 Object | |
| - billCode | String | O | 2 | Kode tagihan untuk Customer pilih |
| - billNo | String | O | 18 | Bill No dari Partner |
| - billName | String | O | 20 | Bill Nama |
| - billShortName | String | O | 10 | Bill Name to shown to |
| + billDescription | Object | O | Deskripsi Tagihan | |
| - english | String | O | 18 | Deskripsi Tagihan dalam English |
| - indonesia | String | O | 18 | Deskripsi Tagihan Bahasa Indonesia |
| - billSubCompany | String | O | 5 | Kode Product Partner |
| + billAmount | Object | O | ||
| - Value | String (ISO4217) | M | 16,2 | Transaction Amount.Nominal yang diinput oleh Nasabah dengan 2 digit angka dibelakang koma. contoh: 10000.00 |
| - Currency | String | M | 3 | Mata Uang. fixed value : IDR |
| + additionalInfo | Object | O | unlimited | Informasi Tambahan untuk customer khusus untuk setiap tagihan |
| + freeTexts | Array of Objects | O | Array dengan maksimal 25 Object | |
| - english | String | O | 32 | Akan ditampilkan di Channel |
| - indonesia | String | O | 32 | Akan ditampilkan di Channel |
| virtualAccountTrxType | String | O | 1 | Type Virtual Account |
| + feeAmount | Object | O | ||
| - Value | String (ISO4217) | M | 16,2 | Transaction Amount. Nominal yang diinput oleh Nasabah dengan 2 digit angka dibelakang koma. contoh: 10000.00 |
| - Currency | String | M | 3 | Mata Uang. fixed value : IDR |
| expiredDate | String | O | 25 | Tanggal kadaluwarsa Virtual Account. ISO-8601 |
| + additionalInfo | Object | O | Informasi Tambahan untuk digunakan customer |
Example
POST /api/v1.0/transfer-va/update-va HTTP/1.1
Content-Type: application/json;charset=utf-8
X-TIMESTAMP: 2026-02-09T10:23:32.292+07:00
X-SIGNATURE: h06d********************jg==
X-PARTNER-ID: 010552
X-EXTERNAL-ID: 20260209172332292
X-IP-ADDRESS: XXX.XXX.XXX.XXX
{
"partnerServiceId": " 010001",
"customerNo": "34534534",
"virtualAccountNo": "8903908967530380",
"virtualAccountName": "Jokul Doe",
"virtualAccountEmail": "jokul@email.com",
"virtualAccountPhone": "6281828384858",
"trxId": "PYL20260209172332292",
"totalAmount": {
"value": "15000.00",
"currency": "IDR"
},
"billDetails": [
{
"billCode": "01",
"billNo": "123456789012345678",
"billName": "Bill A for Jan",
"billShortName": "Bill A",
"billDescription": {
"english": "Maintenance",
"indonesia": "Pemeliharaan"
},
"billSubCompany": "00001",
"billAmount": {
"value": "15000.00",
"currency": "IDR"
},
"additionalInfo": {}
}
],
"freeTexts": [
{
"english": "Free text",
"indonesia": "Tulisan bebas"
}
],
"virtualAccountTrxType": "1",
"feeAmount": {
"value": "0.00",
"currency": "IDR"
},
"expiredDate": "2026-03-29T23:59:59-07:00",
"additionalInfo": {
"deviceId": "12345679237",
"channel": "mobilephone",
"paymentType": "MandiriVA"
}
}Response
Header
| Parameter | Required | Type | Length | Remarks |
|---|---|---|---|---|
| Content-Type | M | String | - | Fixed value application/json |
| X-TIMESTAMP | M | String | 64 | Jakarta time, format 2021-11-29T09:22:18+07:00 |
Body
| Parameter | Required | Type | Length | Remarks |
|---|---|---|---|---|
| responseCode | String | M | 7 | Response Code |
| responseMessage | String | M | 150 | Response Description |
| + virtualAccountData | Object | M | ||
| - partnerServiceId | String | M | 8 | turunan X-PARTNER-ID, mirip dengan kode perusahaan, 8 digit spasi disebelah kiri. partnerServiceId + customerNo or virtualAccountNo |
| - customerNo | String | M | 20 | Unique number (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo |
| - virtualAccountNo | String | M | 28 | partnerServiceId (8 digit left padding space) + customerNo (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo |
| - virtualAccountName | String | M | 255 | Nama Customer. contoh: Jokul Doe |
| - virtualAccountEmail | String | O | 255 | Email Customer |
| - virtualAccountPhone | String | O | 30 | No HP Customer Format: 62xxxxxxxxxxxxx |
| - trxId | String | M | 32 | Transaction ID in Partner system |
| + totalAmount | Object | O | ||
| - Value | String (ISO4217) | M | 16,2 | Transaction Amount.Bill Amount dengan 2 digit angka dibelakang koma. |
| - Currency | String | M | 3 | Mata Uang. ISO 4217. |
| + billDetails | Array of Objects | O | Array dengan maksimal 24 Object | |
| - billCode | String | O | 2 | Kode tagihan untuk Customer pilih |
| - billNo | String | O | 18 | Bill No dari Partner |
| - billName | String | O | 20 | Bill Nama |
| - billShortName | String | O | 10 | Bill Name to shown to |
| + billDescription | Object | O | Deskripsi Tagihan | |
| - english | String | O | 18 | Deskripsi Tagihan dalam Inggris |
| - indonesia | String | O | 18 | Deskripsi Tagihan dalam bahasa Indonesia |
| - billSubCompany | String | O | 5 | Kode Product Partner |
| + billAmount | Object | O | ||
| - Value | String (ISO4217) | M | 16,2 | Transaction Amount.Nominal yang diinput oleh Nasabah dengan 2 digit angka dibelakang koma. contoh: 10000.00 |
| - Currency | String | M | 3 | Mata Uang. fixed value : IDR |
| + additionalInfo | Object | O | unlimited | Informasi Tambahan untuk customer khusus untuk setiap tagihan |
| - virtualAccountTrxType | String | O | 1 | Type Virtual Account |
| + feeAmount | Object | O | ||
| - Value | String (ISO4217) | M | 16,2 | Transaction Amount.Nominal yang diinput oleh Nasabah dengan 2 digit angka dibelakang koma. contoh: 10000.00 |
| - Currency | String | M | 3 | Mata Uang. fixed value : IDR |
| - expiredDate | String | O | 25 | Tanggal kadaluwarsa Virtual Account. ISO-8601 |
| - lastUpdateDate | String | O | 25 | Last update date for Virtual Account.ISO-8601 |
| - paymentDate | String | O | 25 | tanggal pembayaran Virtual Account.ISO-8601 |
| + additionalInfo | Object | O | Informasi Tambahan untuk digunakan customer |
Example
HTTP/1.1 200 OK
Content-Type: application/json
{
"responseCode": "2002800",
"responseMessage": "Successful",
"virtualAccountData": {
"partnerServiceId": " 010001",
"customerNo": "34534534",
"virtualAccountNo": "8903908967530380",
"virtualAccountName": "Jokul Doe",
"virtualAccountEmail": "jokul@email.com",
"virtualAccountPhone": "6281828384858",
"trxId": "PYL20260209172332292",
"totalAmount": {
"value": "15000.00",
"currency": "IDR"
},
"billDetails": [
{
"billCode": "01",
"billNo": "123456789012345678",
"billName": "Bill A for Jan",
"billShortName": "Bill A",
"billDescription": {
"english": "Maintenance",
"indonesia": "Pemeliharaan"
},
"billSubCompany": "00001",
"billAmount": {
"value": "15000.00",
"currency": "IDR"
},
"additionalInfo": {}
}
],
"virtualAccountTrxType": "1",
"feeAmount": {
"value": "0.00",
"currency": "IDR"
},
"expiredDate": "2026-03-29T23:59:59-07:00",
"additionalInfo": {
"deviceId": "12345679237",
"channel": "mobilephone",
"paymentType": "MandiriVA"
}
}
}