Dành cho JAVA: thanh toán dùng ví điện tử NgânLượng.vn (phiên bản 1.0)
I. Giới thiệu chung
1. Mục đích
Mô tả chi tiết cách thức tích hợp phương thức thanh toán “nạp tiền từ số dư tài khoản Ngân Lượng xác thực bằng mã PIN” vào tài khoản của khách hàng tại hệ thống của bạn.
2. Giới hạn tài liệu
Chỉ sử dụng cho các merchant bán sản phẩm, dịch vụ nội dung số trên mobile application.
3. Địa chỉ cung cấp các thông tin liên quan
• Mô trường Sandbox:
- Địa chỉ đăng ký tài khoản Ngân Lượng: http://sandbox.nganluong.vn/?portal=nganluong&page=user_register
- Địa chỉ webservice giao tiếp của Ngân Lượng: http://sandbox.nganluong.vn/mobile_checkout_api.php?wsdl
• Mô trường live:
- Địa chỉ đăng ký tài khoản Ngân Lượng: https://www.nganluong.vn/?portal=nganluong&page=user_register
- Địa chỉ webservice giao tiếp của Ngân Lượng: https://www.nganluong.vn/mobile_checkout_api.php?wsdl
- Hướng dẫn đăng ký tài khoản Ngân Lượng để nhận tiền bán hàng: http://help.nganluong.vn/danh-muc-56/2/1/Dang-ky-mo-tai-khoan.html
- Hướng dẫn chứng thực tài khoản Ngân Lượng:
Sau
khi đăng ký tài khoản thành công, bạn cần chứng thực tài khoản của
mình, để phục vụ cho mục đích định danh tài khoản trong giao dịch rút
tiền sau này. Vào đây
II. Quy trình thực hiện kết nối
1. Giải pháp thanh toán
Với hình thức thanh toán “nạp tiền từ số dư tài khoản Ngân Lượng xác thực bằng mã PIN”, thời gian thực hiện thanh toán và thao tác thực hiện thanh toán của khách hàng được tối giản tới mức tối đa có thể. Tạo cho khách hàng cảm giác thuận tiện khi giao dịch mà không phải thoát khỏi ứng dụng họ đang sử dụng.
2. Quy trình thực hiện

Bước 1: Khách hàng chọn chức năng thanh toán trên application của mobile.
Bước 2: Hệ thống của bạn yêu cầu nhập mã PIN để thực hiện thanh toán.
Bước 3,4: Thực hiện gọi sang cổng thanh toán Ngân Lượng thông qua giao thức webservice (CreateTransactionByPincode).
Bước 5: Hệ
thống thanh toán Ngân Lượng thực hiện kiểm tra và xác thực các điều
kiện của giao dịch và thực hiện hạch toán giao dịch. Sau khi thực hiện
hạch toán xong sẽ trả kết quả về hệ thống của bạn.
Bước 6: Hệ thống của bạn cập nhật số dư tài khoản khách hàng của mình và thông báo cho khách hàng.
Stt |
Tên tham số |
Kiểu dữ liệu |
Mô tả |
Tham số đầu vào |
|||
1 |
merchant_id |
Int (11) |
Mã ứng dụng mobile khai báo trên trang NgânLượng.vn |
2 |
Params |
String XML |
Chuỗi XML thông tin các tham số đầu vào |
|
merchant_id |
Int (11) |
Mã ứng dụng mobile khai báo trên trang NgânLượng.vn |
|
merchant_pass |
String (32) |
Mã md5 của mật khẩu kết nối ứng dụng |
|
app_env |
String (10) |
Mã hệ điều hành sử dụng trên ứng dụng mobile |
|
Env |
String (10) |
Môi trường thực hiện thanh toán đơn hàng trên NL (nhận 2 giá trị là: sandbox và live) |
|
Version |
String (10) |
Mã phiên bản checkout NL đang sử dụng (mặc định là 1.0) |
|
Type |
Int (1) |
Loại hình thanh toán đơn hàng (1: hàng hóa vật chất, 2: nội dung số, 3: quyên góp) |
|
recipient |
String (255) |
Địa chỉ email chính của tài khoản nhận tiền trên NL |
|
order_code |
String (50) |
Mã đơn hàng yêu cầu thanh toán |
|
amount |
int |
Tổng giá trị đơn hàng |
|
discount_amount |
int |
Số tiền giảm giá cho toàn bộ đơn hàng |
|
tax_amount |
int |
Mức thuế tính cho đơn hàng |
|
item_id |
String (50) |
Mã sản phẩm |
|
item_name |
String (150) |
Tên sản phẩm |
|
item_quanty |
Int (11) |
Số lượng sản phẩm |
|
item_amount |
int |
Giá tiền sản phẩm |
|
Mobile |
String (11) |
Số điện thoại di động của máy điện thoại thực hiện lệnh tạo đơn hàng này |
|
Pincode |
String (4) |
mã pin của chủ tài khoản thanh toán đơn hàng |
|
Cấu trúc tham số params có dạng như sau:
|
||
Tham số trả ra |
|||
1 |
Result |
String XML |
Chuỗi XML thông tin kết quả trả về |
|
result_code |
String (2) |
Mã kết quả trả về (chi tiết xem bảng mô tả kết quả trả về bên dưới) |
|
result_description |
String (255) |
Mô tả kết quả trả về |
|
user_id |
Int (11) |
Mã tài khoản người dùng thanh toán đơn hàng |
|
user_fullname |
String (255) |
Tên tài khoản người dùng thanh toán đơn hàng |
|
user_email |
String (255) |
Email tài khoản người dùng thanh toán đơn hàng |
|
user_mobile |
String (11) |
Mobile tài khoản người dùng thanh toán đơn hàng |
|
user_verify |
Int (1) |
Tình trạng xác minh tài khoản của chủ tài khoản thanh toán trên hệ thống NL, nhận các giá trị sau: |
|
transaction_id |
Int(11) |
Mã giao dịch thanh toán đơn hàng trên hệ thống NL |
|
transaction_amuont |
Int (11) |
Số tiền thanh toán đơn hàng |
|
transaction_type |
Int (1) |
Hình thức thanh toán, nhận 2 giá trị sau: |
|
transaction_status |
Int (1) |
Trạng thái giao dịch thanh toán, nhận các giá trị sau: |
|
promotion_code |
String (32) |
Mã khuyến mại (mà này được trả về khi người mua thực hiện giao dịch này đang được hưởng một chính sách khuyến mại nào đó, tùy thuộc vào mã khuyến mại này mà phía merchant sẽ áp dụng chính sách khuyến mại phù hợp cho người mua) |
|
Cấu trúc tham số result có dạng như sau: |
||
4. Bảng mô tả mã lỗi trả về
Mã trả về |
Mô tả |
00 |
Thành công |
01 |
Lỗi chưa xác minh |
02 |
Mã token không tồn tại |
03 |
Mã token đã hết hạn thanh toán |
04 |
Tài khoản người nhận không tồn tại |
05 |
Tài khoản người nhận đang bị khóa |
06 |
Tài khoản người nhận đang bị phong tỏa giao dịch |
07 |
Tài khoản thanh toán không tồn tại |
08 |
Tài khoản thanh toán đang bị khóa |
09 |
Tài khoản thanh toán đang bị phong tỏa giao dịch |
10 |
Mã merchant không tồn tại hoặc chưa xác minh merchant site |
11 |
Địa chỉ IP không đúng với khai báo khi đăng ký merchant site |
12 |
Mật khẩu merchant không đúng |
13 |
Số tiền thanh toán không phù hợp, nhỏ hơn mức tối thiểu có thể giao dịch |
14 |
Số tiền giao dịch không hợp lệ, lớn hơn số tiền Ngân Lượng quy định |
15 |
Thông tin đơn hàng không đầy đủ theo yêu cầu |
16 |
Đơn hàng chưa được thanh toán |
17 |
Số dư tài khoản thanh toán không đủ để thực hiện giao dịch |
41 |
Mã merchant không đăng ký sử dụng cho ứng dụng trên mobile |
42 |
Hệ điều hành trên mobile không được Ngân Lượng hỗ trợ |
43 |
Môi trường thực hiện thanh toán đơn hàng không tồn tại |
44 |
Phiên bản thanh toán trên Ngân Lượng không tồn tại |
45 |
Loại hình thanh toán đơn hàng không tồn tại |
46 |
Mã pin code không đúng hoặc tài khoản không tồn tại |
99 |
Có lỗi phát sinh trong quá trình xử lý trên hệ thống |
