MCP Payment Server
MCP Payment Server cho phép Claude kết nối trực tiếp với Payment API của TCONNECT để thực hiện các thao tác thanh toán: tạo Virtual Account, tạo mã QR thanh toán, đẩy lệnh thanh toán tới thiết bị, và nhận thông báo IPN — tất cả thông qua hội thoại tự nhiên với Claude.
Kiến trúc tổng quan
Claude Desktop / MCP Client
→ (stdio transport)
→ MCP Payment Server (Python / FastMCP)
→ (HTTPS / REST)
→ TCONNECT Payment API
→ (kết quả giao dịch)
→ trả về Claude
Công nghệ sử dụng
| Thành phần | Công nghệ | Mô tả |
|---|---|---|
| MCP Server | Python 3.12 + FastMCP | Xử lý MCP protocol qua stdio |
| HTTP Client | httpx (async) | Gọi TCONNECT Payment API |
| Container | Docker + Docker Compose | Đóng gói và triển khai |
| Mã hoá | AES-256-CBC | Mã hoá payload theo chuẩn TCONNECT |
| Cấu hình | python-dotenv | Quản lý biến môi trường và API key |
Danh sách MCP Tools
| Tool | Mô tả | Tham số chính |
|---|---|---|
login | Đăng nhập lấy Access Token + Refresh Token | username, password, client_id, client_secret |
refresh_token | Làm mới Access Token khi hết hạn | refresh_token |
create_virtual_account | Tạo Virtual Account để nhận thanh toán chuyển khoản | bank_code, account_name |
create_qr_payment | Tạo mã QR thanh toán cho đơn hàng | order_id, va, bincode, amount |
push_payment_to_device | Đẩy lệnh thanh toán tới thiết bị POS hoặc Soundbox | serial_no, amount, type (pos/soundbox), order_id hoặc qr_string |
get_qr_transactions | Lấy danh sách giao dịch QR theo khoảng thời gian | from_date, to_date, limit, page |
get_card_transactions | Lấy danh sách giao dịch thẻ theo khoảng thời gian | from_date, to_date, limit, page |
get_cash_transactions | Lấy danh sách giao dịch tiền mặt theo khoảng thời gian | from_date, to_date, limit, page |
get_services | Lấy danh sách dịch vụ và cổng thanh toán được cấp phép | service_type, payment_method, code, limit, page |
decrypt_ipn_payload | Giải mã payload IPN nhận từ TCONNECT | encrypted_data, aes_key |