Quy trình tích hợp giỏ hàng trên BaoKim.vn

URL : https://www.baokim.vn/payment/order/version11
Method : GET
1. Website merchant tạo thông tin đơn hàng gửi sang BaoKim.vn

    Tên trường

   Kiểu dữ liệu

 Bắt buộc  

   order_id

   String(45)

Y

Mã đơn hàng thanh toán submit lên baokim.vn

business

Email – string(45)

Y

Email tài khoản nhận thanh toán đăng ký trên baokim.vn

total_amount

double

Y

Giá trị đơn hàng

shipping_fee

double

N

Phí vận chuyển

tax_fee

double

N

thuế

order_description

string(300)

N

Mô tả đơn hàng

url_success

URL - string(255)

Y

Địa chỉ nhận kết quả trả về từ baokim.vn để cập nhật thông tin thanh toán vào đơn hàng

url_cancel

URL – string(255)

N

Địa chỉ trả về khi người thanh toán click vào link Từ chối thanh toán

url_detail

URL – string(255)

N

Địa chỉ chứa thông tin chi tiết về đơn hàng trên website tích hợp

Checksum

String

Y

Chuỗi bảo mật tránh giả mạo thông tin (cách thức tạo ghi ở bên dưới)

currency

String

N

Loại tiền tệ sử dụng thanh toán

2. Bảo Kim verify thông tin gửi sang, hiển thị trang thanh toán cho người mua thực hiện thanh toán
3. GD thành công, Bảo Kim tiến hành redirect về website merchant theo đường dẫn trong biến url_success trong đơn hàng

 order_id

String(45)

 Y 

Mã hóa đơn thanh toán submit lên baokim.vn

transaction_id

String(13)

 Y 

Mã giao dịch thanh toán trên baokim.vn

created_on

Integer

 Y 

Thời điểm tạo giao dịch trên hệ thống baokim.vn. Tính bằng số giây kể từ thời điểm 1/1/1970 12:00 AM (ví dụ 1283220985 = 31-08-2010:16:25 AM)

payment_type

Integer

 Y 

Hình thức thanh toán: 1: thanh toán trực tiếp, 2: thanh toán an toàn

transaction_status

Integer

 Y 

Trạng thái giao dịch

total_amount

Double

Y

Tổng số tiền người mua thanh toán (có thể bao gồm thêm phí khi thanh toán qua internet banking, phí chuyển tiền…)

net_amount

Double

Y

Số tiền người bán thực nhận

fee_amount

Double

Y

Phí dịch vụ baokim thu

merchant_id

Integer

Y

Mã website tích hợp

payer_name

String(100)

Y

Tên người thanh toán

payer_email

String(45)

Y

Email người thanh toán

payer_phone_no

String(45)

Y

Số điện thoại người thanh toán

shipping_address

String(255)

N

Địa chỉ người thanh toán

Checksum

String(32)

Y

Chuỗi bảo mật tránh giả mạo thông tin (cách thức tạo ghi ở bên dưới)

Trạng thái giao dịch:

  • 1: giao dịch chưa xác minh OTP
  • 2: giao dịch đã xác minh OTP
  • 4: giao dịch hoàn thành
  • 5: giao dịch bị hủy
  • 6: giao dịch bị từ chối nhận tiền
  • 7: giao dịch hết hạn
  • 8: giao dịch thất bại
  • 12: giao dịch bị đóng băng
  • 13: giao dịch bị tạm giữ (thanh toán an toàn)
  • X: các trạng thái giao dịch khác
4. Website merchant tiến hành kiểm tra chuỗi bảo mật checksum trong thông tin trả về theo url_success từ Bảo Kim

1.    tiến hành lưu thông tin GD nếu kiểm tra mã checksum thành công(LƯU Ý: không hoàn thành đơn hàng)

2.    không xử lý đơn hàng nếu kiểm tra mã checksum không thành công

5. Website merchant nhận BPN bắn sang từ Bảo Kim (theo đường dẫn do website merchant quy định), tiến hành các xử lý sau

1.    Đối soát thông tin về mã gd, mã đơn hàng, số tiền, trạng thái giao dịch… với thông tin nhận được trên url_success (bước 4)

2.    Nếu thông tin đối soát là chính xác ⇒ hoàn thành đơn hàng, giao hàng cho người mua

3.    Nếu thông tin không chính xác ⇒ kiểm tra lại giao dịch bằng tay trên BaoKim.vn

Phương pháp tạo và kiểm tra chuỗi bảo mật checksum

Tham số checksum là chuỗi bảo mật nhằm mục đích tránh giả mạo thông tin giao tiếp giữa bên Bảo Kim và bên đối tác. Checksum được tạo ra từ việc mã hóa dữ liệu giao tiếp giữa 2 bên, 1 khóa bí mật 2 bên thống nhất với nhau nhằm đảm bảo:

1.    Thông tin được gửi đi/đến từ đúng đối tác mong muốn

2.    Thông tin được đảm bảo tính toàn vẹn trên đường truyền, không bị giả mạo

Tạo checksum

1.    Sắp xếp mảng tham số giao tiếp giữa 2 bên theo tên trường tham số (key sort)

2.    Tạo dữ liệu chuẩn bị mã hóa bằng cách ghép xâu (viết liền không có dấu ngăn cách) các giá trị tham số theo thứ tự đã sắp xếp ở trên (giatri1 – giatri2 - …)

3.    Tạo checksum bằng cách sử dụng phương pháp mã hóa HMAC với giải thuật SHA1 trên dữ liệu được tạo ra ở bước trên và khóa bí mật giữa 2 bên

Kiểm tra checksum

1.    Sắp xếp mảng tham số nhận được từ phía đối tác theo tên trường tham số (key sort)

2.    Tạo dữ liệu chuẩn bị mã hóa bằng cách ghép xâu (viết liền không có dấu ngăn cách) các giá trị tham số theo thứ tự đã sắp xếp ở trên (giatri1 – giatri2 - …), ngoại trừ giá trị của trường tham số checksum

3.    Tạo checksum bằng cách sử dụng phương pháp mã hóa HMAC với giải thuật SHA1 trên dữ liệu được tạo ra ở bước trên và khóa bí mật giữa 2 bên

4.    So sánh checksum được tạo ra với checksum nhận được trên tham số, nếu hai giá trị này không giống hệt nhau nghĩa là dữ liệu không đảm bảo độ tin cậy, trong trường hợp này cần phải dừng mọi xử lý tiếp theo. 

 

Tích hợp miễn phí ngay

Kỹ thuật

    5
  • Vũ Như Long
  • 0988404580

Kinh doanh

    1
  • Nguyễn Phương Dung
  • 0973132671
    2
  • Nguyễn Đăng Hiếu
  • 0979303590
    3
  • Trần Văn Toàn
  • 0901210555
    4
  • Lê Quỳnh Trang
  • 0982697992