Bước 1: Mở website đang chạy thật (tích hợp version 1.0). Lấy các thông số
MerchantID, Accesscode, Hashcode (SECURE_SECRET) gửi lại cho OnePAY (vào mail:
[email protected] ) để nhận được thông
tin
tài khoản thật của phiên bản version 2.0.
Bước 2: Trong module đang chạy thật tìm đến form thanh toán. Update giá trị
của
đối số vpc_Version từ
"1" thành
"2" .
Bước 3: Tải module Nội địa PHP v2.0 xuống tại
đây ,
module Quốc tế PHP v2.0 xuống tại
đây
Bước 4: Mở file do.php trên website đang chạy thật (tích hợp version 1.0).
Update các hàm giống file do.php của version 2.0. Cụ thể:
- Khởi tạo chuỗi dữ liệu mã hóa giá trị trống
//$md5HashData = $SECURE_SECRET;
$md5HashData = "";
- Sử dụng cả tên và giá trị tham số để mã hóa thay vì chỉ sử dụng giá trị
//$md5HashData .= $value;
if ((strlen($value) > 0) && ((substr($key, 0,4)=="vpc_") || (substr($key,0,5) =="user_"))) {
$md5HashData .= $key . "=" . $value . "&";
}
- Thêm hàm để xóa ký tự & ở thừa ở cuối chuỗi dữ liệu mã hóa
$md5HashData = rtrim($md5HashData, "&");
- Thay hàm mã hóa dữ liệu
//$vpcURL .= "&vpc_SecureHash=" . strtoupper(md5($md5HashData));
$vpcURL .= "&vpc_SecureHash=" . strtoupper(hash_hmac('SHA256', $md5HashData, pack('H*',$SECURE_SECRET)));
Bước 5: Mở file dr.php trên website đang chạy thật (tích hợp version 1.0).
Update các hàm giống file dr.php của version 2.0. Cụ thể:
- Khởi tạo chuỗi dữ liệu mã hóa giá trị trống
//$md5HashData = $SECURE_SECRET;
$md5HashData = "";
- Sử dụng cả tên và giá trị tham số để mã hóa thay vì chỉ sử dụng giá trị
// if ($key != "vpc_SecureHash" or strlen($value) > 0) {
// $md5HashData .= $value;
// }
if ($key != "vpc_SecureHash" && (strlen($value) > 0) && ((substr($key, 0,4)=="vpc_") || (substr($key,0,5)
=="user_"))) {
$md5HashData .= $key . "=" . $value . "&";
}
- Thêm hàm để xóa ký tự & ở thừa ở cuối chuỗi dữ liệu mã hóa
$md5HashData = rtrim($md5HashData, "&");
- Thay hàm mã hóa dữ liệu
// if (strtoupper ( $vpc_Txn_Secure_Hash ) == strtoupper ( md5 ( $md5HashData ) )) {
if (strtoupper ( $vpc_Txn_Secure_Hash ) == strtoupper(hash_hmac('SHA256', $md5HashData,
pack('H*',$SECURE_SECRET))))
{
Bước 6: Cập nhận lại giá trị thông số SECURE_SECRET do OnePAY gửi lại vào file
do.php
và file
dr.php.
Bước 7: Deploy website trên web server. Khởi động lại web server (Apache
Server)
thử test lại quá trình thanh toán.
Thank you