📀Tài liệu kết nối VietQR
Mở Tài khoản VIetQR VN & Tự động khai báo kết nối Test
API Nhận biến động số dư
- Request mẫu
Trong đó:
transactionId
| ID của giao dịch | string | 36 kí tự |
transactionTime
| Thời gian ghi nhận giao dịch | string |
|
referencenumber
| Mã reference number của ngân hàng trả về. | string |
|
amount
| Số tiền | string | <= 10 kí tự |
content
| Nội dung chuyển khoản | string | Viết liền không dấu |
bankAccount | Số tài khoản ngân hàng | string | 8-15 kí tự |
transType | Giao dịch ghi nợ/có (giá trị: D/C) | string |
|
orderId | Mã hoá đơn của khách hàng | string | 36 kí tự |
signature | Token (Cách tạo ở mục 2) | string |
|
Response:
Trong đó:
error | Có lỗi hay không (true: có, false: không) |
errorReason | Mã lỗi: 001- agency không tồn tại, 002- lỗi khác |
toastMessage | ID giao dịch |
messageError | Nội dung lỗi |
1. Cách tạo signature
Secret: “YWN0aXZlX3NpZ24ga2V5LiBLZWVwIGl0IHNlY3JldCE=”
Gồm 2 thành phần là data và secret
Data dạng chuỗi
“ 0a4cc317-3af3-4055-bc83-7296adb624bf00001000002024-05-1701:530a4cc317-3af3-4055-bc83-7296adb624bf ”
Mô tả: chuỗi dạng
$“{transactionId}{Giá tiền dạng 10 chữ số}{transactionTime}{orderId}”
Ví dụ: với request mẫu ở mục 1
transactionId = 0a4cc317-3af3-4055-bc83-7296adb624bf amount = 0000100000 transactionTime = 2024-05-1701:53 orderId = 0a4cc317-3af3-4055-bc83-7296adb624bf |
B1: Chuyển đổi chuỗi data và secret thành mảng byte sử dụng mã hóa UTF-8.
B2: Sử dụng mảng byte của secret như là khóa để tạo một đối tượng HMACSHA256 , một loại mã hóa được sử dụng để tạo giá trị băm (hash) với thuật toán SHA-256.
B3: Tính toán giá trị băm của mảng byte sinh từ data. Kết quả thu được là một mảng byte
B4: Duyệt qua từng mảng byte và chuyển đổi từng phần tử thành 1 chuỗi hex ghép lại thành signature cần tạo
Code mẫu .net
Last updated