# Virtual Account Status

[***Configure the webhook***](https://docs.neox.vn/docs/collections/integration/event-notification)

### **Sequence Diagram**

**Event data**

<table><thead><tr><th width="245">Parameter</th><th width="142.33333333333331">Data Type</th><th>Description</th></tr></thead><tbody><tr><td>type</td><td>String</td><td>ACCOUNT_STATUS</td></tr><tr><td>merchantCode</td><td>String</td><td>Merchant Code</td></tr><tr><td>requestId</td><td>String</td><td>The requestId when creating virtual account.</td></tr><tr><td>virtualAccountRequestId</td><td>String</td><td>The ID of seller/business is provided by merchant.</td></tr><tr><td>bankAccountNumber</td><td>String</td><td>Virtual Account number.</td></tr><tr><td>accountName</td><td>String</td><td>Virtual Account name.</td></tr><tr><td>accountAddress</td><td>String</td><td>Virtual Account address.</td></tr><tr><td>bankId</td><td>String</td><td>The bank swiftcode of virtual account.</td></tr><tr><td>bankName</td><td>String</td><td>The bank name of virtual account.</td></tr><tr><td>qrText</td><td>String</td><td>Napas QR Code plain data for virtual account.</td></tr><tr><td>status</td><td>String</td><td>Virtual account active status, include:<br>ACTIVE: Virtual account has been actived and can be used.<br>INACTIVE: Virtual account has been inactived and can not be used.</td></tr><tr><td>authorizeStatus</td><td>String</td><td>Virtual account authorize status, Include:<br>UNAUTHORIZED: KYC/KYB documents for VA were not uploaded.<br>PENDING: KYC/KYB documents for VA were uploaded, waiting to verify.<br>AUTHORIZED: KYC/KYB documents for VA have been approved.<br>REJECTED: KYC/KYB documents for VA have been rejected.</td></tr><tr><td>serviceInfomation</td><td>Object</td><td>Refer to <a href="https://github.com/neopayvn/neox-gitbook-documents-v1/blob/main/collections/virtual-account-management/api-upload-kyc-file.md#uploadfileresponse">ServiceInformationData.</a></td></tr><tr><td>note</td><td>String</td><td>Note for current virtual account.</td></tr><tr><td>createdAt</td><td>Datetime String (ISO 8601)</td><td>Record created time</td></tr><tr><td>updatedAt</td><td>Datetime String (ISO 8601)</td><td>Record last updated time</td></tr><tr><td>secureHash</td><td><p>String</p><p>(Base64)</p></td><td>Use SHA256 to hash the above parameters (sort the key by Alphabet order) + Secret Key (configured on Merchant Portal, in the Collection service menu)</td></tr></tbody></table>

\### Sample data

```json
{
  "type": "ACCOUNT_STATUS",
  "merchantCode": "MSFEAF",
  "requestId": "d7fd1438-1c30-46c9-8ba1-bceeafc5198a",
  "virtualAccountRequestId": "4c3ad2bd-a910-4c9b-96ca-77fd46e69239",
  "bankAccountNumber": "M9629245",
  "accountName": "YHTEACR1",
  "accountAddress": "48172 Myrtis Views",
  "bankId": "VTCBVNVX",
  "bankName": "Vietnam Technological and Commercial Joint stock Bank",
  "qrText": "00020101021238520010A000000727012200069704070108M96292450208QRIBFTTA53037045802VN62090805NEO4563040CA8",
  "status": "ACTIVE",
  "authorizeStatus": "UNAUTHORIZED",
  "serviceInformation": {
    "id": "4953df2a-0477-44ac-b615-88aea5eb9070",
    "code": "AMD",
    "desc": "portals",
    "groupId": "Garden"
  },
  "note": "",
  "createdAt": "2025-04-23T14:43:06.883Z",
  "updatedAt": "2025-04-23T14:55:58.497Z",
  "secureHash": "1l5kbr2tzqsAwPTq+0Ol8y4TRNReld8gamrp2KPevQc="
}
```

With the secretKey "SOME\_secret\_123", the string used to create secureHash will be:

```
48172 Myrtis ViewsYHTEACR1UNAUTHORIZEDM9629245VTCBVNVXVietnam Technological and Commercial Joint stock Bank2025-04-23T14:43:06.883ZMSFEAF00020101021238520010A000000727012200069704070108M96292450208QRIBFTTA53037045802VN62090805NEO4563040CA8d7fd1438-1c30-46c9-8ba1-bceeafc5198aAMDportalsGarden4953df2a-0477-44ac-b615-88aea5eb9070ACTIVEACCOUNT_STATUS2025-04-23T14:55:58.497Z4c3ad2bd-a910-4c9b-96ca-77fd46e69239SOME_secret_123
```
