I. Sự cần thiết của đề tài:
3.2 Đề xuất hoàn thiện và phát triển website cho công ty cổ phần công nghệ
3.2.1 Hoàn thiện và phát triển chức năng:
Chức năng thanh tốn:
Website của cơng ty hiện tại chưa có chức năng thanh tốn,chức năng này rất quan trọng nếu muốn website đó trở thành website TMĐT
Tích hợp Payment Pro của Baokim.vn nhằm giúp khách hàng tiện lợi,tiết kiệm thời gian hơn trong việc giao dịch,thanh tốn khi mua sản phẩm của cơng ty ngay trên website.Tơi đã tìm hiểu cụ thể những hướng dẫn mà Baokim.vn gửi tới các đối tác nhằm tạo ra chức năng thanh toán trên website của các đối tác:
Giới thiệu
Hệ thống thanh tốn Tích hợp Pro cho phép các lập trình viên tích hợp hệ thống thanh tốn chấp nhận thẻ ngân hàng trực tiếp trên website Thương mại điện tử của người bán, do đó người mua sẽ chọn phương thức thanh tốn trực tiếp trên site của người bán mà khơng có sự xuất hiện của Bảo Kim, phương thức tích hợp Pro giúp người bán đem lại cho người mua trả nghiệm thân thiện và đơn giản.
Sơ đồ tích hợp
Hình 9.Sơ đồ tích hợp Payment Pro của Baokim
Mơ tả về API lấy danh sách ngân hàng
API lấy danh sách ngân hàng được sử dụng để lấy danh sách các ngân hàng mà người bán đang được cung cấp để thanh tốn đơn hàng của mình.
Địa chỉ Webservices: /payment/rest/payment_pro_api/get_seller_info Request method: Get
Dữ liệu trả về
{
"seller_account": { //===THÔNG TIN TÀI KHOẢN NGƯỜI BÁN=== "id": "1000005", //mã tk
"email": "1@bk.vn", //email tk
"phone_no": "84943972259", //phone no "name": "Firzen Le", //tên tk
"company_name": "", //tên cty (nếu có) "account_type_id": "2",
"status": "Đã xác thực", //trạng thái tài khoản "balance": "5329190.00", "freeze_balance": "524823422.96", "point": "2315000.00", "freeze_point": "0.00", "km1": 0, "freeze_km1": 0,
"account_type": "Doanh nghiệp" //loại tài khoản },
"bank_payment_methods": [ //===DANH SÁCH PHƯƠNG THỨC THANH TOÁN NGÂN HÀNG===
{
"id": "48", //mã (bank_payment_method_id) "complete_time": "5 -10 ", //thời gian hoàn thành "payment_method_type": "5", //loại phương thức "next_action": "display_guide",
"name": "Ngân hàng Đông Nam Á", //tên phương thức "bank_id": "101",
"fix_fee": "0.00", //phí cố định (ngân hàng) "percent_fee": "0.00", //phí % (ngân hàng)
"min_fee": "0.00", //giới hạn mức sàn phí giao dịch (0 là khơng có giới hạn) "max_fee": "0.00", //giới hạn mức trần phí giao dịch (0 là khơng có giới hạn) "fee_currency_code": "VND", //đơn vị tiền tệ tính phí
"fee_configs": [ {
"bank_payment_method_id": "48", // Mã phương thức thanh toán "amount_from": "0.00", //Số tiền thanh toán từ
"amount_to": "0.00", //Số tiền thanh toán đến "fix_fee": "0.00", //Phí cố định
"percent_fee": "0.00", //Phí phần trăm theo giao dịch "min_fee": "0.00", "max_fee": "0.00", "fee_currency_code": "VND" } ], "logo_url": "http://kiemthu.baokim.vn/banks/seabank_1268290352.jpg" }, ... ] }
Mô tả về API thanh toán qua thẻ ngân hàng
API thanh toán qua thẻ ngân hàng là api được gọi khi website của khách hàng cần thanh tốn cho một đơn hàng thơng qua hệ thống của Bảo Kim.
Địa chỉ Webservices: /payment/rest/payment_pro_api/pay_by_card Request method: POST
Tham số đầu vào
Dữ liệu trả về
HTTP status code 200 - thành cơng
Kết quả trả về thành cơng, phía client cần xử lý 2 khả năng sau đây:
TH1: next_action==redirect: người dùng sử dụng phương thức thanh toán online trên ngân hàng cần phải redirect sang ngân hàng/cổng thanh toán trung gian:⇒
{
"redirect_url": "https://www.baokim.vn/thanh-toan/bank?rvid=1005292", "rv_id":"100001" //Mã phiếu thu
}
TH2: next_action==display_guide: người dùng sử dụng phương thức thanh tốn thủ cơng (vd: chuyển khoản ngân hàng, …) hệ thống cần hiển thị hướng dẫn nạp tiền cho khách
{
"next_action": "display_guide", //Hiển thị hướng dẫn nạp tiền
"guide_url": "https://www.baokim.vn/thanh-toan/guide/ib?oid=1962", "rv_id":"100002" //Mã phiếu thu
}
Đối với trường hợp 1 khi giao dịch 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
HTTP status code khác 200 - error
{
"error": "thông điệp lỗi", "error_code": "0xF00" //mã lỗi }
Mô tả về API kiểm tra trạng thái đơn hàng
Request method: Get
Tham số đầu vào
Hướng dẫn tạo checksum
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)
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 - …)
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
Dữ liệu trả về
Các bước tích hợp sử dụng ngơn ngữ PHP
Truy cập vào phần đăng ký tích hợp website để đăng ký tích hợp website, sau đó truy cập vào phần Đăng ký tài khoản Pro và làm theo các bước sau:
Thông tin bắt buộc bao gồm: Email Người bán
Tên đăng nhập
IP máy chủ (IP máy chủ là địa chỉ IP của máy chủ chứa website của bạn) Mã Website (Được cung cấp khi đăng ký tích hợp website thành cơng) Tên người bán
Địa chỉ Website Public Key
Lấy thơng tin tích hợp
Để có thể tiến hành tích hợp phương thức thanh tốn Pro các bạn cần có những thơng tin sau:
Email tài khoản người bán(EMAIL_BUSINESS)
(Là email tài khoản Bảo Kim đăng ký tích hợp website)
Mã website(MERCHANT_ID) Mật khẩu website(SECURE_PASS)
(Được hiển thị một lần khi đăng ký thành công)
Tài khoản API Username Tài khoản API Password Public key
rivate key
Tiến hành tích hợp: các bạn mở file constants.php trong thư viện tải về và điền các thông tin sau:
EMAIL_BUSINESS (Là địa chỉ email khi các bạn đăng ký tài khoản Pro)
MERCHANT_ID (Là mã website)
SECURE_PASS (Là mật khẩu website)
API_USER (Là tài khoản API Username)
API_PWD (Là tài khoản API Password)
PRIVATE_KEY_BAOKIM
Sau khi điền các thông tin trên các bạn đã có thể thanh tốn qua Bảo Kim sử dụng phương thức thanh tốn Pro.
Trên đây tơi vừa trình bày về vấn đề thêm chức năng thanh tốn cho website của cơng ty,đề nghị bộ phận quản trị website của công ty sớm thực hiện.
Khi thêm được chức năng này thì việc thanh tốn của khách hàng khi mua sản phẩm của cơng ty trở nên nhanh chóng,dễ dàng,tiết kiệm thời gian hơn rất nhiều so với phương pháp thanh tốn truyền thống.
Hiện tại trang web của cơng ty vẫn chưa có chức năng rất quan trọng này,đây là chức năng không thể thiếu đối với một website TMĐT.
Dưới đây là mã HTML của khung tìm kiếm cho website cơng ty:
Về cơ bản chỉ cần mã HTML như thế là search form cũng có thể hoạt động được. Tuy nhiên lại khơng có tính thẩm mỹ cao. Vì thế cần viết thêm vài dịng CSS để có được kết quả như mong muốn.
Đoạn CSS trên ảnh hưởng trực tiếp đến 3 đối tượng class, tôi sẽ giải thích cụ thể từng phần bên dưới.
searchform
Class này tác động đến thẻ HTML <form> cấu hình các thơng tin như viền ngồi (border) màu xanh. Căn các lề trên dưới trái phải (margin). Chiều rộng (width) và chiều cao (height) của form.
Khung nhập từ khóa, thẻ <input type=”text” />. Tạo ra một khung nhập dữ liệu chìm trong <form> searchform phía trên.
searchform input[type=submit]
Phần còn lại của bộ tìm kiếm, nút submit. Với các thông số như màu nền (background) giúp nổi nật nút này lên.
Ta có thể dùng đoạn mã hồn chỉnh bên dưới để kiểm nghiệm lại khung search này:
Đề nghị bộ phận quản trị website thêm chức năng này vào website của cơng ty. Khi có chức năng này khách hàng sẽ cảm thuận lợi hơn trong việc tìm kiếm sản phẩm họ mong muốn thơng qua các từ khóa quan trọng.