Skip to main content
Version: 1.2.1 (Latest)

Tạo link thanh toán

API này cho phép đối tác tạo một đường dẫn thanh toán (Checkout URL) để gửi cho khách hàng. Khách hàng truy cập đường dẫn này có thể thanh toán qua nhiều hình thức (VietQR, Thẻ, Pay-by-Bank...) được cấu hình sẵn cho Merchant.

POST
URLhttps://open-api.tingee.vn/v1/payment-gateway/create-link

Tạo một đường dẫn thanh toán (Checkout URL) để gửi cho khách hàng.

1. Request Headers​

HeaderTypeBắt buộcMô tả
x-client-idstring✓Client ID của Merchant được cấp bởi Tingee.
x-request-timestampstring✓Thời gian gửi request (định dạng UNIX timestamp milliseconds).
x-signaturestring✓Chữ ký xác thực request để đảm bảo tính toàn vẹn dữ liệu.

2. Request Body (JSON)​

Thuộc tínhKiểuBắt buộcMô tả
requestIdstring✓Mã request định danh.
(Max: 36 char, chuẩn UUID v4)
orderIdstring✓Mã đơn hàng trên hệ thống của bạn.
(Max: 100 char, chỉ chứa chữ, số, -, _)
amountnumber✓Số tiền cần thanh toán.
(Min: 2,000, Max: 10,000,000,000)
merchantIdnumber✕Mã Merchant.
(Bắt buộc nếu kết nối bằng tài khoản Master Merchant).
currencystring✕Đơn vị tiền tệ. Mặc định là VND.
(Max: 10 char)
expireInMinutenumber✕Thời gian hết hạn của link tính bằng phút. Mặc định là 30.
(Min: 5, Max: 30)
descriptionstring✕Mô tả ngắn gọn về giao dịch hiển thị trên cổng thanh toán.
(Max: 200 char)
orderInfostring✕Thông tin bổ sung nội bộ về đơn hàng.
(Max: 1000 char)
customerEmailstring✕Email khách hàng.
vaAccountNumberstring✕Số tài khoản ảo (Virtual Account) nếu bạn muốn chỉ định nhận đích danh.
(Max: 50 char)
returnUrlstring✕URL (hoặc App Scheme) điều hướng khách hàng về lại web/app của bạn sau khi thanh toán xong.
(Max: 500 char, chuẩn URL)

Ví dụ Request:​

{
"requestId": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
"orderId": "INV-0012345",
"amount": 500000,
"description": "Thanh toán đơn hàng INV-0012345",
"returnUrl": "https://your-shop.com/checkout/success"
}

3. Response​

API sẽ trả về thông tin đường dẫn thanh toán (Checkout URL) bên trong đối tượng data.

Thuộc tínhKiểuMô tả
codestringMã trạng thái kết quả. 00 là thành công.
messagestringThông báo chi tiết trạng thái.
datastringĐường dẫn thanh toán (Checkout URL) mà bạn cần chuyển hướng (redirect) khách hàng tới.

Ví dụ Response Thành công (HTTP 200 OK):​

{
"code": "00",
"message": "Success",
"data": "https://payment-gateway.tingee.vn/checkout?token=base64urlEncodedToken&s=hmacSha256Signature"
}

4. IPN (Webhook) Trả Về​

Khi khách hàng thanh toán thành công hoặc đơn hàng có sự thay đổi trạng thái (hết hạn, bị hủy), Tingee sẽ tự động gửi một HTTP POST request (Webhook/IPN) chứa dữ liệu JSON về Đường dẫn IPN mà bạn đã cấu hình trên Tingee Merchant Portal.

Thuộc tínhKiểuMô tả
requestIdstringMã request của webhook (UUID).
orderIdstringMã đơn hàng tương ứng trên hệ thống của bạn.
amountnumberSố tiền yêu cầu thanh toán ban đầu của đơn hàng.
paidAmountnumberSố tiền khách hàng đã thanh toán thực tế.
descriptionstringMô tả giao dịch.
orderInfostringThông tin bổ sung của đơn hàng (nếu có).
statusstringTrạng thái đơn hàng (ví dụ: success, expired, canceled).
statusCodestringMã trạng thái kết quả (ví dụ: 00 là thành công).
billIdstringMã giao dịch phía Tingee (nếu có).
customerEmailstringEmail của khách hàng.
paymentMethodstringHình thức thanh toán khách hàng đã sử dụng (ví dụ: qr).
providerTransactionCodestringMã giao dịch ghi nhận từ đối tác/ngân hàng.
paidAtstringThời gian ghi nhận thanh toán (định dạng ISO 8601).
merchantIdnumberMã định danh Merchant trên Tingee.

Ví dụ Payload Webhook:​

{
"requestId": "e5700594-6c7f-4ce9-91d8-82d4e621ff78",
"orderId": "SDK-1779119517852",
"amount": 2000,
"paidAmount": 2000,
"description": "Thanh toan don hang test SDK",
"orderInfo": null,
"status": "success",
"statusCode": "00",
"billId": null,
"customerEmail": null,
"paymentMethod": "qr",
"providerTransactionCode": "1927ee3a-7778-4500-9b4e-55363fa4a762",
"paidAt": "2026-05-18T15:52:42.315Z",
"merchantId": 29267
}