Hướng dẫn dùng aritm JavaScript

  • Tạo URL Thanh toán
    • Danh sách tham số
    • Lưu ý
    • Code cài đặt
  • Code IPN URL
    • Danh sách tham số
    • Lưu ý
    • Code cài đặt
  • Code ReturnURL
    • Danh sách tham số
    • Lưu ý
    • Code cài đặt
  • Download Code demo

Tài liệu này sẽ hướng dẫn các lập trình viên của Website TMĐT tích hợp Cổng thanh toán VNPAY để xử lý giao dịch Thanh toán trực tuyến cho khách hàng

Tạo URL Thanh toán

URL Thanh toán là địa chỉ URL mang thông tin thanh toán.
Website TMĐT gửi sang Cổng thanh toán VNPAY các thông tin này khi xử lý giao dịch thanh toán trực tuyến cho Khách mua hàng.
URL có dạng:

//sandbox.vnpayment.vn/paymentv2/vpcpay.html?vnp_Amount=1806000&vnp_Command=pay&vnp_CreateDate=20210801153333&vnp_CurrCode=VND&vnp_IpAddr=127.0.0.1&vnp_Locale=vn&vnp_OrderInfo=Thanh+toan+don+hang+%3A5&vnp_OrderType=other&vnp_ReturnUrl=https%3A%2F%2Fdomainmerchant.vn%2FReturnUrl&vnp_TmnCode=DEMOV210&vnp_TxnRef=5&vnp_Version=2.1.0&vnp_SecureHash=3e0d61a0c0534b2e36680b3f7277743e8784cc4e1d68fa7d276e79c23be7d6318d338b477910a27992f5057bb1582bd44bd82ae8009ffaf6d141219218625c42

Danh sách tham số

Tham sốKiểu dữ liệuBắt buộc/Tùy chọnMô tả
vnp_Version Alphanumeric[1,8] Bắt buộc Phiên bản api mà merchant kết nối. Phiên bản hiện tại là : 2.0.1 và 2.1.0
vnp_Command Alpha[1,16] Bắt buộc Mã API sử dụng, mã cho giao dịch thanh toán là: pay
vnp_TmnCode Alphanumeric[8] Bắt buộc Mã website của merchant trên hệ thống của VNPAY. Ví dụ: 2QXUI4J4
vnp_Amount Numeric[1,12] Bắt buộc Số tiền thanh toán. Số tiền không mang các ký tự phân tách thập phân, phần nghìn, ký tự tiền tệ. Để gửi số tiền thanh toán là 10,000 VND [mười nghìn VNĐ] thì merchant cần nhân thêm 100 lần [khử phần thập phân], sau đó gửi sang VNPAY là: 1000000
vnp_BankCode Alphanumeric[3,20] Tùy chọn Mã Ngân hàng thanh toán. Ví dụ: NCB
vnp_CreateDate Numeric[14] Bắt buộc Là thời gian phát sinh giao dịch định dạng yyyyMMddHHmmss[Time zone GMT+7]Ví dụ: 20170829103111
vnp_CurrCode Alpha[3] Bắt buộc Đơn vị tiền tệ sử dụng thanh toán. Hiện tại chỉ hỗ trợ VND
vnp_IpAddr Alphanumeric[7,45] Bắt buộc Địa chỉ IP của khách hàng thực hiện giao dịch. Ví dụ: 13.160.92.202
vnp_Locale Alpha[2,5] Bắt buộc Ngôn ngữ giao diện hiển thị. Hiện tại hỗ trợ Tiếng Việt [vn], Tiếng Anh [en]
vnp_OrderInfo Alphanumeric[1,255] Bắt buộc Thông tin mô tả nội dung thanh toán [Tiếng Việt, không dấu]. Ví dụ: **Nap tien cho thue bao 0123456789. So tien 100,000 VND**
vnp_OrderType Alpha[1,100] Tùy chọn Mã danh mục hàng hóa. Mỗi hàng hóa sẽ thuộc một nhóm danh mục do VNPAY quy định. Xem thêm bảng Danh mục hàng hóa
vnp_ReturnUrl Alphanumeric[10,255] Bắt buộc URL thông báo kết quả giao dịch khi Khách hàng kết thúc thanh toán. Ví dụ: //domain.vn/VnPayReturn
vnp_TxnRef Alphanumeric[1,100] Bắt buộc Mã tham chiếu của giao dịch tại hệ thống của merchant. Mã này là duy nhất dùng để phân biệt các đơn hàng gửi sang VNPAY. Không được trùng lặp trong ngày. Ví dụ: 23554
vnp_SecureHash Alphanumeric[32,256] Bắt buộc Mã kiểm tra [checksum] để đảm bảo dữ liệu của giao dịch không bị thay đổi trong quá trình chuyển từ merchant sang VNPAY. Việc tạo ra mã này phụ thuộc vào cấu hình của merchant và phiên bản api sử dụng. Phiên bản hiện tại hỗ trợ SHA256, HMACSHA512.

Lưu ý

  • Dữ liệu checksum được thành lập dựa trên việc sắp xếp tăng dần của tên tham số [QueryString]
  • Số tiền cần thanh toán nhân với 100 để triệt tiêu phần thập phân trước khi gửi sang VNPAY
  • vnp_BankCode: Giá trị này tùy chọn.
    - Nếu bỏ trống, khách hàng sẽ chọn Ngân hàng thanh toán tại VNPAY.
    - Nếu thiết lập giá trị [chọn Ngân hàng thanh toán tại Website TMĐT], Tham khảo giá trị tại Bảng mã Ngân hàng
  • Trong URL thanh toán có tham số vnp_ReturnUrl là URL thông báo kết quả giao dịch khi Khách hàng kết thúc thanh toán

Code cài đặt

  • PHP
  • C#
  • Python
  • Java
  • NodeJS

Chủ Đề