Chatbot AI bán hàng số không giữ tiền: Hướng dẫn AgentPay VN

2026-09-18 · AgentPay VN

aipythonvietqrchatbotmcp

Tình huống: Bạn có một chatbot AI bán khoá học trực tuyến

Giả sử bạn vừa xây dựng một chatbot trên Claude hoặc ChatGPT, nó giúp khách hàng tư vấn và muốn mua khoá học lập trình giá 299.000₫. Trước đây, bạn phải dùng Stripe, PayPal hay các nền tảng nước ngoài — mất phí cao, thủ tục phức tạp, lại phải giữ tiền trung gian mấy ngày.

Bây giờ nếu muốn nhận thanh toán trực tiếp vào tài khoản ngân hàng Việt Namkhông giữ tiền một xu, chỉ cần một QR code VietQR được chatbot AI gửi cho khách? Đó là lý do AgentPay VN tồn tại.

Nỗi đau thật của các nhà bán hàng số

Hiện nay, khi bạn muốn tích hợp thanh toán vào chatbot:

Bạn cần một cách đơn giản, nhanh, an toàn: tạo QR, khách quét, tiền về tài khoản ngay lập tức, AI xác nhận thanh toán.

AgentPay VN: Giải pháp tối giản

AgentPay VN là một SDK Python mã nguồn mở (MIT) + MCP server cho phép AI agents quản lý yêu cầu thanh toán VietQR. Đặc điểm:

Quy trình 3 bước cơ bản

1. Tạo yêu cầu thanh toán (create_payment_request)

Bước đầu tiên, AI agent tạo một yêu cầu thanh toán với số tiền, mô tả, và thông tin khách.

2. Gửi checkout_url tới khách

Agent nhận được URL chứa QR code và gửi cho khách qua chat, email, hoặc SMS.

3. Chờ xác nhận thanh toán (await_settlement)

Agent theo dõi bank feed, khi tiền về, tự động hoàn tất đơn hàng: gửi khoá học, cấp quyền truy cập, vv.

Tất cả xảy ra mà không cần tay người — đúng như tên gọi: AI agents xử lý.

Cài đặt và bắt đầu trong 5 phút

Bước 1: Cài SDK

pip install agentpay-vn

Bước 2: Cấu hình ngân hàng

Bạn cần: 1. Tài khoản ngân hàng hỗ trợ VietQR (SHB, MB, Tech, Vib, vv — hầu hết ngân hàng đều support). 2. Kích hoạt bank feed trên ứng dụng ngân hàng hoặc qua API nếu ngân hàng cung cấp.

Bước này là điều kiện tiên quyết; AgentPay VN sẽ lắng nghe thông báo từ ngân hàng.

Bước 3: Viết code đầu tiên

Dưới đây là một ví dụ Python đơn giản để tạo yêu cầu thanh toán:

from agentpay_vn import PaymentClient, create_payment_request

# Khởi tạo client (cấu hình chi tiết xem docs)
client = PaymentClient(
    bank_account="0123456789",  # Số tài khoản của bạn
    bank_code="SHB",             # Mã ngân hàng
    account_name="Cửa hàng của bạn"
)

# Tạo yêu cầu thanh toán cho một khách hàng
payment_req = create_payment_request(
    amount=299000,                    # Số tiền (VNĐ)
    description="Khoá học Python Pro",
    customer_id="customer_123",       # ID khách (để theo dõi)
    expires_in=3600                   # Yêu cầu hết hạn sau 1h
)

print(f"QR Code URL: {payment_req.checkout_url}")
print(f"Request ID: {payment_req.id}")

Giải thích từng dòng: - PaymentClient: Kết nối đến hệ thống AgentPay VN với thông tin tài khoản của bạn. - create_payment_request(): Tạo một yêu cầu thanh toán. VietQR sẽ tự động tính toán từ bank_account + amount. - checkout_url: URL chứa QR code — bạn gửi cái này cho khách (hoặc embed vào chatbot UI). - expires_in: Yêu cầu thanh toán có thời hạn (nếu khách không thanh toán trong 1 giờ, nó sẽ hết hạn).

Chờ thanh toán và xác nhận

Sau khi khách quét QR và thanh toán, agent cần chờ xác nhận từ bank feed. Dùng await_settlement():

import asyncio
from agentpay_vn import await_settlement

# Hàm xử lý sau khi thanh toán thành công
async def handle_payment_success(payment_id, amount):
    print(f"✅ Thanh toán {amount}₫ xác nhận!")
    print(f"   ID: {payment_id}")
    # Gửi khoá học cho khách
    # await send_course_link(customer_id, course_url)

# Chờ thanh toán (timeout sau 1 giờ nếu không có)
result = await await_settlement(
    request_id=payment_req.id,
    timeout_sec=3600
)

if result.is_settled:
    await handle_payment_success(result.request_id, result.amount)
else:
    print("❌ Thanh toán không xác nhận hoặc hết hạn.")

Cách hoạt động: - await_settlement(): Lắng nghe thông báo từ bank feed. Khi tiền vào, ngân hàng sẽ gửi webhook hoặc thông báo. - Hàm này sẽ block cho đến khi tiền về hoặc hết timeout. - Sau khi xác nhận, bạn có thể tự động gửi khoá học, cấp quyền, vv.

Tích hợp với Claude qua MCP Server

Nếu bạn muốn Claude (hoặc agent framework khác) gọi trực tiếp các hàm AgentPay VN, dùng MCP server:

Cài MCP Server

pip install agentpay-mcp

Cấu hình Claude

Trong file claude_desktop_config.json (hoặc tệp cấu hình tương ứng), thêm:

{
  "mcpServers": {
    "agentpay": {
      "command": "python",
      "args": ["-m", "agentpay_mcp.server"],
      "env": {
        "AGENTPAY_BANK_ACCOUNT": "0123456789",
        "AGENTPAY_BANK_CODE": "SHB",
        "AGENTPAY_ACCOUNT_NAME": "Cửa hàng của bạn"
      }
    }
  }
}

Bây giờ, bạn có thể prompt Claude như:

Bạn: "Nếu khách muốn mua khoá lập trình giá 299.000₫, hãy tạo yêu cầu thanh toán và gửi QR code cho anh ấy."

Claude: [Gọi create_payment_request qua MCP] "OK, tôi đã tạo QR code. Khách vui lòng quét để thanh toán 299.000₫ cho khoá học Python Pro."

Khách quét → Thanh toán

Claude: [Gọi await_settlement qua MCP] "Cảm ơn! Tiền đã xác nhận. Tôi đang gửi link khoá học cho bạn ngay..."

MCP server tự động cải thiện trải nghiệm AI agent.

Kịch bản thực tế: Quán cà phê bán cà phê online

Hãy tưởng tượng một quán cà phê nhỏ ở Sài Gòn muốn bán cà phê qua chatbot:

Quy trình

  1. Khách nhắn chatbot: "Tôi muốn mua 2 ly cà phê phin đen 120k + 1 ly sữa chua 80k, tổng 200k."
  2. Agent AI: - Tính toán: 120k × 2 + 80k = 320k - Gọi create_payment_request(amount=320000, description="Cà phê: 2 phin, 1 sữa chua") - Gửi QR code + nói: "Vui lòng quét QR để thanh toán 320.000₫. Chúng tôi sẽ giao trong 30 phút."
  3. Khách quét QR, thanh toán: Tiền chuyển trực tiếp vào tài khoản quán cà phê.
  4. Bank feed gửi thông báo: "Xác nhận nhận 320.000₫ từ khách ABC."
  5. Agent AI: - Nhận thông báo qua await_settlement() - Gửi xác nhận: "✅ Tiền đã xác nhận. Tài xế sẽ giao cà phê của bạn lúc 15:30. Cảm ơn bạn!" - Tự động push đơn hàng vào hệ thống giao hàng.

Toàn bộ quy trình không cần con người can thiệp, không cần app thứ ba, tiền về ngay, chi phí gần 0.

So sánh: AgentPay VN vs. Các phương án khác

Tiêu chí AgentPay VN Stripe ZaloPay Ngân hàng (trực tiếp)
Phí giao dịch 0% (chỉ phí ngân hàng ~0.1%) 3.5% 1% ~0.1%
Thời gian nhận tiền Ngay lập tức T+1 T+1 Ngay
Yêu cầu tài khoản merchant ❌ Không ✅ Có ✅ Có ✅ Có
Tích hợp AI dễ dàng ✅ MCP ready ⚠️ Phức tạp ⚠️ Phức tạp ⚠️ Rất phức tạp
Mã nguồn mở ✅ MIT ❌ Không ❌ Không ❌ Không
Không giữ tiền ✅ Có ❌ Giữ tạm ❌ Giữ tạm ✅ Có
Hỗ trợ VietQR ✅ Có ❌ Không ❌ Không ✅ Có

Những điều nên làm & không nên làm

✅ Nên

❌ Không nên

Câu hỏi thường gặp (FAQ)

1. Nếu khách thanh toán nhưng agent bị crash trước khi nhận thông báo, sao?

Trả lời: Bank feed của ngân hàng sẽ ghi lại giao dịch. Khi agent khởi động lại, bạn có thể gọi list_settlements(since_time=...) để kiểm tra các giao dịch chưa xử lý. AgentPay VN cung cấp API để "catch up" các yêu cầu cũ.

2. Tôi cần tài khoản ngân hàng nào?

Trả lời: Hầu hết ngân hàng Việt Nam đều hỗ trợ VietQR (SHB, MB, TCB, VIB, ACB, vv). Chỉ cần tài khoản thường hoặc doanh nghiệp là được. Chúng tôi khuyên dùng tài khoản kinh doanh để dễ audit.

3. Có phí ẩn nào không?

Trả lời: AgentPay VN hoàn toàn miễn phí (MIT open-source). Bạn chỉ trả phí ngân hàng (nếu có) khi tiền vào — thường ~0.1% hoặc miễn phí, tùy ngân hàng.

4. Nếu tôi muốn deploy trên máy chủ riêng, được không?

Trả lời: Được! AgentPay VN là mã nguồn mở. Bạn có thể download từ GitHub, chạy trên máy chủ hoặc VPS riêng. Chỉ cần Python 3.8+, pip, và cấu hình bank feed là xong.

Tóm tắt nhanh

Hành động tiếp theo

Ready? Dưới đây là 3 bước để bắt đầu:

  1. Cài đặt: Chạy pip install agentpay-vn trên máy của bạn.
  2. Đọc tài liệu: Ghé https://agentpay.servicesai.vn/v1/docs để xem ví dụ chi tiết, API reference, vv.
  3. Thử trên staging: Setup bank feed với ngân hàng, viết script test, rồi integrate vào chatbot AI của bạn.

Muốn hỏi thêm? Ghé GitHub: https://github.com/phuocdu/agentpay-vn — open issue hoặc PR welcome!

Chúc bạn thành công trong việc bán hàng số mà không bao giờ phải lo lắng về tiền. 🎉

Bắt đầu →

← Tất cả bài