TÀI LIỆU SCI

  1. Trước hết để sử dụng SCI bạn phải tạo thông tin kết nối SCI tại https://www.vnkash.com/sci.html.
  2. GIẢI THÍCH CÁC THAM SỐ TRONG SCI:
    1. Tên: Tên này sẽ được hiển thị như tên cửa hàng khi khách hàng tiến hành thanh toán cho bạn.
    2. Khóa Bí Mật: Khóa này được dùng để xác thực dữ liệu gửi về từ VNKash.com đến trang xử lý thông tin của bạn.
    3. URL: Các liên kết để điều hướng khách hàng trong quá trình thanh toán. Sẽ nói chi tiết hơn ở các bước sau.
    4. Ghi Đè URL: Dùng kết hợp vơi tham số URL + Method để tạo điều hướng tốt nhất cho khách hàng của bạn.
    5. Thuật Toán: Thuật toán để giao tiếp giữa dịch vụ của bạn và VNKash.com
    6. Bảo Mật: Đảm bảo dữ liệu đầu vào không bị sửa đổi.
    7. Trạng Thái: Trạng thái của cổng thanh toán.
  3. BƯỚC 1:
    1. Tạo Form để chuyển khách hàng từ dịch vụ của bạn sang VNKash.com:
    2. Mã Nguồn HTML Mẫu:
      <form action="https://sci.vnkash.com/checkout.html" method="POST">
      <input type="hidden" name="x_SCI" value="1" /><!-- Mã SCI của Bạn - Băt Buộc -->
      <input type="hidden" name="x_RECEIVER" value="84909090909" /><!-- Số Điện Thoại Người Nhận - Băt Buộc -->
      <input type="hidden" name="x_SENDER" value="84905050505" /><!-- Số Điện Thoại Người Gửi - Không Băt Buộc -->
      <input type="hidden" name="x_AMOUNT" value="10000" /><!-- Số Tiền - Băt Buộc -->
      <input type="hidden" name="x_CURRENCY" value="VND" /><!-- Mã Tiền Tệ - Băt Buộc -->
      <input type="hidden" name="x_MEMO" value="THANH TOAN DON HANG 1" /><!-- Nội Dung Giao Dịch - Băt Buộc -->
      <!-- 
      Tham số x_STATUS_URL, x_SUCCESS_URL, x_FAILURE_URL, x_STATUS_METHOD, x_SUCCESS_METHOD, x_FAILURE_METHOD sẽ không ghi nhận giá trị khi tham số Ghi Đè URL: ở SCI có giá trị là Không. Nếu các giá trị URL & Method không thay đổi bạn nên thiết lập tại SCI cùng với tham số Ghi Đè URL: có giá trị bằng Không.
      -->
      <input type="hidden" name="x_STATUS_URL" value="https://www.demo.com/status.php" />
      <input type="hidden" name="x_SUCCESS_URL" value="https://www.demo.com/success.html" />
      <input type="hidden" name="x_FAILURE_URL" value="https://www.demo.com/failure.html" />
      <input type="hidden" name="x_STATUS_METHOD" value="POST" />
      <input type="hidden" name="x_SUCCESS_METHOD" value="LINK" />
      <input type="hidden" name="x_FAILURE_METHOD" value="LINK" />
      <!-- 
      Các tham số thêm vào. Bắt đầu bằng x_
      -->
      <input type="hidden" name="x_ORDER" value="1" /><!-- Mã Đơn Hàng Của Đối Tác - Không Băt Buộc -->
      
      <input type="hidden" name="x_SIGNATURE" value="403a503f1b49ec1cfd7ed3823363d28d" />
      <!-- Khóa Mã Hóa Đảm Bảo Dữ Liệu Đầu Vào -->
      
      <input type="submit" value=" Thanh Toán ">
      </form>
    3. Cách Tính x_SIGNATURE: Tham số này được tạo ra và chỉ có tác dụng khi tham số Bảo Mật ở Bước 1 nhận giá trị là Có.
      Giá trị này được tính bằng cách mã hóa chuỗi giá trị các tham số nhận được từ form gửi dữ liệu, các giá trị được nối với nhau bằng dấu:( hai chấm ), giá trị được nối với nhau theo thứ tự khóa trong mảng tăng dần và sử dụng bằng thuật toán chọn ở Bước 1.
      Không lấy giá trị các tham số x_STATUS_URL, x_SUCCESS_URL, x_FAILURE_URL, x_STATUS_METHOD, x_SUCCESS_METHOD, x_FAILURE_METHOD để tính x_SIGNATURE.
    4. Mã Nguồn Tính x_SIGNATURE Mẫu:
      <php
      $_POST['x_SCI'] = 1;
      $_POST['x_RECEIVER'] = '840909090909';
      $_POST['x_CURRENCY']= 'VND';
      $_POST['x_MEMO']= 'THANH TOAN DON HANG 1';
      $_POST['x_AMOUNT'] = 10000;
      $_POST['x_ORDER'] = 1;
      
      $_POST['x_SECRECT'] = 'ABC123';
      
      ksort($_POST);
      
      $_POST['x_SIGNATURE'] = md5(implode(':',$_POST));
      ?>
  4. BƯỚC 2:
    1. Tạo trang xử lý dữ liệu từ VNKash.com gửi về:
    2. Mẫu dữ liệu trả về cho ví dụ trên:
      x_SCI = 1;
      x_RECEIVER => '84909090909';
      x_SENDER => '84905050505';
      x_AMOUNT => 10000;
      x_CURRENCY => 'VND';
      x_MEMO => 'THANH TOAN DON HANG 1';
      x_ORDER => 1;
      x_BATCH => '567BB5C0B8515';
      x_DATE => '24/12/2015 16:07';
      x_HASH => 'cd9a36541a30107b9dc7729e174a5195';
      x_SIGNATURE => '403a503f1b49ec1cfd7ed3823363d28d';
    3. Trang xử lý dữ liệu từ VNKash.com gửi về được khai báo ở mục SCI > URL > Trạng Thái hoặc có thể khai báo tại Form chuyển khách hàng ở BƯỚC 1 khi tham số Ghi Đè URL có giá trị là Có. Trang này sẽ chỉ nhận được dữ liệu khi khách hàng thanh toán thành công.
    4. Mã Nguồn PHP Mẫu:
      <?php
      	$_POST['x_SECRECT'] = 'abc123';			// Thêm Field x_SECRECT //
      	$Hash = $_POST['x_HASH'];			// Lưu Tạm Biến x_HASH //
      	unset($_POST['x_HASH']);			// Xóa Biến $_POST['x_HASH'] //
      	
      	ksort($_POST);					// Sắp Xếp Theo Khóa Tăng Dần 0->9 A->Z //
      	
      	if($Hash == md5(implode(':',$_POST)))		// Kiểm Tra x_HASH //
      	{
      		if($_POST['x_CURRENCY'] == 'VND')	// Kiểm Tra Đơn Vị Tiền Tệ //
      		{
      			if($_POST['x_AMOUNT'] >= 10000)
      			{
      				// Mã Xử Lý Giao Dịch Thành Công //
      			}
      			else
      			{
      				// Số Tiền Không Đủ //
      			}
      		}
      		else
      		{
      			// Loại Tiền Tệ Không Đúng //
      		}
      	}
      	else
      	{
      		// $_POST['x_HASH'] Không Đúng //
      	}
      ?>
  5. BƯỚC 3:
    1. Tạo trang xử lý khi khách hàng thanh toán thành công:
    2. Trang này được thiết kể để khách hàng sẽ được chuyển đến khi thanh toán thành công. Tùy theo phương thức được thiết lập mà trang này sẽ nhận được dữ liệu hay không.
    3. Phương Thức: LINK - Không nhận dữ liệu.
    4. Phương Thức: GET & POST - Nhận dữ liệu như trang trạng thái.
    5. Mã Nguồn HTML Mẫu:
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <title>Thanh toan thanh cong !</title>
      </head>
      
      <body>
      <center>Giao dich thanh cong !</center>
      </body>
      </html>
  6. BƯỚC 4:
    1. Tạo trang xử lý khi khách hàng thanh toán không thành công:
    2. Trang này được thiết kể để khách hàng sẽ được chuyển đến khi thanh toán không thành công. Tùy theo phương thức được thiết lập mà trang này sẽ nhận được dữ liệu hay không.
    3. Phương Thức: LINK - Không nhận dữ liệu.
    4. Phương Thức: GET & POST - Nhận dữ liệu lúc khởi tạo giao dịch.
    5. Mã Nguồn HTML Mẫu:
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      
      
      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <title>Thanh toan khong thanh cong !</title>
      </head>
      
      <body>
      <center>Giao dich khong thanh cong !</center>
      </body>
      </html>
  7. MÃ NGUỒN MẪU: PHP - Tải Về