BRI Virtual Account

BRI Virtual Account is a bank transfer method facilitated by Bank BRI. Despite the name, customers can pay using any Indonesian Bank account to complete payment. Payment can be made through ATM, mobile banking, internet banking, and Indonesian bank channels that supports paying virtual accounts.

Steps to integrate :

  1. Send the charge API request to Midtrans.
  2. Redirect your customer back to your page by configuring Finish URL in Midtrans's Dashboard > Snap Preferences or via [API Request] (/docs/snap-advanced-feature#custom-finish-url).
  3. Handle notifications.

Sample JSON Request Body

  "transaction_details": {
    "order_id": "ORDER-101",
    "gross_amount": 10000
  "item_details": [{
    "id": "ITEM1",
    "price": 10000,
    "quantity": 1,
    "name": "Midtrans Bear",
    "brand": "Midtrans",
    "category": "Toys",
    "merchant_name": "Midtrans"
  "customer_details": {
    "first_name": "TEST",
    "last_name": "MIDTRANSER",
    "email": "[email protected]",
    "phone": "+628123456"
  "enabled_payments": ["bri_va"],
  "bri_va": {
    "va_number": "12345678"
Transaction Details Object (required)
Unique transaction ID
Item Details Object (optional)
Shopping item details will be paid by customer
Customer Details Object (optional)
Details of the customer
Array (optional)
Set what payment method to show in Snap's payment list. Value: bri_va
BRI Virtual Account (optional)
BRI Virtual Account payment options

For a full list of request body parameters please refer to the Request Body (JSON Parameter) section

Note: Please also refer to the Custom VA Number section if you're looking to define your own VA number for your customers.