Update Virtual Account

The Update Virtual Account feature allows merchants to modify the details of an already created Virtual Account. This feature is useful when the payment or VA information needs to be refreshed or corrected, for example, extending the expiry time, updating the customer details, or adjusting the amount (within allowed rules).

Through this feature, you can update:

Payment Amount - Adjust the totalAmount.value of the Virtual Account (with to bank transition rules and amount-type limitations).

Expiration Date - Extend the expiry, allowing more time for payment, or force the VA to expire immediately.

Customer Name & Customer Phone - Update virtualAccountName and virtualAccountPhone if customer information needs to be corrected.

Single-Use / Multi-Use Behavior - Change isSingleUse between "Y" to "N" and vice versa, depending on your billing or operational requirements.

Additional Information - Update any additionalInfo1additionalInfo3 fields used for merchant-specific metadata.


Limitations

Please note the following important restrictions when updating a Virtual Account:

1. Original Reference Requirement

Every Update VA request must include the same originalReferenceNo that was received in the original Create VA response (returned in the referenceNo field).

  • This links the update to the correct VA lifecycle.
  • If the value does not match, the VA will not be updated and cause an error 4042801 - Transaction Not Found, even if other fields (e.g. VA number or name) are correct.

2. Non-Changeable Fields

The following fields cannot be updated under any circumstances:

  • customerNo
  • virtualAccountNo

These fields serve as transaction identity keys and core transaction identifiers. Changing them is not supported and will result in an invalid bill.

3. Mandatory Field Requirement

All mandatory fields from the original request must still be included in the Update VA request, even if their values have not changed. Missing any required field will result in validation errors.

4. Amount Type Cannot Change

Due to banking and channel limitations, you cannot change a Virtual Account from Closed Amount to Open Amount, or vice versa. The amount type must remain the same as defined during creation.

  • If the VA was created as closed Amount, you may increase or decrease the amount (following allowed rules).
  • If the VA was created as Open Amount, the amount cannot be updated. To switch to a closed amount, you must create a new VA and include the totalAmount object.

5. Bank Transition Limitations

Changing the bankCode is not allowed. Each bank issues its own Virtual Account prefix, and switching a VA from one bank to another is not supported through updates. If you need to use a different bank, you must create a new Virtual Account instead.

6. Expiry Update Rules

Updated expiry values must follow the allowed range (min 5 minutes, max 2 years).

To force immediate expiry, the merchant must set expiredDate to 1970-01-01T00:00:00+07:00. This value will instantly deactivate the Virtual Account.