# Webhook

**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>requestId</td><td>String</td><td>Withdraw/Remitout request id</td></tr><tr><td>type</td><td>String</td><td>Webhook type:<br>Default value "WITHDRAW"</td></tr><tr><td>approvalStatus</td><td>String</td><td>Withdraw/Remitout request status, Include:<br>PENDING: Withdraw request is waiting for approval.<br>APPROVED: Withdraw request was approved.<br>REJECTED: Withdraw request was rejected.</td></tr><tr><td>status</td><td>String</td><td>Withdraw/Remitout transaction status, Include:<br>PROCESSING: Withdraw transaction is being processed.<br>SUCCESS: Withdraw transaction was successful.<br>FAILED: Withdraw request was failed.</td></tr><tr><td>bankSwiftCode</td><td>String</td><td>Withdraw/Remitout bank swift code.</td></tr><tr><td>bankAccountNumber</td><td>String</td><td>Withdraw/Remitout bank acount number.</td></tr><tr><td>bankAccountName</td><td>String</td><td>Withdraw/Remitout bank acount name.</td></tr><tr><td>amount</td><td>Number</td><td>Amount of withdraw/remitout request in VND</td></tr><tr><td>requestToCurrency</td><td>String</td><td>(Optional) Remitout request currency.</td></tr><tr><td>remitedAmount</td><td>Number</td><td>(Optional) Amount of remitout request in currency</td></tr><tr><td>collectionTransactions</td><td>Array Object</td><td><p>(Optional) List of Collection transactions envolved to withdraw/remitout request.<br>Object data:</p><pre class="language-postman_json"><code class="lang-postman_json">{
  "virtualAccountId": String,
  "reconcileCode": String,
  "transId": String,
  "amount": Number,
  "transDate": String
}
</code></pre></td></tr><tr><td>note</td><td>String</td><td>Note for withdraw/remitout request</td></tr><tr><td>failedReason</td><td>String</td><td>Return failed reason from banking system if withdraw transaction was failed</td></tr><tr><td>secureHash</td><td><p>String</p><p>(Base64)</p></td><td>Use SHA256 to hash the above parameters (Not include optional params) (sort the key by Alphabet order) + Secret Key (configured on Merchant Portal, in the Collection service menu)</td></tr></tbody></table>

### Sample data

```json
{
        "requestId": "09c7e5b6-bba7-47da-8fda-bf95e6ecac66",
        "merchantCode": "COLRLC",
        "amount": 3000000,
        "requestToCurrency": "USD",
        "remitedAmount": 12341,
        "transId": "51CNMDFMJ9MD",
        "bankSwiftCode": "HSBCXVXX",
        "bankAccountNumber": "ABC123456",
        "bankAccountName": "MINH DUC",
        "bankBranch": "HSBC Singapore",
        "status": "SUCCESS",
        "approvalStatus": "APPROVED",
        "approvalDate": "2025-07-23T07:10:53.013Z",
        "collectionTransactions": [
            {
                "virtualAccountId": "902000871135",
                "reconcileCode": "TH-18042024-COLRLC",
                "transId": "240418ANKRBO",
                "amount": 5000000,
                "transDate": "2024-04-18T09:37:11.688Z"
            }
        ],
        "createdAt": "2025-07-23T07:10:25.836Z",
        "updatedAt": "2025-07-23T07:10:53.065Z",
        "note": "One withdraw request please",
        "secureHash": "I/M2Y6rsb1x+hImL1fEBr4WHQpk6OJ8jUN4X2F3OM4Q="
    }
```

With the secretKey "SUMTING", the string used to create secureHash will be:

```
150000STANDARD CHARTERED BANK TEST ACCOUNT0107201111SCBLSG22XXX100000TH-13122024-SUMTIN2024-12-12T02:47:05.409ZFT24323L4AAA9698890002161550000TH-13122024-SUMTIN2024-12-09T02:47:05.409ZFT24323L4ZZZ96988900021615USD5.9125380.71CASHOUT-443826686072PENDINGWITHDRAWSUMTING
```
