Liên hệ trực tiếp với chúng tôi

Hotline: 0984-863-761

Hà Nội: 1900-5858-99

TP.HCM: (08) 6292 0945

Email: support@nganluong.vn

Hỗ trợ chung

Hỗ trợ kỹ thuật

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.

3. Mô tả hàm CreateTransactionByPincode

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:
<params>
            <merchant_id>[mã khai báo ứng dụng]</merchant_id>
            <merchant_pass>[mật khẩu kết nối ứng dụng]</merchant_pass>
            <app_env>[môi trường ứng dụng mobile]</app_env>
            <env>[môi trường kết nối với Ngân Lượng]</env>
            <version>[phiên bản]</version>
              <type>[loại hình thanh toán đơn hàng]</type>
            <recipient>[email chính của tài khoản người nhận trên NL]</recipient>
            <order_code>[mã đơn hàng]</order_code>
            <amount>[số tiền cần thanh toán chưa tính thuế và giảm giá]</amount>
            <discount_amount>[số tiền giảm giá]</discount_amount>
            <tax_amount>[mức thuế tính cho đơn hàng]</tax_amount>
            <items>
            <item>
                        <item_id>[mã sản phẩm]</item_id>
                        <item_name>[tên sản phẩm]</item_name>
                        <item_quanty>[số lượng sản phẩm]</item_quanty>
                        <item_amount>[đơn giá của 1 sản phẩm]</item_amount>
            </item>
            <item>
                        <item_id>[mã sản phẩm]</item_id>
                        <item_name>[tên sản phẩm]</item_name>
                        <item_quanty>[số lượng sản phẩm]</item_quanty>
                        <item_amount>[đơn giá của 1 sản phẩm]</item_amount>
            </item>
            ...
            </items>
            <mobile>[số mobile chính của người mua có TK trên NL]</mobile>
            <pincode>[mã pincode của người mua có tài khoản trên NL]</pincode>

</params>


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:
- 0: chưa xác minh tài khoản
- 1: đang xác minh tài khoản
- 2: đã xác minh tài khoản

 

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:
- 1: thanh toán ngay
- 2: thanh toán tạm giữ

 

transaction_status

Int (1)

Trạng thái giao dịch thanh toán, nhận các giá trị sau:
- 1: chưa thanh toán
- 2: đã xác nhận thanh toán
- 3: giao dịch bị từ chối
- 4: giao dịch thành công

 

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:
<result>
            <result_code>[mã kết quả trả về]</result_code>
            <result_description>[nội dung mô tả kết quả trả về]</result_description>
            <payer_info>
                        <user_id>[mã chủ tài khoản thanh toán trên NL]</user_id>
                        <user_fullname>[tên chủ tài khoản thanh toán]</user_fullname>
                        <user_email>[email chính của chủ TK thanh toán]</user_email>
                        <user_mobile>[số mobile chính của chủ TK]</user_mobile>
                        <user_verify>[tình trạng chứng thực của chủ TK]</user_verify>
            </payer_info>
            <transaction_info>
                        <transaction_id>[mã giao dịch thanh toán]</transaction_id>
                        <transaction_amount>[số tiền thanh toán]</transaction_amuont>
                        <transaction_type>[hình thức thanh toán]</transaction_type>
                        <transaction_status>[trạng thái thanh toán]</transaction_status>
            </transaction_info>
            <promotion_code>[mã khuyến mãi]</promotion_code>

</result>

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