Truy vấn giao dịch
Quy trình
Mô tả:
Đối tác gọi API này để truy vấn thông tin chi tiết các giao dịch thu hộ. Kết quả được phân trang, có thể lọc theo nhiều tiêu chí (giao dịch ID, tài khoản, thời gian, ...).
Thông tin API
Method: POST
URL: {BASE_URL}/ats/transaction
Header: Signature — chữ ký RSA-SHA1 của raw body (xem Bảo mật).
Request
Bảng tham số
| Tên trường | Kiểu dữ liệu | Bắt buộc | Mô tả |
|---|---|---|---|
| request_id | String | ✅ | ID request, không trùng request trước. Tối đa 50 ký tự, chỉ gồm chữ, số, _, ., - |
| request_time | Datetime | ✅ | Thời gian request. Format: YYYY-MM-DD HH:mm:ss. Lệch không quá 10 phút so với giờ Baokim |
| partner_code | String | ✅ | Mã đối tác Baokim cung cấp. Dùng để xác thực chữ ký và lọc kết quả |
| trans_id_bk | String | ❌ | Lọc theo ID giao dịch Baokim |
| trans_id_partner | String | ❌ | Lọc theo ID giao dịch của đối tác |
| sub_merchant_code | String | ❌ | Lọc theo mã đối tác con |
| order_id | String | ❌ | Lọc theo ID đơn hàng |
| acc_no | String | ❌ | Lọc theo số tài khoản ảo nhận tiền |
| acc_name | String | ❌ | Lọc theo tên tài khoản |
| store_code | String | ❌ | Lọc theo mã cửa hàng |
| payer_acc | String | ❌ | Lọc theo số tài khoản người chuyển |
| from_date | Datetime | ❌ | Lọc giao dịch từ ngày (inclusive). Format: YYYY-MM-DD HH:mm:ss |
| end_date | Datetime | ❌ | Lọc giao dịch đến ngày (inclusive). Format: YYYY-MM-DD HH:mm:ss |
| page | Integer | ❌ | Số trang (mặc định: 1) |
| per_page | Integer | ❌ | Số bản ghi/trang (mặc định: 15, tối đa: 100) |
Ví dụ Request
{
"request_id": "ATS001KM2L9N",
"request_time": "2025-01-15 10:30:00",
"partner_code": "CASHPLUS",
"sub_merchant_code": "SHOP123",
"from_date": "2025-01-10 00:00:00",
"end_date": "2025-01-15 23:59:59",
"page": 1,
"per_page": 20
}
Response
ghi chú
HTTP 200 - Thành công
Bảng tham số chính
| Tên trường | Kiểu dữ liệu | Mô tả |
|---|---|---|
| response_code | Integer | Mã phản hồi. 200 = thành công |
| response_message | String | Thông báo phản hồi |
| response | Object | Kết quả phân trang. Không có khi lỗi |
Thông tin giao dịch (response.data[])
| Tên trường | Kiểu dữ liệu | Mô tả |
|---|---|---|
| trans_id_bk | String | Mã giao dịch thu hộ Baokim (TransIdBk trong webhook thu hộ) |
| trans_id_partner | String | ReferenceId CashPlus trả về khi nhận webhook thu hộ. null nếu chưa nhận webhook thành công |
| trans_time_partner | Datetime | Thời điểm Baokim ghi nhận CashPlus đã nhận webhook thu hộ |
| acc_no | String | Số tài khoản ảo nhận tiền |
| acc_name | String | Tên tài khoản ảo |
| trans_amount | Integer | Số tiền giao dịch (VND) |
| transfer_fee_amount | Integer | Phí thu hộ (VND) |
| status | Integer | Trạng thái giao dịch thu hộ. Luôn là 1 = Thành công |
| memo | String | Nội dung/ghi chú giao dịch |
| user_id | String | ID User có tài khoản đã đồng bộ trùng số tài khoản người chuyển. null nếu không có |
| payer_name | String | Tên người chuyển tiền. null nếu trùng tên tài khoản ảo |
| payer_acc | String | Số tài khoản người chuyển |
| payer_bank | String | Tên ngân hàng người chuyển |
| payer_bank_no | String | Mã ngân hàng người chuyển |
| order_id | String | Mã đơn hàng CashPlus truyền khi tạo tài khoản ảo |
| store_code | String | Mã cửa hàng |
| partner_code | String | Mã sub merchant |
| master_merchant_code | String | Mã đối tác (giống partner_code trong request) |
| announce_to_partner | Integer | 1 = CashPlus đã nhận webhook thu hộ thành công |
| created_at | Datetime | Thời gian tạo |
| updated_at | Datetime | Thời gian cập nhật cuối |
Thông tin phân trang
Được trả trong object response:
{
"data": [...],
"current_page": 1,
"per_page": 15,
"total": 150,
"last_page": 10,
"from": 1,
"to": 15
}
Ví dụ Response
{
"response_code": 200,
"response_message": "Thành công",
"response": {
"data": [
{
"trans_id_bk": "TXN202501150001",
"trans_id_partner": "CASHPLUS_001",
"trans_time_partner": "2025-01-15 10:30:30",
"acc_no": "1234567890",
"acc_name": "Cửa hàng A",
"trans_amount": 100000,
"transfer_fee_amount": 1500,
"status": 1,
"memo": "Thanh toan don hang",
"user_id": "CASHPLUS_USER123",
"payer_name": "Nguyen Van A",
"payer_acc": "9876543210",
"payer_bank": "Ngân hàng TMCP Việt Nam Thịnh Vượng",
"payer_bank_no": "970416",
"order_id": "ORD202501150001",
"store_code": "STORE001",
"partner_code": "SHOP123",
"master_merchant_code": "CASHPLUS",
"announce_to_partner": 1,
"created_at": "2025-01-15 10:30:30",
"updated_at": "2025-01-15 10:31:00"
}
],
"current_page": 1,
"per_page": 20,
"total": 150,
"last_page": 8,
"from": 1,
"to": 20
}
}
Error Codes
| Mã lỗi | Mô tả |
|---|---|
| 200 | Thành công |
| 11 | Lỗi trong quá trình xử lý bên Baokim |
| 104 | request_id hoặc request_time không hợp lệ (sai định dạng, trùng request_id, hoặc lệch quá 10 phút) |
| 105 | partner_code không hợp lệ |
| 120 | Chữ ký không hợp lệ |
| 201 | Tham số không hợp lệ (response_message nêu trường lỗi) |
Ghi chú
from_date,end_datelọc theo thời gian tạo giao dịch (created_at).- Tối đa 100 bản ghi mỗi trang.