Skip to main content

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://uat-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-idstringClient ID của Merchant được cấp bởi Tingee.
x-request-timestampstringThời gian gửi request (định dạng UNIX timestamp milliseconds).
x-signaturestringChữ 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ả
requestIdstringMã request định danh.
(Max: 36 char, chuẩn UUID v4)
orderIdstringMã đơn hàng trên hệ thống của bạn.
(Max: 100 char, chỉ chứa chữ, số, -, _)
amountnumberSố tiền cần thanh toán.
(Min: 2,000, Max: 10,000,000,000)
merchantIdnumberMã 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)
expireInMinutenumberThời gian hết hạn của link tính bằng phút. Mặc định là 30.
(Min: 5, Max: 30)
descriptionstringMô tả ngắn gọn về giao dịch hiển thị trên cổng thanh toán.
(Max: 200 char)
orderInfostringThông tin bổ sung nội bộ về đơn hàng.
(Max: 1000 char)
customerEmailstringEmail khách hàng.
vaAccountNumberstringSố tài khoản ảo (Virtual Account) nếu bạn muốn chỉ định nhận đích danh.
(Max: 50 char)
returnUrlstringURL (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
}