[ID] 2024-04-23 Introducing Disbursement to Virtual Account Destination Feature
Target deployment date: 23rd of April 2024 (Tuesday) at 2:30 PM JKT
Now you can do disbursement to virtual account destination using our Send API. This feature will only cover virtual account destinations from 4 major banks which are: BCA (Bank Central Asia), BRI (Bank Rakyat Indonesia), BNI (Bank Negara Indonesia), and Bank Mandiri.
Feature Details
There is a new value for the parameter bankShortCode
when disbursing through our Send API.
Here are the available parameters for bankShortCode
:
BCA_VA
for disbursement to BCA virtual account numberBRI_VA
for disbursement to BRI virtual account numberBNI_VA
for disbursement to BNI virtual account numberMANDIRI_VA
for disbursement to Mandiri virtual account number
List of Impacted API Endpoints
- Create a disbursement
- Get a disbursement
- Get a list of disbursements
- Webhook on Send
New Value | Mandatory / Optional | Impacted Endpoints | Explanation |
---|---|---|---|
bankShortCode | Mandatory | Send APIs | Currently, we will accept only the following codes as input for disbursement to a virtual account: 1. BCA_VA 2. BRI_VA 3. BNI_VA 4. MANDIRI_VA |
Sample Create a disbursement API Request
{
"data": {
"attributes": {
"amount": 100500,
"referenceId": "transferva_00001",
"description": "Disbursement to BCA VA",
"disbursementMethod": {
"type": "bank_transfer",
"bankShortCode": "BCA_VA",
"bankAccountNo": "1234123412341234",
"bankAccountHolderName": "John Doe"
}
}
}
}
Sample Create a disbursement API Response
{
"data": {
"id": "contract_8d2dc5b53bf34265a30dbc1e9b23dd97",
"type": "disbursement",
"attributes": {
"referenceId": "transferva_00001",
"description": "Disbursement to BCA VA",
"amount": "100500.0",
"status": "processing",
"currency": "IDR",
"createdAt": "2024-04-01T10:00:00+07:00",
"fees": "3885.0",
"disbursementMethod": {
"type": "bank_transfer",
"serverBankAccountHolderName": "John Doe",
"bankAccountNo": "1234123412341234",
"bankShortCode": "BCA_VA",
"bankAccountHolderName": "John Doe",
"bankName": "Bank Central Asia VA",
"failureReason": null,
"bankReferenceNumber": "72999c6c-e3e1-4d32-875d-27be67841ac8"
}
}
}
}
Sample Get a disbursement API
{
"data": {
"id": "contract_8d2dc5b53bf34265a30dbc1e9b23dd97",
"type": "disbursement",
"attributes": {
"referenceId": "transferva_00001",
"description": "Disbursement to BCA VA",
"amount": "100500.0",
"status": "processing",
"currency": "IDR",
"createdAt": "2024-04-01T10:00:00+07:00",
"fees": "3885.0",
"disbursementMethod": {
"type": "bank_transfer",
"serverBankAccountHolderName": "John Doe",
"bankAccountNo": "1234123412341234",
"bankShortCode": "BCA_VA",
"bankAccountHolderName": "John Doe",
"bankName": "Bank Central Asia VA",
"failureReason": null,
"bankReferenceNumber": "72999c6c-e3e1-4d32-875d-27be67841ac8"
}
}
}
}
Sample Get a list of disbursements API
{
"data": [
{
"id": "contract_8d2dc5b53bf34265a30dbc1e9b23dd97",
"type": "disbursement",
"attributes": {
"referenceId": "transferva_00001",
"description": "Disbursement to BCA VA",
"amount": "100500.0",
"status": "processing",
"currency": "IDR",
"createdAt": "2024-04-01T10:00:00+07:00",
"fees": "3885.0",
"disbursementMethod": {
"type": "bank_transfer",
"serverBankAccountHolderName": "John Doe",
"bankAccountNo": "1234123412341234",
"bankShortCode": "BCA_VA",
"bankAccountHolderName": "John Doe",
"bankName": "Bank Central Asia VA",
"failureReason": null,
"bankReferenceNumber": "72999c6c-e3e1-4d32-875d-27be67841ac8"
}
}
},
{
"id": "contract_ba3839c855ce48f3ab9bb57b34dcb1ec",
"type": "disbursement",
"attributes": {
"referenceId": "transferva_00002",
"description": "Disbursement to BRI VA",
"amount": "100500.0",
"status": "processing",
"currency": "IDR",
"createdAt": "2024-04-01T10:00:00+07:00",
"fees": "3885.0",
"disbursementMethod": {
"type": "bank_transfer",
"serverBankAccountHolderName": "Jane Doe",
"bankAccountNo": "1234567812345678",
"bankShortCode": "BRI_VA",
"bankAccountHolderName": "Jane Doe",
"bankName": "Bank Rakyat Indonesia VA",
"failureReason": null,
"bankReferenceNumber": "72999c6c-e3e1-4d32-875d-27be67841ac8"
}
}
}
]
}
Sample Webhook on Send
{
"data": {
"id": "contract_8d2dc5b53bf34265a30dbc1e9b23dd97",
"type": "disbursement",
"attributes": {
"referenceId": "transferva_00001",
"description": "Disbursement to BCA VA",
"amount": "100500.0",
"status": "completed",
"currency": "IDR",
"createdAt": "2024-04-01T10:00:00+07:00",
"fees": "3885.0",
"disbursementMethod": {
"type": "bank_transfer",
"serverBankAccountHolderName": "John Doe",
"bankAccountNo": "1234123412341234",
"bankShortCode": "BCA_VA",
"bankAccountHolderName": "John Doe",
"bankName": "Bank Central Asia VA",
}
}
}
}
FAQ
1. How do I know if the destination account is a virtual account?
There is no exact formula on how to differentiate between a virtual account and a non-virtual account number, but here is some information that you can use to determine a virtual account number.
Bank | Regular Bank Account | Virtual Account |
---|---|---|
BCA | Has 10 digit number | Typically has more than 10 digit number |
BRI | Has 15 digit number | Typically has 15-18 digit number, 16-18 digit must be virtual account, 15 digit virtual account doesn’t start with 0 |
BNI | Has 10 digit number | Typically has 16 digit number |
Mandiri | Has 13 digit number | Typically 13-16 digit with prefixes 86, 87, 88, or 89 |
2. What happens if I use a regular bank account bank code to disburse to a virtual account?
If you are using an incorrect bank code for disbursement, our API will return an error code 005 Invalid Parameter
You can refer to this documentation for our full list of bank codes.
{
"errors": [
{
"code": "005",
"title": "Invalid parameter",
"detail": "Invalid bank account, Mandiri account should not start with 86, 87, 88, 89 and should not have more than 13 digit"
}
]
}