Bắt đầu nhanh
Nối các tham số bằng dấu & sau dấu ?.
https://pay.finnvnoi.top/?amount=50000&name=Nguyen%20Van%20A&content=Thanh%20toan&timeout=2&timeout_unit=hoursMở URL mẫu →
Tham số
amountSố nguyên VNDSố tiền cần nhận. Bỏ trống để người chuyển tự nhập.
nameChuỗi · 100 ký tựTên người chuyển được điền sẵn.
require_name1Bắt buộc nhập tên trước khi xác nhận.
contentChuỗi · 100 ký tựNội dung chuyển khoản. Bỏ trống thì hệ thống tự sinh mã PAY ….
timeoutSố dươngThời gian chờ, mặc định 30.
timeout_unitminutes · hours · daysĐơn vị thời gian; tổng thời gian tối đa 30 ngày.
refChuỗi · 100 ký tựMã tham chiếu của hệ thống gọi.
Ví dụ
Số tiền cố định, bắt buộc tên
/?amount=125000&content=Thanh%20toan%20don%20123&require_name=1&timeout=1&timeout_unit=days&ref=order-123
Không cố định số tiền, tự sinh nội dung
/?timeout=30&timeout_unit=minutes
Tên, nội dung và thời gian 7 ngày
/?name=Nguyen%20Van%20A&content=Ung%20ho&timeout=7&timeout_unit=days
Quy tắc
- Mở URL không tạo bản ghi ngay.
- Người dùng bấm Xác nhận và tạo sau khi kiểm tra popup.
- Có
amount: số tiền nhận và nội dung đều phải khớp. - Không có
amount: dùng số tiền thực nhận sau khi khớp nội dung. - Nội dung trùng được thêm mã để duy nhất.
- CODE MFA không truyền qua URL.
Không đưa mã xác thực vào query string. URL có thể xuất hiện trong lịch sử trình duyệt, log hoặc referrer.
URL encoding
Dùng URLSearchParams để encode tiếng Việt và khoảng trắng:
const url = new URL('https://pay.finnvnoi.top/');
url.searchParams.set('amount', '50000');
url.searchParams.set('name', 'Nguyễn Văn A');
url.searchParams.set('content', 'Thanh toán đơn 123');
console.log(url.toString());