15
0 TÀI LIỆU CỔNG THANH TOÁN QUỐC TẾ Hà nội, 19/1/2013

Quy Trinh Tich Hop-quocte

  • Upload
    cuc-cu

  • View
    41

  • Download
    5

Embed Size (px)

Citation preview

Page 1: Quy Trinh Tich Hop-quocte

0

TÀI LIỆU CỔNG THANH TOÁN QUỐC TẾ

Hà nội, 19/1/2013

Page 2: Quy Trinh Tich Hop-quocte

Cổng thanh toán Quốc tế

Mã số: 01/QT-KT Trang 1

Lần ban hành: 02 Ngày hiệu lực: 08/03/2013

MỤC LỤC

1. Mục đích .......................................................................................................................... 2

2. Quy trình triển khai ........................................................................................................... 2

3. Thuật ngữ viết tắt .............................................................................................................. 2

4. Nội dung hướng dẫn tích hợp cổng thanh toán ....................................................................... 2

4.1 Mô hình thanh toán HTTP Redirect ............................................................................................ 2

4.2 Module cổng thanh toán .......................................................................................................... 3

4.3 Biểu đồ thanh toán .................................................................................................................. 3

4.4 Thông tin tài khoản test và card test ........................................................................................... 4

4.5 Tham số chuyển sang Onepay ................................................................................................... 5

4.6 Tham số nhận về từ Onepay ...................................................................................................... 7

4.7 Kiểm tra trạng thái giao dịch .................................................................................................... 8

4.8 Test case ............................................................................................................................... 8

4.9 Bảng mã lỗi giao dịch............................................................................................................ 10

4.10 Sử dụng hàm vấn tin giao dịch QueryDR ................................................................................. 11

4.11 Sử dụng tính năng thông báo thanh toán IPN (Instant Payment Notification) .................................. 12

4.12 Thông báo giao dịch thanh toán cho đơn vị qua email ................................................................ 13

4.13 Tỉ giá (currency) ................................................................................................................. 13

4.14 Điều khoản thanh toán ......................................................................................................... 13

Page 3: Quy Trinh Tich Hop-quocte

Cổng thanh toán Quốc tế

Mã số: 01/QT-KT Trang 2

Lần ban hành: 02 Ngày hiệu lực: 08/03/2013

1. Mục đích

Tài liệu này hướng dẫn ĐVCNT tích hợp cổng thanh toán Quốc tế lên website của ĐVCNT và đảm

bảo cổng thanh toán Quốc tế được tích hợp đúng theo chuẩn của tổ chức thẻ quốc tế và công ty

OnePAY.

2. Quy trình triển khai

Quy trình triển khai cổng thanh toán gồm các bước như sau:

Bước 1: Đơn vị chấp nhận thẻ tích hợp cổng thanh toán lên website

Bước 2: Test thanh toán trên môi trường test

Bước 3: Ký nghiệm thu cổng thanh toán

Bước 4: Bàn giao tài khoản thật

Bước 5: Công bố website đơn vị chính thức chạy thật dịch vụ thanh toán

Đơn vị chấp nhận thẻ cần kết hợp cùng các bộ phận liên quan của OnePAY để thực hiện triển khai đầy

đủ 5 bước trên.

3. Thuật ngữ viết tắt

Bảng thuật ngữ viết tắt

Chữ/thuật ngữ viết tắt Giải thích

HTTP Redirect Là phương thức triển khai cổng thanh toán theo cách

chuyển từ website đơn vị chấp nhận thẻ sang website

cổng thanh toán.

QuyeryDR Là chức năng vấn tin giao dịch đã thanh toán

ĐVCNT Đơn vị chấp nhận thẻ

IPN Instant Payment Notification – Cảnh báo phát sinh

giao dịch thanh toán

Cổng Quốc tế Thanh toán qua thẻ Credit card

KH Khách hàng thanh toán, người thanh toán

4. Nội dung hướng dẫn tích hợp cổng thanh toán

4.1 Mô hình thanh toán HTTP Redirect

Để kết nối tới cổng thanh toán OnePAY theo cách thức HTTP Redirect cần hiểu mô hình thanh toán

HTTP Redirect. Hình dưới là mô hình cổng thanh toán OnePAY theo cách thức HTTP Redirect.

Page 4: Quy Trinh Tich Hop-quocte

Cổng thanh toán Quốc tế

Mã số: 01/QT-KT Trang 3

Lần ban hành: 02 Ngày hiệu lực: 08/03/2013

Hình 1. Mô hình cổng thanh toán OnePAY

Sau khi click thanh toán sẽ chuyển các giá trị như số tiền, order và các tham số khác sang url của Onepay, từ đó

Onepay sẽ xử lý giao dịch và trả kết quả về cho website.

Xem demo cổng thanh toán Quốc tế: http://mtf.onepay.vn/developer/?page=demo_quocte

4.2 Module cổng thanh toán

Lấy module và tài liệu hướng dẫn tích hợp cổng thanh toán Credit card xuống tại địa chỉ:

http://mtf.onepay.vn/developer/?page=modul_quocte

Cấu trúc module: Có 3 file cơ bản

+ Form thanh toán (index,...)

+ DO file

+ DR file

+ QueryDR

Trong đó:

Form thanh toán chứa các giá trị truyền sang sang file DO.

DO file là file nhận các thông tin từ form thanh toán. File DO có nhiệm vụ tạo ra URL Redirect sang cổng thanh

toán OnePAY.

DR file là file nhận kết quả trả về từ cổng thanh toán. File DR có nhiệm vụ kiểm tra thông tin nhận được và

thông báo trạng thái giao dịch dựa trên các tham số trả về từ cổng thanh toán.

QueryDR là file chứa chức năng vấn tin lại các giao dịch đã thanh toán.

4.3 Biểu đồ thanh toán

Page 5: Quy Trinh Tich Hop-quocte

Cổng thanh toán Quốc tế

Mã số: 01/QT-KT Trang 4

Lần ban hành: 02 Ngày hiệu lực: 08/03/2013

Biển đồ phân tích chi tiết cách thức thanh toán qua module cổng thanh toán OnePAY như hình dưới:

Hình 2. Biểu đồ thanh toán

4.4 Thông tin tài khoản test và card test

Xem tại: http://mtf.onepay.vn/developer/?page=modul_quocte

Thông số tài khoản test cổng thanh toán Quốc tế:

URL Payment test: http://mtf.onepay.vn/vpcpay/vpcpay.op

Thanh toán bằng đơn vị tiền tệ VND:

MerchantID: TESTONEPAY

Accesscode: 6BEB2546

Hashcode (Tên khác là SECURE_SECRET): 6D0870CDE5F24F34F3915FB0045120DB

Thông tin thẻ test:

Loại thẻ: Visa

Số thẻ: 4005550000000001

Date Exp: 05/13

CVV/CSC: 123

Để chạy trên môi trường thật chú ý thay URL payment cổng thật và các thông số tài khoản thật

do Onepay cấp.

Url payment thật: https://onepay.vn/vpcpay/vpcpay.op

MerchantID: Onepay cấp

Accesscode: Onepay cấp

Hashcode (Tên khác là SECURE_SECRET): Onepay cấp

Page 6: Quy Trinh Tich Hop-quocte

Cổng thanh toán Quốc tế

Mã số: 01/QT-KT Trang 5

Lần ban hành: 02 Ngày hiệu lực: 08/03/2013

Thông tin thẻ test trả về mã lỗi B:

Số thẻ: 5313581000123430

Date Exp: 05/13

CVV/CSC: 123

4.5 Tham số chuyển sang Onepay

Thông số Đơn vị chấp nhận thẻ cần gửi sang cồng thanh toán gồm các các thông số:

Tên đối số Mô tả Yêu cầu Kiểu giá trị Độ dài

virtualPaymentClientURL URL Redirect sang cổng thanh toán Bắt buộc String 64

vpc_Version Version module cổng thanh toán, cố

định và mặc định là 2

Bắt buộc Number 2

vpc_Command Chức năng thanh toán, giá trị của đối số

này cố định và mặc định là “pay”

Bắt buộc String 16

vpc_AccessCode Cặp tài khoản của mỗi đơn vị do

Onepay cấp

Bắt buộc String 8

vpc_Merchant String 12

vpc_MerchTxnRef Mã giao dịch, biến số này yêu cầu

chuyền vào duy nhất mỗi lần thanh toán

Bắt buộc String 34

vpc_OrderInfo Thông tin đơn hàng Bắt buộc String 32

vpc_Amount Khoản tiền thanh toán, giá trị chuyền

vào không có dấu. Cổng thanh toán lấy

hai ký tự cuối cùng là phần thập phân,

nhân với 100 trước khi chuyển sang

cổng thanh toán

Bắt buộc String 21

vpc_Locale Ngôn ngữ hiển thị trên website. Giá trị

có thể là “en” hoặc “vn”

Tiếng Việt giá trị là: vn

Tiếng anh giá trị là: en

Bắt buộc String 2

vpc_TicketNo Địa chỉ IP khách hàng thực hiện thanh

toán – Không được đặt cố định 1 IP

Bắt buộc String 15

vpc_ReturnURL Địa chỉ trỏ vào file DR để nhận kết quả

trả về.

Bắt buộc String 64

Vpc_SecureHash Chuỗi mã hóa từ các giá trị chuyển sang

Onepay, kiểm tra việc đảm bảo dữ liệu

không bị mất mát và chỉnh sửa trong

quá trình redirect

Bắt buộc String 64

AgainLink Link trang thanh toán của website trước

khi chuyển sang Onepay

Bắt buộc String 64

Title Tiêu đề cổng thanh toán trên trình duyệt Bắt buộc String

vpc_SHIP_Street01 Địa chỉ gửi hàng Không bắt

buộc

String 64

Page 7: Quy Trinh Tich Hop-quocte

Cổng thanh toán Quốc tế

Mã số: 01/QT-KT Trang 6

Lần ban hành: 02 Ngày hiệu lực: 08/03/2013

vpc_SHIP_Provice Quận Huyện (địa chỉ gửi hàng) Không bắt

buộc

String 64

vpc_SHIP_City Thành phố (địa chỉ gửi hàng) Không bắt

buộc

String 64

vpc_SHIP_Country Mã nước (địa chỉ gửi hàng) Không bắt

buộc

String 8

vpc_Customer_Phone Số địa thoại khách hàng Không bắt

buộc

String 16

vpc_Customer_Email Email của khách hàng Không bắt

buộc

String 24

vpc_Customer_Id Mã khách hàng Không bắt

buộc

String 64

Billing Address

AVS_Street01 Dịa chỉ thanh toán Không bắt

buộc

String 64

AVS_City Thành phố Không bắt

buộc

String 64

AVS_StateProv Tỉnh/Quận Không bắt

buộc

String 64

AVS_PostCode Mã Quận/Huyện Không bắt

buộc

String 64

AVS_Country M ã nước (2 ký tự) Không bắt

buộc

String 2

Chú ý:

+ Với đối số vpc_MerchTxnRef được yêu cầu duy nhất mỗi lần thanh toán nên có thể viết một

hàm tự sinh giá trị cho đối số này như lấy theo thời gian hoặc lấy theo thứ tự tăng.

+ Với đối số vpc_OrderInfo nên để là thông tin mã đơn hàng, ví dụ như: OR12345

+ Với trường vpc_Amount cổng thanh toán sẽ tính hai giá trị cuối là phần thập phân nên cần

nhân với 100 vào giá trị thực cần thanh toán.

+ Với đối số vpc_ReturnURL, đây là địa chỉ cổng thanh toán sẽ Redirect về, địa chỉ này được

dẫn tới file DR trong module. Ví dụ: http://localhost/quocte_php/dr.php

+ Thông số hashcode (SECURE_SECRET) được gắn ở cả 2 file DO và DR, khi thay thông số

thật chú ý thay cả ở 2 file này.

Tạo một HTTP Redirect trên file DO sẽ có có cấu trúc mẫu như sau:

http://mtf.onepay.vn/vpcpay/vpcpay.op?AgainLink=http%253A%252F%252Flocalhost%252Fquocte_php%252F&Title=VP

C+3-

Party&vpc_AccessCode=2F668CD2&vpc_Amount=100&vpc_Command=pay&vpc_Customer_Email=support%4

0onepay.vn&vpc_Customer_Id=thanhvt&vpc_Customer_Phone=840904280949&vpc_Locale=en&vpc_MerchTxn

Ref=201202101037465623&vpc_Merchant=TESTONEPAYUSD&vpc_OrderInfo=JSECURETEST01&vpc_Retu

rnURL=http%3A%2F%2Flocalhost%2Fdomestic_php_v2%2Fsource_code%2Fdr.php&vpc_SHIP_City=Ha+Noi

&vpc_SHIP_Country=Viet+Nam&vpc_SHIP_Provice=Hoan+Kiem&vpc_SHIP_Street01=39A+Ngo+Quyen&vpc

Page 8: Quy Trinh Tich Hop-quocte

Cổng thanh toán Quốc tế

Mã số: 01/QT-KT Trang 7

Lần ban hành: 02 Ngày hiệu lực: 08/03/2013

_TicketNo=127.0.0.1&vpc_Version=2&vpc_SecureHash=D132797FF573F136D977BFB94E2FC2FBAEE5BF7C

B42050FA0420F6BA2AE83F0B

4.6 Tham số nhận về từ Onepay

DR file xử lý thông tin nhận được từ cổng thanh toán

Cổng thanh toán trả lại kết quả đính kèm các đối số vào địa chỉ được gán cho biến vpc_ReturnURL.

Cụ thể các đối số cổng thanh toán trả lại như bảng dưới:

Tên đối số Mô tả Kiểu giá trị Độ dài

vpc_Command Giá trị của vpc_Command đã gửi đi trong file

DO được trả lại trên file DR

String 3

vpc_Locale Ngôn ngữ hiển thị khi thanh toán. en-Tiếng

Anh, vn- Tiếng Việt

String 2,5

vpc_MerchTxnRef Giá trị của đối số vpc_MerchTxnRef gửi đi từ

file DO trả lại trên file DR

String 1,40

vpc_Merchant Giá trị của đối số vpc_Merchant gửi đi từ file

DO được trả lại trong file DR.

String 1,12

vpc_OrderInfo Giá trị của đối số vpc_OrderInfo trên file DO

được trả lại trên file DR

String 1,34

Vpc_Amount Giá trị của đối số vpc_Amount trên file DO

được trả lại trên file DR

String 1,10

vpc_TxnResponseCode Mã giao dịch được sinh ra bởi cổng thanh toán

để chỉ trạng thái giao dịch.

Giá trị là “0” (zero) cho biết giao dịch đã xử lý

thành công. Tất cả các giá trị khác là giao dịch

thất bại.

String 1

vpc_TransactionNo Một số duy nhất được sinh ra từ cổng thanh

toán trên giao dịch. Nó được lưu trên cổng

thanh toán như ánh xạ cho phép người sử dụng

thực hiện các chức năng như refund hay

capture.

String 1,12

vcp_Message Chỉ ra lỗi giao dịch có thể có khi thanh toán String 10,200

vpc_AcqResponseCode Mã trả về từ ngân hàng thanh toán. String 2,3

vpc_ReceiptNo Nó cũng được biết như số tham chiếu

Retrieval và là duy nhất.

String 1,12

vpc_BatchNo Một ngày được sinh ra từ ngân hàng thanh

toán chỉ ra khi nào giao dịch sẽ được ghi có.

Nếu giá trị này là ngày hôm nay thì nó sẽ được

ghi có vào ngày tới. Khi ngân hàng thanh toán

đã đóng lệnh ở cuối ngày thì giao dịch sẽ được

công tiếp để xử lý với ngày tiếp thep.

String 1,8

vpc_Authorizeld Một mã code được sinh ra từ ngân hàng để

chấp nhận hoặc từ chối giao dịch. Nó là một

tùy chọn và có thể không được áp dụng với tất

cả các ngân hàng.

String 1,12

vpc_Card Một mã được sinh ra từ cổng thanh toán cho

biết loại thẻ đã sử dụng trong giao dịch

String 2

vpc_SecureHash Trường này cho phép đơn vị kiểm tra bản tin

DR có hợp lệ hay không.

String 32

vpc_VerSecurityLevel Được sinh ra bởi ngân hàng thanh toán như là String 1,2

Page 9: Quy Trinh Tich Hop-quocte

Cổng thanh toán Quốc tế

Mã số: 01/QT-KT Trang 8

Lần ban hành: 02 Ngày hiệu lực: 08/03/2013

một token để kiểm tra và xác thực chủ thẻ.

Vpc_VerToken Giá trị này được tạo ra bởi tổ chức phát hành

thẻ như là một token để chứng minh rằng chủ

thẻ xác thực OK.

String 28

vpc_3DSXID Nó là một định danh giao dịch duy nhất được

tạo ra bởi đơn vị chấp nhận thẻ để

xác định các giao dịch 3DS

String 28

vpc_3DSECI Mức đăng ký chương trình 3D Secure của chủ

thẻ. 05-tham gia, 08-không tham gia

String 2

vpc_3Dsenrolled Trường này chỉ phạm vi tham gia 3D-Secure

của chủ thẻ. Y-Yes, N-No, U-Không xác định

được

String 1

vpc_3Dsstatus Trường này chỉ có nếu xác thực thanh toán

được sử dụng. Các giá trị có thể có là: Y-Yes,

N-No, A- Attempted, U-Unavailable

String 1

4.7 Kiểm tra trạng thái giao dịch

File DR có mục đích kiểm tra thông tin cổng thanh toán trả lại để thông báo trạng thái giao dịch.

Để kiểm trang trạng thái một giao dịch cần phải kiểm tra giá trị response code và check Hash validate,

check amount gửi và nhận.

Thành công: Tham số vpc_TxnResponseCode = 0 và check hash = CORRECT và amount chuyển

sang Onepay = amount Onepay trả về

Pending: Tham số vpc_TxnResponseCode = 0 và check hash là IN CORRECT

Thất bại: Tham số vpc_TxnResponseCode <> 0

Việc check hash đảm bảo dữ liệu trả về là toàn vẹn không bị thay đổi trong quá trình thanh toán.

4.8 Test case

Mục đích là để kiểm tra các trường hợp có thể xảy ra cho một giao dịch khi website nhận kết quả trả

về

- Chỉnh sửa dữ liệu trên URL Onepay trả về.

- F5 hoặc chạy lại URL trên trình duyệt

- Các trường hợp lỗi có thể xảy ra.

- Các trạng thái giao dịch

STT Nội dung Thực hiện Mục đích Kết quả mong đợi Kết quả

thực tế

Trạng

thái

1 Giao dịch thành

công

Nhập đúng thông tin thẻ

test và thanh toán. Chi

tiết thông tin thẻ ở mục

thông tin thẻ test.

Kiểm tra giao dịch thành

công và hệ thống update

trạng thái thành công như

thế nào

Hiển thị thông báo giao dịch thành

công.

Thông tin trạng thái trong hệ thống

website update là thành công.

Gửi mail thông báo thành công tới

KH (nếu có).

Với những web bán thẻ hay topup

thì hiển thị số thẻ và topup thành

công

Page 10: Quy Trinh Tich Hop-quocte

Cổng thanh toán Quốc tế

Mã số: 01/QT-KT Trang 9

Lần ban hành: 02 Ngày hiệu lực: 08/03/2013

2 Giao dịch thất

bại – response

coce = 99

Hủy (cancel giao dịch) Kiểm tra giao dịch thất

bại và hệ thống update

trạng thái giao dịch như

thế nào

Thông báo giao dịch thất bại.

Thông tin trạng thái trong hệ thống

update là thất bại.

Gửi mail thông báo thất bại tới KH

(nếu có). Với những web bán thẻ

hay topup thì không hiển thị số thẻ

và topup.

3 Giao dịch thất

bại – Response

code = B

Nhập thông tin thẻ bị

block rồi thanh toán.

Chi tiết thông tin thẻ ở

mục thông tin thẻ test.

Kiểm tra trường hợp

tham số trả về là chuỗi

mà ko phải là số. Tránh

trường hợp convert tham

số này khi kiểm tra kết

quả trả về bị lỗi từ “B”

thành “0” nên giao dịch

bị check nhầm sang

thành công.

Thông báo giao dịch thất bại.

Thông tin trạng thái trong hệ thống

update là thất bại.

Gửi mail thông báo thất bại tới

khách hàng (nếu có).

Với những web bán thẻ hay topup

thì không hiển thị số thẻ và topup.

4 Check hash

validated – Sửa

response code

Thực hiện một giao

dịch thất bại như ở trên.

Sửa giá trị

vpc_TxnResponseCode

trên URL onepay trả về

thành 0 rồi chạy lại

URL này trên trình

duyệt

Kiểm tra việc check

hash, đảm bảo dữ liệu trả

về là toàn vẹn, không bị

chỉnh sửa trên đường

truyền

Thông báo giao dịch pending.

Thông tin của giao dịch thất bại trên

hệ thống không bị thay đổi sang

thành công.

Không gửi mail (nếu có).

Với những web bán thẻ hay topup

thì không hiển thị số thẻ và topup.

5 Check hash

validated – Sửa

amount

Thực hiện một giao

dịch thành công như ở

trên. Sửa giá trị

vpc_Amount trên URL

onepay trả về rồi chạy

lại URL này trên trình

duyệt

Kiểm tra việc check

hash, đảm bảo dữ liệu trả

về là toàn vẹn, không bị

chỉnh sửa trên đường

truyền

Thông báo giao dịch pending.

Thông tin của giao dịch thành công

trên hệ thống không bị thay đổi

amount.

Không gửi mail (nếu có).

Với những web bán thẻ hay topup

thì không hiển thị số thẻ và topup.

6 Refresh trình

duyệt hoặc chạy

lại URL return

nhiều lần

Thực hiện một giao

dịch thành công.

Refresh trình duyệt

hoặc chạy lại URL

return nhiều lần

Kiểm tra một giao dịch

đã thành công chỉ được

update trạng thái và trả

kết quả một lần duy nhất

Không update thông tin vào hệ

thống nhiều lần.

Không gửi mail nhiều lần (nếu có).

Với những web bán thẻ hay topup

thì không hiển thị số thẻ và topup.

7 Không nhận

được kết quả trả

về

Khi Onepay đang trả

kết quả về website thì

tắt trình duyệt

Kiểm tra trạng thái của

một giao dịch khi không

nhận được kết quả trả về

từ Onepay

Do chưa nhận được kết quả trả về

nên trạng thái giao dịch để mặc định

là pending.

Cần triển khai thêm hàm query để

update trạng thái giao dịch.

8 Kiểm tra IP của

khách hàng

Thực hiện các giao dịch

ở các mạng có IP khác

nhau. Xem các giá trị

của tham số

vpc_TicketNo trên URL

chuyển sang Onepay

Kiểm tra xem giá trị IP

có tự động lấy theo IP

của Khách hàng hay bị

gán cố định

Giá trị các tham số này khác nhau

9 Loại tiền tệ

(currency) và số

tiền

Kiểm tra loại tiền tệ và

số tiền trên cổng thanh

toán đã chuẩn chưa

Giống như yêu cầu

10 Thông tin

chuyển sang

Nhập thông tin thanh

toán trên website sẽ

Đảm bảo dữ liệu chuyển

sang OP phải là tiếng

Trang thanh toán của Onepay sẽ

thông báo lỗi.

Page 11: Quy Trinh Tich Hop-quocte

Cổng thanh toán Quốc tế

Mã số: 01/QT-KT Trang 10

Lần ban hành: 02 Ngày hiệu lực: 08/03/2013

Onepay chuyển sang Onepay

như mail, phone, địa

chỉ… bằng tiếng Việt

có dấu

việt không dấu.

4.9 Bảng mã lỗi giao dịch

? Response Unknown

0 Transaction Successful

1 Transaction Declined - Bank Error

2 Bank Declined Transaction

3 Transaction Declined - No Reply from Bank

4 Transaction Declined - Expired Card

5 Transaction Declined - Insufficient funds

6 Transaction Declined - Error Communicating with Bank

7 Payment Server Processing Error - Typically caused by invalid input data such as an

invalid credit card number. Processing errors can also occur

8 Transaction Declined - Transaction Type Not Supported

9 Bank Declined Transaction (Do not contact Bank)

A Transaction Aborted

B Block

C Transaction Cancelled

D Deferred Transaction

E Issuer Returned a Referral Response

F 3D Secure Authentication Failed

I Card Security Code Failed

L Shopping Transaction Locked (This indicates that there is another transaction taking

place using the same shopping transaction number)

N Cardholder is not enrolled in 3D Secure (Authentication Only)

P Transaction is Pending

R Retry Limits Exceeded, Transaction Not Processed

S Duplicate OrderInfo used. (This is only relevant for Payment Servers that enforce the

uniqueness of this field)

Page 12: Quy Trinh Tich Hop-quocte

Cổng thanh toán Quốc tế

Mã số: 01/QT-KT Trang 11

Lần ban hành: 02 Ngày hiệu lực: 08/03/2013

U Card Security Code Failed

4.10 Sử dụng hàm vấn tin giao dịch QueryDR

4.10.1 Hàm vấn tin giao dịch là gì?

Hàm vấn tin giao dịch là một chức năng cho phép đơn vị chấp nhận cổng thanh toán vấn tin lại những

giao dịch đã thanh toán để xem thông tin về giao dịch đã thanh toán.

4.10.2 Yêu cầu triển khai

Không bắt buộc đơn vị triển khai hàm QueryDR.

4.10.3 Khi nào sử dụng hàm vấn tin giao dịch?

Hàm vấn tin giao dịch có thể được sử dụng trong hai trường hợp sau:

1. Đơn vị chấp nhận thẻ không nhận được kết quả trả về từ cổng thanh toán OnePAY.

2. Đơn vị chấp nhận thẻ nhận được kết quả trả lại từ cổng thanh toán OnePAY nhưng bước kiểm

tra giá trị vpc_SecureHash đang là pending.

Hàm QueryDR được sử dụng trong trường hợp cần lấy lại thông tin từ cổng thanh toán.

4.10.4 Điều kiện vấn tin một giao dịch

Trạng thái giao dịch là pending

Trong vòng 24h sau khi có giao dịch

4.10.5 Các tham số sử dụng trong hàm vấn tin giao dịch

URL Query: https://onepay.vn/vpcpay/Vpcdps.op

Tên đối số Mô tả

vpc_Command Cố định là “queryDR”

vpc_Version Cố định là 1

vpc_MerchTxnRef Giá trị của đối số vpc_MerchTxnRef gửi sang

Onepay

vpc_Merchant Merchant ID Onepay cấp cùng tài khoản

vpc_AccessCode Access code Onepay cấp cùng tài khoản

vpc_User User Onepay cấp cùng tài khoản

vpc_Password Password Onepay cấp cùng tài khoản

4.10.6 Cách thức triển khai hàm queryDR

Sử dụng file queryDR ở module mẫu của Onepay và nhập thông tin thích hợp.

Phương thức là POST các tham số sang URL query, sau khi có kết quả sẽ trả lại kết quả là một chuỗi

trên trình duyệt, không trả về trên URL như cổng thanh toán.

Page 13: Quy Trinh Tich Hop-quocte

Cổng thanh toán Quốc tế

Mã số: 01/QT-KT Trang 12

Lần ban hành: 02 Ngày hiệu lực: 08/03/2013

4.10.7 Kết quả trả về của hàn queryDR

Kết quả trả về của hàm vấn tin QueryDR có 2 trường hợp:

+ Tồn tại giao dịch đã thực hiện thanh toán (có thể đã thanh toán thành công hoặc không thành

công).

+ Không tồn tại giao dịch thanh toán

Việc xác định tồn tại giao dịch hay không tồn tại giao dịch giựa trên giá trị trường vpc_DRExists.

vpc_DRExists=N: Không tồn tại giao dịch

vpc_DRExists=Y: Có tồn tại giao dịch thanh toán

Việc xác định giao dịch thành công hay không thành công giựa trên giá trị trường vpc_

TxnResponseCode.

vpc_TxnResponseCode=0: Giao dịch thanh toán thành công

vpc_ TxnResponseCode#0: Giao dịch không thanh toán thành công

4.11 Sử dụng tính năng thông báo thanh toán IPN (Instant Payment Notification)

4.11.1 IPN Là gì?

Tính năng thông báo thanh toán IPN là một tiện ích của cổng thanh toán OnePAY. Nó cung cấp tất cả

các dữ liệu của giao dịch đã thanh toán qua cổng thanh toán OnePAY.

IPN hoạt động theo công nghệ server-to-server và người sử dụng sẽ không thể nhìn thấy kết quả qua

màn hình.

4.11.2 Cách thức tích hợp

Đơn vị xây dựng một url có chức năng giống hệt url của trang DR

IPN sẽ gửi dữ liệu POST tới một địa chỉ URL của server đơn vị. Server luôn lắng nghe tại địa chỉ này.

Dữ liệu POST của IPN hoàn toàn giống với dữ liệu nhận được cho file DR xử lý cụ thể dưới dạng

FieldName/Value.

Mô hình xử lý IPN như hình dưới:

Hình 3. Mô hình IPN

Page 14: Quy Trinh Tich Hop-quocte

Cổng thanh toán Quốc tế

Mã số: 01/QT-KT Trang 13

Lần ban hành: 02 Ngày hiệu lực: 08/03/2013

Như hình minh họa ở hình trên, để có thể tích hợp IPN, trước khi gửi URL cho hệ thống IPN cần kiểm

tra trực tiếp tại server của bạn bằng cách lấy dữ liệu nhận được từ cổng thanh toán OnePAY trả về file

DR.

Sau khi xử lý chính xác địa dữ liệu tương tự file DR, bạn cung cấp địa chỉ URL thiết lập IPN cho

OnePAY. Quá trình xử lý ở server đơn vị giống như file DR cần kiểm tra vpc_TxnResponseCode,

secure hash và amount để kiểm tra.

vpc_TxnResponseCode=0 & hash_validated = correct & amount = correct: Giao dịch thanh toán

thành công

vpc_TxnResponseCode#0: Giao dịch không thanh toán thành công

4.12 Thông báo giao dịch thanh toán cho đơn vị qua email

4.12.1 Định nghĩa

Hệ thống thanh toán OnePAY sẽ gửi email cảnh báo cho đơn vị chấp nhận thẻ qua email khi đơn vị

phát sinh một giao dịch thanh toán thành công qua cổng thanh toán OnePAY.

4.12.2 Yêu cầu triển khai

Hệ thống tự động gửi mail về cho ĐVCNT. ĐVCNT cần cung cấp địa chỉ hòm mail nhận thư cảnh báo

cho OnePAY qua hòm mail [email protected] với nội dung trong mail như sau:

Subject: Tên Viết tắt của công ty – Đăng ký nhận mail cảnh báo phát sinh giao dịch

-Tên công ty:

-Tên viết tắt:

-Địa chỉ:

-Liên hệ:

-Số điện thoại:

-MerchantID đã được OnePAY cung cấp:

4.13 Loại tiền tệ thanh toán (currency)

Loại tiền sử dụng trên cổng thanh toán là VND.

Nếu đơn vị chỉ được dùng loại tiền tệ là VND và website niêm yết tiền ngoại tệ khác như USD thì phải

chuyển đổi giá trị sang VND (tham số vpc_Amount) theo tỉ giá USD - VND trước khi chuyển sang

cổng thanh toán Onepay.

File XML tỉ giá của Vietcombank: http://www.vietcombank.com.vn/ExchangeRates/ExrateXML.aspx

4.14 Các thông tin phải có trên website

4.14.1 Điều khoản thanh toán

Trước khi người thanh toán click “thanh toán” và chuyển sang cổng thanh toán Onepay trên website

cần phải có một check box để khách hàng xác nhận đã đọc và đồng ý với các điều khoản thanh toán.

Tại đây có link để mở và xem các điều khoản thanh toán của công ty với khách hàng.

Page 15: Quy Trinh Tich Hop-quocte

Cổng thanh toán Quốc tế

Mã số: 01/QT-KT Trang 14

Lần ban hành: 02 Ngày hiệu lực: 08/03/2013

Check box giống như: “Tôi đã đọc và đồng ý với các điều khoản thanh toán”

Link terms & conditions mẫu: http://mtf.onepay.vn/resource/documents/term_condition.rar

4.14.2 Logo và hướng dẫn thanh toán các loại thẻ chấp nhận thanh toán

Cần đưa logo và hướng dẫn thanh thanh toán cho các loại thẻ tương ứng trên website

Link logo mẫu: http://mtf.onepay.vn/developer/?page=logo

4.14.3 Thông tin liên hệ

Website cần phải có đầy đủ thông tin liên hệ như: Số điện thoại, email, địa chỉ...