Kết nối với BankNet qua Web Services

Một phần của tài liệu Xây dựng Hệ thống Thương mại điện tử cho VNPT (Trang 73 - 78)

CHƯƠNG 1 : GIỚI THIỆU VỀ THƯƠNG MẠI ĐIỆN TỬ

4.4.1.Kết nối với BankNet qua Web Services

4.4. Xây dựng công cụ thanh toán trực tuyến cho Website Thương

4.4.1.Kết nối với BankNet qua Web Services

Hàm Send_GoodInfo(): Hàm sử dụng để gửi thơng tin đơn hàng từ

Merchant tới Banknet

o Tham số Input:

String Merchant_trans_id: Mã giao dịch của Merchant, gồm

các ký tự dạng số chiều dài 6

String Merchant_code: Mã code của Merchant String Country_code: Mã quốc gia

String Good_code: Mã đơn hàng

String Xml_description: Mô tả đơn hàng String Net_cost: Giá trị đơn hàng thực tế String Ship_fee: Phí giao hàng, nếu có String Tax:

String Url_success: đường dẫn khi giao dịch thành công String Url_fail: đường dẫn khi giao dịch thất bại

String Trans_key: md5(Merchant_trans_id + Merchant_code + Good_code + Net_cost + Ship_fee + Tax + Merchant_trans_key)

o Tham số Output: String return

Thất bại: 011|xx|md5(011 + xx + Merchant_trans_key)

Thành công: 010|lenURL|URL+md5(010+lenUrl+Url+ Merchant_trans_key )

o Giá trị trả về xx: giá trị mã lỗi trả về 01: Merchant_code không hợp lệ 02: Chuỗi mã hóa khơng hợp lệ 03: Merchant_trans_id khơng hợp lệ

04: khơng tìm thấy giao dịch trong hệ thống 11: Net_cost không hợp lệ (Phải là số nguyên) 12: Ship_fee không hợp lệ (Phải là số nguyên) 13: Tax không hợp lệ (Phải là số nguyên) 99: Lỗi kết nối

ký tự | sử dụng để phân cách các giá trị

lenURL: độ dài URL được trả về, URL được Merchant sử dụng

để redirect tới Cơng thanh tốn của BankNet.

URL + md5(010+lenUrl+Url+ Merchant_trans_key ): chuỗi URL kết hợp với chuỗi được mã hóa md5

Hàm Send_GoodInfo_Ext(): Hàm sử dụng để gửi thơng tin đơn hàng

từ Merchant tới Banknet

o Tham số Input:

String Merchant_trans_id: Mã giao dịch của Merchant gồm

các ký tự dạng số chiều dài 6

String Merchant_code: Mã code của Merchant String Country_code: Mã quốc gia

String Good_code: Mã đơn hàng

String Xml_description: Mô tả đơn hàng String Net_cost: Giá trị đơn hàng thực tế String Ship_fee: Phí giao hàng, nếu có String Tax:

String Url_success: đường dẫn khi giao dịch thành công String Url_fail: đường dẫn khi giao dịh thất bại

String Trans_key: md5(Merchant_trans_id + Merchant_code + Good_code + Net_cost + Ship_fee + Tax + Merchant_trans_key)

String selected_bank: mã Ngân hàng đã được lựa chọn từ phía

Merchant (adsbygoogle = window.adsbygoogle || []).push({});

o Tham số Output: String return

Thất bại: 011|xx|md5(011 + xx + Merchant_trans_key)

Thành công: 010|lenURL|URL+md5(010+lenUrl+Url+ Merchant_trans_key )

o Giá trị trả về xx: giá trị mã lỗi trả về 01: Merchant_code không hợp lệ 02: Chuỗi mã hóa khơng hợp lệ 03: Merchant_trans_id khơng hợp lệ

04: khơng tìm thấy giao dịch trong hệ thống 11: Net_cost không hợp lệ (Phải là số nguyên) 12: Ship_fee không hợp lệ (Phải là số nguyên) 13: Tax không hợp lệ (Phải là số nguyên) 15: sai mã Ngân hàng

99: Lỗi kết nối

ký tự | sử dụng để phân cách các giá trị

lenURL: độ dài URL được trả về, URL được Merchant sử dụng

để redirect tới Cơng thanh tốn của BankNet.

URL + md5(010+lenUrl+Url+ Merchant_trans_key ): chuỗi URL kết hợp với chuỗi được mã hóa md5

Hàm QuerryBillStatus(): Kiểm tra trạng thái của giao dịch

o Tham số Input:

String Merchant_trans_id: Mã giao dịch của Merchant

String Trans_id: Trans_id là giao dịch được lấy từ chuỗi URL

trong giá trị trả về gọi hàm Send_GoodInfo()

String Merchant_code: Mã code của Merchant

String Trans_key: md5(Merchant_trans_id + Trans_id + Merchant_code + Merchant_Trans_key)

o Tham số Output: String return

Thất bại: 011|xx| md5(011 + xx + Merchant_trans_key) Thành công: 00|yyy|md5(00yyy+ Merchant_trans_key)

o Giá trị trả về xx: giá trị mã lỗi trả về 01: Merchant_code không hợp lệ 02: Chuỗi mã hóa khơng hợp lệ 03: Merchant_trans_id khơng hợp lệ

04: khơng tìm thấy giao dịch trong hệ thống 99: Lỗi kết nối

Hàm ConfirmTransactionResult(): Hàm thông báo kết quả giao dịch với Khách hàng

o Tham số Input:

String Merchant_trans_id: Mã giao dịch của Merchant

String Trans_id: Trans_id là giao dịch được lấy từ chuỗi URL

trong giá trị trả về gọi hàm Send_GoodInfo()

String Merchant_code: Mã code của Merchant

String Trans_key: md5(Merchant_trans_id + Trans_id + Merchant_code + Trans_result + Merchant_Trans_key) String Trans_result: Kết quả giao dịch (0: thành công, 1: Thất

bại)

o Tham số Output: String return (adsbygoogle = window.adsbygoogle || []).push({});

Thất bại: 011|xx| md5(011 + xx + Merchant_trans_key) Thành công: 00|yyy|md5(00yyy+ Merchant_trans_key)

o Giá trị trả về xx: giá trị mã lỗi trả về 01: Merchant_code khơng hợp lệ

02: Chuỗi mã hóa khơng hợp lệ 03: Merchant_trans_id khơng hợp lệ

04: khơng tìm thấy giao dịch trong hệ thống 99: Lỗi kết nối

Mã lỗi trả về

o 00: Thành công

o 06: Lỗi xác nhận giao dịch: giao dịch đã được xác nhận (thành cơng/ khơng thành cơng trước đó và khơng thể xác nhận lại)

o 08: Lỗi timeout xảy ra do không nhận được thông điệp trả về

o 11: Net_cost không hợp lệ

o 12: Ship_fee không hợp lệ

o 13: Tax không hợp lệ

o 97: Dịch vụ chưa được cung cấp

o 98: Giao dịch không hợp lệ

o 99: Lỗi hệ thống

Mã trạng thái trả về

o 010: Ghi nhận giao dịch đơn hàng hợp lệ

o 018: Ghi nhận đơn hàng, thông tin Key giao dịch không đúng

o 019: Mã Merchant truyền vào không đúng

o 100: Chấp nhận yêu cầu Kiểm tra thông tin chủ Tài khoản

o 110: Truy vấn thông tin chủ Tài khoản thành công

o 111: Truy vấn tài khoản sai lần 1

o 112: Truy vấn tài khoản sai lần 2

o 113: Truy vấn tài khoản sai lần 3

o 114: Quá số lần truy vấn tài khoản cho phép

o 115: Số dư chủ tài khoản không đủ

o 116: Không nhận được phản hồi của Bank (Timeout)

o 119: Giao dịch kiểm tra thông tin chủ Tài khoản không hợp lệ

o 200: Yêu cầu xác thực thông tin OTP

o 210: Xác thực OTP thành công

o 211: Xác thực OTP sai lần 1 (adsbygoogle = window.adsbygoogle || []).push({});

o 212: Xác thực OTP sai lần 2

o 213: Xác thực OTP sai lần 3

o 214: Sai quá số lần xác thực OTP cho phép

o 215: Giao dịch trả về không thành công

o 217: Không nhận đc phản hồi từ Bank (Timeout)

o 219: Giao dịch không hợp lệ

o 300: Gửi yêu cầu xác thực kết quả giao dịch đơn hàng

o 310: Merchant xác thực giao dịch thành công

o 315: Merchant xác nhận giao dịch không thành công

o 319: giao dịch xác thực không hợp lệ

o 400: Trạng thái thể hiện Merchant thực hiện truy vấn trạng thái thơng tin đơn hàng cần thanh tốn

o 516: Kết quả giao dịch thành công, nhưng KEY(F64) của Ngân hàng trả về không đúng

o 517: Kết quả giao dịch thất bại, nhưng KEY(F64) của Ngân hàng trả về không đúng

o 518: Giao dịch được Merchant gửi sang chưa đến Bank

o 519: Trạng thái giao dịch không xác định lỗi

o 611: Tài khoản của Khách hàng nhập vào số dư không đủ lần

o 612: Tài khoản của Khách hàng nhập vào số dư không đủ lần

thứ hai

o 613: Tài khoản của Khách hàng nhập vào số dư không đủ lần

thứ ba

Một phần của tài liệu Xây dựng Hệ thống Thương mại điện tử cho VNPT (Trang 73 - 78)