Create Deeplink
Process
Position in business flow: Main step — MERCHANT calls this API after the user has selected a bank, to obtain the deeplink_url that redirects the user into the bank's app.
- MERCHANT calls this API to request a deeplink for the bank the user has chosen to pay with.
API Information
Method: POST
URL: /b2b/core/api/ext/deeplink/create
Request
Main Parameters
| No. | Field Name | Data Type | Required | Description |
|---|---|---|---|---|
| 1 | request_id | String(100) | ✅ | Unique ID for each Request from MERCHANT to Baokim |
| 2 | request_time | String(20) | ✅ | Request send time. Format: YYYY-MM-DD H:i:s |
| 3 | master_merchant_code | String(50) | ✅ | Unique identifier for master merchant |
| 4 | sub_merchant_code | String(50) | ✅ | Unique identifier for sub merchant |
| 5 | deeplink_bank_code | String(20) | ✅ | Bank app code used to create the deeplink |
| 6 | bank_code | String(20) | ✅ | Bank code of the money recipient |
| 7 | account_number | String(100) | ✅ | Recipient account number |
| 8 | account_name | String(255) | ✅ | Recipient account name |
| 9 | amount | Number | ✅ | Transfer amount |
| 10 | note | String(50) | ✅ | Transfer content |
| 11 | redirect_url | String(255) | ✅ | URL to redirect back to the Merchant's app after payment |
Request Example
{
"request_id": "MERCHANT050015588AXE014",
"request_time": "2025-08-11 14:41:00",
"master_merchant_code": "MASTER_MERCHANT",
"sub_merchant_code": "SUB_MERCHANT",
"deeplink_bank_code": "970436",
"bank_code": "970436",
"account_number": "113366668888",
"account_name": "BAOKIM NGUYEN VAN A",
"amount": 1000000,
"note": "NGUYEN VAN A thanh toan don hang ORD_23456",
"redirect_url": "https://play.google.com/store/apps/details?id=com.tc.baokimplus&hl=vi&pli=1"
}
Response
Main Parameters
| No. | Field Name | Data Type | Required | Description |
|---|---|---|---|---|
| 1 | code | Number(3) | ✅ | Baokim error code |
| 2 | message | String(200) | ✅ | Baokim error message |
| 3 | data | Object | ✅ | Data returned by Baokim |
Data Information
| No. | Field Name | Data Type | Required | Description |
|---|---|---|---|---|
| 1 | request_id | String(100) | ✅ | Unique ID of the Request |
| 2 | deeplink | Object | ✅ | Information of the payment Deeplink created |
deeplink Information
| No. | Field Name | Data Type | Required | Description |
|---|---|---|---|---|
| 1 | deeplink_url | String(255) | ✅ | Deeplink that redirects to the payment app |
| 2 | expired_at | String(20) | ✅ | Deeplink expiration time. Format: YYYY-MM-DD H:i:s |
Response Example
{
"code": 0,
"message": "Success",
"data": {
"request_id": "MERCHANT050015588AXE014",
"deeplink": {
"deeplink_url": "https://payment-page.baokim.vn/deeplink?request_id=MERCHANT050015588AXE014&checksum=BC151dsTTmdrSpRapya3rKYJmtu2Ue6e",
"expired_at": "2026-01-11 14:41:00"
}
}
}
Error Codes
| Error Code | Description |
|---|---|
| 200 | Success |
| 101 | Baokim system error |
| 102 | Missing required information |
| 104 | OAuth authentication error |
| 105 | Signature verification error |
| 422 | Parameter validation error |
| 429 | Too many requests |
| 3002 | Payment channel not supported |
| 3010 | Gateway system error |
| 3011 | Gateway system timeout |