Code IPN URL
https://checkout.vn/pay/success?cko_order_code=315&cko_status=1&cko_money=100000&cko_revenue=99000&cko_pay_fee=1000&cko_pay_gate=Onepay&cko_transaction=e53636
&cko_security=62497536dc64836eef211d7d21f2e90f7f66f8a55de694668a1a59f5a2eb694fe0130895bc68faa89a45c2437e1297b7c31a6d6bdf5f25d1778547049a2fba6f
Đây là địa chỉ để nhận kết quả thanh toán từ Checkout. Kết nối hiện tại sử dụng phương thức GET
Trên URL Checkout gọi về có mang thông tin thanh toán để căn cứ vào kết quả đó Website TMĐT xử lý các bước tiếp theo (ví dụ: cập nhật kết quả thanh toán vào Database …)
Url đơn hàng thanh toán thành công
Tham số |
Kiểu dữ liệu |
Bắt buộc/Tùy chọn |
Mô tả |
cko_order_code |
String |
Bắt buộc |
Mã đơn hàng của đối tác |
cko_status |
Number |
Bắt buộc |
Mã phản hồi kết quả thanh toán. Quy định mã trả lời status = 1 ứng với kết quả Thành công cho tất cả các API. |
cko_money |
Double |
Bắt buộc |
Số tiền cần thanh toán |
cko_revenue |
Double |
Bắt buộc |
Số tiền thực nhận sau khi thanh toán |
cko_pay_fee |
Double |
Bắt buộc |
Phí giao dịch khi thanh toán |
cko_pay_gate |
String |
Bắt buộc |
Cổng thanh toán |
cko_transaction |
String |
Không bắt buộc |
Mã giao dịch từ cổng thanh toán |
subscription_id |
String |
Không bắt buộc |
Mã subscription từ cổng thanh toán(stripe) |
subscription_expired_at |
String |
Không bắt buộc |
Thời hạn subscription từ cổng thanh toán(stripe) |
cko_security |
String |
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ừ Checkout về Website |
* IPN URL: Ghi nhận kết quả thanh toán từ Checkout
* Các bước thực hiện:
* Kiểm tra checksum
$cko_shop_key = API_KEY // Lấy giá trị api key tại đây
$cko_SecureHash = $get['cko_security'];
$inputData = array();
foreach ($get as $key => $value) {
if (substr($key, 0, 4) == "cko_") {
$inputData[$key] = $value;
}
}
unset($inputData['cko_security']);
ksort($inputData);
$hashData = http_build_query($inputData);
$secureHash = hash_hmac('sha512', $hashData, $cko_shop_key);
if ($secureHash == $cko_SecureHash) {
// Kiểm tra số tiền giữa hai hệ thống
// Kiểm tra tình trạng của giao dịch trước khi cập nhật
// Cập nhật kết quả
}
Url đơn hàng thanh toán không thành công
Tham số |
Kiểu dữ liệu |
Bắt buộc/ Tùy chọn |
Desc |
cko_status |
Number |
Bắt buộc |
Mã phản hồi kết quả thanh toán. Quy định mã trả lời status = 3 ứng với kết quả không thành công cho tất cả các API. |
cko_order_code |
String |
Bắt buộc |
Mã đơn hàng của đối tác |
message |
String |
Không bắt buộc |
Tin nhắn thông báo lỗi |