Tích hợp VNPay
Trở lại ezypayment
Tạo loại tiền VNĐ bằng cách truy cập vào admin và lựa chọn menu E-Commerce > Currencies
, nhấn nút tạo và sau đó điền các thông tin như sau:

Môi trường sandbox
Để có thể tích hợp môi trường sandbox bạn sẽ cần tạo một ngân hàng có tên NCB bằng cách truy cập vào admin và tìm đến menu E-Commerce > Banks
, nhấn nút tạo, sau đó điền các thông tin như sau:

Tích hợp môi trường sandbox tương đối đơn giản. Bạn vào giao diện admin, tìm đến menu E-Commerce > Payment Services
. Sau đó chọn thay đổi VNPay từ danh sách và điền các thông tin như sau:
- Name: VNPay.
- Version: 2.1.0.
- Bank: Bạn hãy lựa chọn NCB.
- Currency: Bạn hãy lựa chọn tiền VNĐ.
- Service URL: Bạn hãy điền: https://sandbox.vnpayment.vn/paymentv2/vpcpay.html
- Service API URL: Bạn hãy điền https://sandbox.vnpayment.vn/merchant_webapi
- Callback URL: Bạn hãy để mặc định.
- Client key: Bạn có thể là:
DEMOV210
. - Secret key: Bạn có tạo một chuỗi ngẫu nhiên.
- Status: Bạn lựa chọn
Activated
.
Bạn hãy lưu lại, sau đó thử checkout một đơn hàng sẽ thấy có thêm lựa chọn thanh toán là VNPay. Hãy lựa chọn thanh toán qua VNPay sau đó sử dụng tài khoản sau để thanh toán:
Ngân hàng: NCB Số thẻ: 9704198526191432198 Tên chủ thẻ:NGUYEN VAN A Ngày phát hành:07/15 Mật khẩu OTP:123456
Hoặc bạn có thể lựa chọn bất kỳ tài khoản nào tại đây.
Môi trường thật
Tích hợp môi trường thật tương đối phức tạp, bạn sẽ cần ký hợp đồng với VNPay và tích hợp cùng với đội ngũ kỹ thuật thông qua một loạt các bước.
Các bước để ký được hợp đồng.
1. Đầu tiên bạn phải là một doanh nghiệp có pháp nhân.
2. Bạn hãy để lại thông tin liên hệ tại đây. Sau đó chờ đợi nhân viên của VNPay liên lạc với bạn qua email.
3. Nhân viên của VNPay sẽ gửi cho bạn email kèm theo Mẫu đăng ký sử dụng dịch vụ
và Hợp đồng sử dụng dịch vụ
. Bạn sẽ cần điền cả hai mẫu này, ký, đóng dấu và gửi cho họ. Lưu ý rằng ở bước này VNPay yêu cầu rất nhiều thứ để xác minh doanh nghiệp của bạn, từ chụp ảnh, quay phim văn phòng, giấy phép đăng ký kinh doanh, chứng minh sở hữu tên miền ... Bạn nên đưa hết các tập tin vào một nơi ví dụ một folder google driver và chia sẻ cho họ. Ngoài ra website của bạn cũng phải mặc định thanh toán là tiền VNĐ, hiển thị đầy đủ thông tin doanh nghiệp như địa chỉ, mã số thuế tại chân website thì mới được chấp nhận.
4. Sau khi ký được hợp đồng thì nhân viên của VNPay sẽ gửi cho bạn một email về thông tin môi trường sandbox và khởi tạo một nhóm chat Skype, bạn hãy tham gia vào nhóm này để bắt đầu đến bước tích hợp kỹ thuật.
Các bước tích hợp kỹ thuật
1. Bạn sẽ cần triển khai ezyplatform lên một server nào đó, có tên miền và kết nối https, giả sử là example.com
.
2. Sau khi nhận được thông tin về môi trường sandbox được gửi qua email bạn hãy tìm đến menu E-Commerce > Payment Services
của example.com
. Sau đó chọn thay đổi VNPay từ danh sách và điền các thông tin như sau:
- Name: VNPay.
- Version: 2.1.0.
- Bank: Bạn hãy lựa chọn NCB.
- Currency: Bạn hãy lựa chọn tiền VNĐ.
- Service URL: Bạn hãy điền: https://sandbox.vnpayment.vn/paymentv2/vpcpay.html
- Service API URL: Bạn hãy điền https://sandbox.vnpayment.vn/merchant_webapi
- Callback URL: Bạn hãy để mặc định.
- Client key: Là mã định danh
vnp_TmnCode
bạn nhận được trong email. - Secret key: Là mã bảo mật
secretKey
bạn nhận được trong email. - Status: Bạn lựa chọn
Activated
.
Hãy lưu lại.
3. Bây giờ hãy đăng nhập vào url: https://sandbox.vnpayment.vn/vnpaygw-sit-testing/order/instruction. Sử dụng tên đăng nhập và mật khẩu bạn nhận được trong email thông tin môi trường sandbox.
4. Hay truy cập vào phần cấu hình IPN url https://sandbox.vnpayment.vn/vnpaygw-sit-testing/ipn. Giả sử tên miền của bạn là example.com thì hãy điền giá trị của IPN là: https://example.com/payment/verify/VNPAY
và lưu lại.
5. Kiểm thử, bước này cực kỳ khó hiểu nên bạn hãy tập trung nhé, hãy đọc thật kỹ hướng dẫn này trước khi bắt đầu và hãy ghi nhớ thật kỹ.
- Bạn phải thực hiện tạo mới 2 giao dịch tới bước OTP thì dừng lại. Để có dữ liệu tạo case test.
- Bạn phải test đến khi nào tất cả các test thành công thì mới được.
- Bạn hãy ghi nhớ order Id và thời gian nhấn nút test để lúc nghiệm thu có thể xem logs tại nginx và điền vào biên bản nghiệm thu.
6. Sau khi kiểm thử xong hãy thông báo cho đội kỹ thuật của VNPay trong nhóm Skype.
7. Đội ngũ kỹ thuật của VNPay sẽ kiểm tra, nếu không có vấn đề gì họ sẽ gửi cho bạn các IP và yêu cầu bạn thêm vào white list, các IP có thể là:
Môi trường sandbox: 113.160.92.202
.
Môi trường production:
113.52.45.78 116.97.245.130 42.118.107.252 113.20.97.250 203.171.19.146 103.220.87.4 103.220.86.4
8. Bạn sẽ cần cài EzyDefence, kích hoạt, khởi động lại và sau đó di chuyển đến menu EzyDefence > Whitelist
và bổ sung thêm môt bản ghi chứa tất cả các IP ở trên thế này:

9. Quay trở lại nhóm skype và thông báo cho đội ngũ kỹ thuật của VNPay để họ xác nhận rằng các IP ngoài whitelist không thể gọi được API.
10. Nếu không có vấn đề gì họ sẽ gửi cho bạn một biên bản nghiệm thu, hãy điền các thông tin cần thiết, ký, đóng dấu và gửi cho họ.
11. Sau khi nhận được biên bản nghiệm thu, họ sẽ gửi cho bạn một email khác có chứa thông tin của môi trường thật.
12. Bạn sẽ cần tạo một ngân hàng có tên VNPAYQR bằng cách truy cập vào admin và tìm đến menu E-Commerce > Banks
, nhấn nút tạo, sau đó điền các thông tin như sau:

Hãy lưu ý để trạng thái là Archived
để tránh hiển thị ngân hàng ra giao diện website cho người dùng cuối.
13. Cập nhật lại thông tin của cài đặt VNPay bằng cách quay lại menu E-Commerce > Payment Services
của example.com
. Sau đó chọn thay đổi VNPay từ danh sách và điền các thông tin như sau:
- Name: VNPay.
- Version: 2.1.0.
- Bank: Bạn hãy lựa chọn VNPAYQR.
- Currency: Bạn hãy lựa chọn tiền VNĐ.
- Service URL: Bạn hãy điền: https://pay.vnpay.vn/vpcpay.html
- Service API URL: Bạn hãy điền https://pay.vnpay.vn/merchant_webapi
- Callback URL: Bạn hãy để mặc định.
- Client key: Là mã định danh
vnp_TmnCode
bạn nhận được trong email môi trường thật. - Secret key: Là mã bảo mật
secretKey
bạn nhận được trong email môi trường thật. - Status: Bạn lựa chọn
Activated
.
14. Hãy thử kiểm tra lại bằng cách tạo một giao dịch thật với một số tiền nhỏ.
Chúc mừng bạn đã tích hợp thành công VNPay!