Chuyển tới nội dung chính
Phiên bản: 1.7.0

Nhận thanh toán QR đầu tiên trong 7 dòng code

Vì sao lại nhanh?

API TConnect yêu cầu mã hóa AES-256-CBC mọi request và quản lý JWT token. Thay vì tự xử lý những phần đó, hãy dùng SDK chính chủ — một file duy nhất, gói sẵn mã hóa, đăng nhập, tự refresh token và mọi endpoint. Bạn chỉ cần gọi create_qr(...).

Bước 1 — Chuẩn bị thông tin​

TConnect cấp cho bạn bộ thông tin sau (môi trường Staging):

Thông tinDùng để
partner_codeĐịnh danh Merchant
username / passwordĐăng nhập JWT
client_id / client_secretĐăng nhập JWT
secret_keyKhóa AES-256 (chuỗi hex) để mã hóa request
service_code / va / bincodeLấy từ Get Services — dùng khi tạo QR

Bước 2 — Tải SDK (1 file, copy vào dự án)​

📥 Tải tconnect.py · Cài phụ thuộc: pip install requests cryptography

Bước 3 — Tạo QR (7 dòng)​

from tconnect import TConnect

tc = TConnect(partner_code="81234567", username="[email protected]", password="Password#123",
client_id="...", client_secret="...", secret_key="<AES_HEX_KEY>",
service_code="vccb-qr", va="VA100023312", bincode="970454")

qr = tc.create_qr(order_id="ORDER123", amount=150000) # tự login + mã hóa + gọi API
print(qr["image_png_base64"]) # dán vào <img src="data:image/png;base64,...">

Bước 4 — Nhận kết quả thanh toán (IPN webhook)​

Khi khách thanh toán, TConnect gọi webhook về server bạn với payload đã mã hóa. SDK giải mã trong 1 dòng:

# Trong route webhook của bạn (Flask/FastAPI/Django...)
event = tc.parse_ipn(request.body) # -> {"order_id": "...", "amount": ..., ...}
# Đối chiếu event["order_id"] + event["amount"] rồi cập nhật đơn, trả HTTP 200
Luôn đối chiếu số tiền

Trước khi ghi nhận đơn thành công, hãy so amount trong IPN với số tiền đơn hàng gốc. Chi tiết: IPN Callback.

SDK còn làm được gì?​

Ngoài create_qr và parse_ipn, SDK bọc toàn bộ endpoint:

ViệcPython / Node / PHP / Java
Danh sách dịch vụget_services() / getServices()
Tạo tài khoản định danh (VA)create_va() / createVa()
Đẩy thanh toán xuống POS (thẻ) / Soundboxpush_to_device() / pushToDevice()
Tạo / hủy link thanh toán Ecomcreate_payment_link() · cancel_payment_link() / createPaymentLink() · cancelPaymentLink()
Tra cứu giao dịch QRget_qr_transactions() / getQrTransactions()
Tra cứu theo Order IDcheck_qr_order() / checkQrOrder()
Giao dịch thẻ / tiền mặtget_card_transactions() · get_cash_transactions()

Bước tiếp theo​

ghi chú

SDK ở đây là bản tham chiếu single-file để bạn tích hợp nhanh. Bạn có thể chỉnh sửa tùy dự án. Bản package chính thức (pip / npm / composer) sẽ được phát hành sau.