Thu tiền VietQR tự động cho AI agent - Thay thế Stripe ở Việt Nam

2026-08-27 · AgentPay VN

aipythonvietqrmcpthanh toán

Bạn đang xây dựng một AI agent bán hàng, nhưng không biết cách thu tiền từ khách?

Hãy tưởng tượng: Bot tư vấn AI của bạn đã nói chuyện tốt với khách, thuyết phục họ mua khoá học online. Nhưng đến lúc thanh toán, bạn phải dừng lại vì:

Nếu bạn cảm thấy thế, AgentPay VN là câu trả lời mà bạn đang tìm kiếm.


AgentPay VN là gì? Tại sao lại khác?

AgentPay VN là một Python SDK mã nguồn mở (MIT) + MCP server cho phép AI agent thu tiền VietQR một cách:

An toàn: QR code trỏ thẳng vào tài khoản ngân hàng của bạn — AgentPay không bao giờ giữ tiền.
Đơn giản: Chỉ cần 3 dòng code cơ bản.
Mở rộng: Tích hợp với Claude, Gemini hoặc bất kỳ AI agent nào thông qua MCP.
Miễn phí: Không phí cấp phép, không phí giao dịch thêm (chỉ phí chuyển khoản ngân hàng bình thường).

Khác với Stripe hay các nền tảng nước ngoài khác, AgentPay VN được thiết kế riêng cho thị trường Việt Nam — hỗ trợ VietQR, tích hợp ngân hàng địa phương, không cần tài khoản quốc tế.


Cách hoạt động: 3 bước đơn giản

Quy trình thanh toán với AgentPay VN chỉ gồm 3 bước:

Bước 1: Tạo yêu cầu thanh toán

AI agent của bạn gọi hàm create_payment_request() để tạo một yêu cầu thanh toán duy nhất.

Bước 2: Gửi checkout_url cho khách

Agent nhận lại một checkout_url (QR code + link) và gửi cho khách hàng.

Bước 3: Chờ xác nhận từ ngân hàng

Agent gọi await_settlement() để đợi bank feed xác nhận — khi khách chuyển tiền, bạn nhận được thông báo tức thì.

Hoàn tất! Tiền đã vào tài khoản ngân hàng của bạn, AI agent có thể tiếp tục quy trình (gửi khoá học, cộng điểm, v.v.).


Cài đặt & Cấu hình nhanh

1. Cài đặt SDK Python

pip install agentpay-vn

Lệnh này sẽ tải SDK từ PyPI. Bạn cần Python 3.8+.

2. Cấu hình MCP Server (để Claude hoặc agent khác sử dụng)

Tạo file claude_desktop_config.json (hoặc config.json cho các client MCP khác):

{
  "mcpServers": {
    "agentpay": {
      "command": "agentpay-mcp",
      "env": {
        "AGENTPAY_MERCHANT_ID": "your_merchant_id_here",
        "AGENTPAY_API_KEY": "your_api_key_here",
        "AGENTPAY_BANK_ACCOUNT": "your_bank_account_number"
      }
    }
  }
}

Lưu ý: Lấy MERCHANT_IDAPI_KEY từ trang quản trị AgentPay tại https://agentpay.servicesai.vn/v1/docs.


Code ví dụ thực tế

Ví dụ 1: Bot bán khoá học

Giả sử bạn có một bot AI tư vấn bán khoá học Python cho startup. Đây là cách tích hợp thanh toán:

from agentpay_vn import PaymentClient, create_payment_request, await_settlement

# Khởi tạo client với API key của bạn
client = PaymentClient(
    merchant_id="merchant_123456",
    api_key="sk_live_abcdef...",
    bank_account="1234567890123"
)

# Khách hàng quyết định mua khoá học Python Advanced (2,500,000 VNĐ)
student_name = "Nguyễn Văn A"
course_price = 2_500_000  # VNĐ

# Bước 1: Tạo yêu cầu thanh toán
payment_req = create_payment_request(
    client=client,
    amount=course_price,
    description=f"Khoá học Python Advanced cho {student_name}",
    order_id=f"course_001_{int(time.time())}"
)

print(f"✅ Yêu cầu thanh toán tạo thành công!")
print(f"📱 Gửi QR code này cho khách: {payment_req.checkout_url}")

# Bước 2: Gửi checkout_url cho khách (qua Telegram, email, SMS...)
agent_message = f"Vui lòng quét mã QR hoặc bấm vào link sau để thanh toán: {payment_req.checkout_url}"
print(agent_message)

# Bước 3: Chờ khách thanh toán
print("⏳ Đang chờ xác nhận từ ngân hàng...")
result = await_settlement(
    client=client,
    payment_id=payment_req.payment_id,
    timeout_seconds=300  # Chờ tối đa 5 phút
)

if result.settled:
    print(f"✅ Thanh toán xác nhận! Tiền đã vào tài khoản.")
    print(f"💰 Số tiền: {result.amount:,} VNĐ")
    print(f"🏦 Ngân hàng xác nhận: {result.bank_reference}")

    # AI agent tiếp tục: tạo tài khoản, gửi khoá học...
    create_student_account(student_name, course="Python Advanced")
    send_course_access_link(student_name)
    agent_response = f"🎉 Xin chúc mừng! Bạn đã đăng ký thành công. Truy cập khoá học tại: [link]"
else:
    print(f"❌ Thanh toán không hoàn tất.")
    agent_response = "Thanh toán chưa hoàn tất. Vui lòng thử lại."

Giải thích từng bước: - PaymentClient khởi tạo kết nối với AgentPay. - create_payment_request() tạo một thanh toán duy nhất với mô tả rõ ràng. - checkout_url là mã QR + link mà khách sẽ sử dụng. - await_settlement() là hàm chặn (blocking) — nó sẽ đợi cho đến khi ngân hàng xác nhận tiền vào tài khoản của bạn. - Khi result.settled == True, AI agent có thể tiếp tục logic (tạo tài khoản, gửi tài nguyên, v.v.).

Ví dụ 2: Hệ thống đơn hàng quán cà phê

import asyncio
from agentpay_vn import create_payment_request, await_settlement, PaymentClient

async def process_coffee_order(order_id: str, items: list, client: PaymentClient):
    """
    Xử lý đơn hàng cà phê với thanh toán VietQR.
    items: [{'name': 'Cà phê đen', 'price': 35000}, ...]
    """
    total = sum(item['price'] for item in items)

    # Tạo yêu cầu thanh toán
    payment = create_payment_request(
        client=client,
        amount=total,
        description=f"Đơn hàng #{order_id} - {len(items)} sản phẩm",
        order_id=order_id
    )

    print(f"Quét mã QR: {payment.checkout_url}")

    # Chờ thanh toán (async version nếu có)
    settlement = await await_settlement(
        client=client,
        payment_id=payment.payment_id,
        timeout_seconds=180
    )

    if settlement.settled:
        # Cập nhật hệ thống bếp: in đơn hàng
        print(f"✅ Thanh toán xác nhận! In đơn hàng...")
        send_to_kitchen(order_id, items)
        return {"status": "paid", "order_id": order_id, "amount": total}
    else:
        return {"status": "timeout", "order_id": order_id}

# Sử dụng
client = PaymentClient(
    merchant_id="cafe_123",
    api_key="sk_...",
    bank_account="0123456789"
)

order = await process_coffee_order(
    order_id="ORD-20250120-001",
    items=[
        {"name": "Cà phê đen", "price": 35000},
        {"name": "Bánh mì nướng", "price": 45000}
    ],
    client=client
)

print(order)  # {"status": "paid", "order_id": "ORD-...", "amount": 80000}

Đây là ví dụ async (non-blocking) — rất hữu ích nếu bạn chạy nhiều đơn hàng song song.


So sánh AgentPay VN vs các giải pháp khác

Tiêu chí AgentPay VN Stripe ZaloPay API Nên dùng AgentPay khi...
VietQR ✅ Hỗ trợ đầy đủ ❌ Không ✅ Có Bạn chỉ cần VietQR, không cần thẻ quốc tế
SDK mã nguồn mở ✅ MIT ❌ Proprietary ❌ Proprietary Bạn muốn kiểm soát toàn bộ mã
Giữ tiền ❌ Không ❌ Có (escrow) ❌ Có Bạn không muốn phải quản lý tài khoản thứ ba
Tích hợp MCP ✅ Có sẵn ❌ Cần custom ❌ Cần custom Bạn sử dụng Claude hoặc LLM với MCP
Phí Miễn phí (+ phí NH) 2.9% + 30k VNĐ 0.5-1% Bạn muốn chi phí thấp nhất
Hỗ trợ AI agent ✅ Thiết kế đặc biệt ❌ Generic ❌ Generic Bạn xây dựng AI agent tự động

Kịch bản thực tế: Bot tư vấn bảo hiểm

Bạn là công ty bảo hiểm, xây dựng một AI chatbot trên Telegram để: 1. Tư vấn miễn phí về gói bảo hiểm. 2. Tự động tạo đơn bảo hiểm khi khách đồng ý. 3. Thu tiền thanh toán ngay lập tức qua VietQR.

Luồng:

Khách → Bot: "Tôi muốn mua bảo hiểm nhân thọ"
      ↓ (AI tư vấn 5 phút)
Bot → Khách: "Gói XYZ phù hợp, giá 3.5 triệu/năm. Bạn đồng ý?"
Khách → Bot: "Đồng ý"
      ↓ (create_payment_request)
Bot → Khách: "Quét mã QR này để thanh toán" [QR code]
      ↓ (await_settlement - chờ 3 phút)
Khách: Quét & thanh toán
      ↓ (bank feed xác nhận)
Bot → Khách: "✅ Thanh toán thành công! Hợp đồng đã được ký. Xem chi tiết: [link]"
Hệ thống nội bộ: Cập nhật khách hàng, gửi email, thông báo team underwriting

Nhờ AgentPay VN, toàn bộ quy trình từ tư vấn đến thanh toán hoàn toàn tự động — không cần can thiệp thủ công.


Mục FAQ

1. AgentPay VN có an toàn không? Tiền sẽ đi đâu?

Trả lời: Cực kỳ an toàn. QR code được tạo trực tiếp từ thông tin tài khoản ngân hàng của bạn. Khi khách quét và chuyển tiền, nó đi thẳng vào tài khoản nhân danh bạn — AgentPay chỉ là "cầu nối" để tạo QR, không bao giờ làm trung gian tiền.

2. Cần giấy phép hay đăng ký gì không?

Trả lời: Không. AgentPay VN là SDK mã nguồn mở — bạn download, cài đặt, sử dụng với tài khoản ngân hàng của chính mình. Điều kiện duy nhất là tài khoản ngân hàng bạn phải hỗ trợ VietQR (hầu hết các ngân hàng VN đều hỗ trợ).

3. Có thể tích hợp với Telegram/Discord/Slack được không?

Trả lời: Hoàn toàn được. SDK Python cho phép bạn gọi checkout_url từ bất kỳ bot nào (Telegram, Discord, custom API). Ví dụ trên là với Telegram — bạn có thể gửi link + QR code qua tin nhắn, và khách sẽ quét để thanh toán.

4. Nếu khách không thanh toán trong thời gian quy định thì sao?

Trả lời: Hàm await_settlement() sẽ timeout (mặc định 5 phút). Lúc đó result.settled = False, và bạn có thể tạo lại yêu cầu thanh toán mới hoặc hủy đơn hàng. QR code cũ sẽ không còn hiệu lực.


Tóm tắt nhanh

📌 AgentPay VN là gì?
Python SDK + MCP server để AI agent tự động thu tiền VietQR, tiền đi thẳng vào tài khoản ngân hàng bạn.

📌 Ưu điểm chính: - ✅ Mã nguồn mở (MIT License) - ✅ Không giữ tiền (tiền vào tài khoản nhân danh bạn) - ✅ 3 dòng code cơ bản - ✅ Tích hợp MCP (Claude, Gemini, custom agent) - ✅ Phí thấp (chỉ phí NH bình thường)

📌 Quy trình gọn nhất:

create_payment_request() → checkout_url → await_settlement() → Done

📌 Dùng cho ai? - Startup xây dựng AI agent bán hàng - E-commerce cần thanh toán nhanh - Bot Telegram/Discord cần thu tiền - Công ty SaaS muốn tích hợp VietQR

📌 Bắt đầu ngay:

pip install agentpay-vn

Bước tiếp theo

Bạn đã hiểu cách AgentPay VN hoạt động. Đây là các bước tiếp theo để bắt đầu:

  1. Truy cập trang docs chính thức: https://agentpay.servicesai.vn/v1/docs — xem hướng dẫn cấu hình đầy đủ, lấy API key, v.v.

  2. Xem code ví dụ trên GitHub: https://github.com/phuocdu/agentpay-vn — có các ví dụ cho Flask, FastAPI, Telegram bot, v.v.

  3. Cài đặt SDK: bash pip install agentpay-vn

  4. Tạo tài khoản & lấy API key: Đăng ký tại trang chính thức để nhận MERCHANT_IDAPI_KEY.

  5. Viết đoạn code đầu tiên: Copy ví dụ ở trên, thay thế API key, và chạy!

Nếu gặp vấn đề, hãy kiểm tra FAQ trên GitHub hoặc tạo issue để nhận hỗ trợ.


Chúc bạn thành công trong việc xây dựng AI agent thu tiền VietQR! 🚀

Bắt đầu →

← Tất cả bài