Bán sản phẩm số qua chatbot AI không cần giữ tiền

2026-09-12 · AgentPay VN

aipythonvietqrpaymentmcp

Nỗi đau khi bán hàng qua chatbot AI

Bạn vừa xây dựng một chatbot AI để bán khóa học lập trình. Khách hàng rất hứng thú, nhưng khi đến khâu thanh toán, bạn gặp vấn đề:

Bạn nghĩ: "Có cách nào để chatbot tự thu tiền trực tiếp vào tài khoản ngân hàng của mình không?" Câu trả lời là — và nó gọi là AgentPay VN.

AgentPay VN là gì?

AgentPay VN là một bộ công cụ Python mã nguồn mở (MIT) cho phép AI agent tạo và quản lý yêu cầu thanh toán VietQR. Điểm đặc biệt:

Thay vì bạn là "người trung gian", chatbot giờ là "nhân viên bán hàng" của bạn — tạo hóa đơn, gửi QR thanh toán, kiểm tra tiền về, tự động xác nhận đơn.

Tại sao bạn cần AgentPay VN ngay bây giờ?

1. Tự động hoá toàn bộ quy trình bán hàng

Có 3 bước chính:

  1. create_payment_request — AI agent tạo yêu cầu thanh toán với số tiền
  2. send checkout_url — Bot gửi QR code + link thanh toán cho khách
  3. await_settlement — Chờ tiền về tài khoản ngân hàng, tự động confirm

Không cần bạn can thiệp. Chatbot tự xử lý từ đầu đến cuối.

2. Giảm chi phí và rủi ro

3. Tăng tin tưởng khách hàng

Khách thấy QR code từ ngân hàng chính hãng → an tâm thanh toán → tỷ lệ hoàn thành cao hơn.

Cách cài đặt AgentPay VN

Bước 1: Cài đặt Python SDK

pip install agentpay-vn

Chỉ cần 1 lệnh. Tất cả dependency sẽ được cài tự động.

Bước 2: Lấy thông tin ngân hàng

Bạn cần: - Bank account: Số tài khoản ngân hàng (VietQR) - Bank code: Mã ngân hàng (ví dụ: 970 cho Techcombank) - Bank feed credentials (tùy chọn): Để tự động kiểm tra tiền về

Bước 3: Setup MCP server (nếu dùng Claude)

Nếu bạn muốn tích hợp trực tiếp với Claude AI:

pip install agentpay-mcp

Cấu hình file claude_config.json:

{
  "mcpServers": {
    "agentpay-vn": {
      "command": "python",
      "args": ["-m", "agentpay_mcp.server"],
      "env": {
        "AGENTPAY_BANK_ACCOUNT": "0123456789",
        "AGENTPAY_BANK_CODE": "970",
        "AGENTPAY_BANK_FEED_API_KEY": "your-api-key-here"
      }
    }
  }
}

Claude sẽ tự động gọi hàm create_payment_request hay await_settlement khi cần.

Ví dụ thực tế: Bot bán khóa học

Tưởng tượng bạn chạy một chatbot trên Telegram / Facebook / website để bán khóa học Python giá 299.000 VND. Dòng chảy:

Kịch bản

Khách: "Em muốn mua khóa học Python cơ bản"

Bot: "Khóa học Python cơ bản giá 299.000 VND. Em thanh toán bây giờ có được không?"

Khách: "Được, em thanh toán luôn"

Bot: [Gọi AgentPay] → Tạo QR code → Gửi cho khách

Bot: "Đây là QR thanh toán. Em quét và chuyển khoản 299.000 VND nhé. Bot sẽ tự động confirm khi tiền về."

Khách: Quét QR, thanh toán qua app ngân hàng → 5 giây sau, tiền vào tài khoản bạn

Bot: [Nhận signal từ bank feed] → "Cảm ơn em! Khóa học đã được mở khoá. Link học tập: [link]"

Code Python cho kịch bản này

from agentpay_vn import PaymentClient, PaymentRequest

# Khởi tạo client
client = PaymentClient(
    bank_account="0123456789",
    bank_code="970",  # Techcombank
    bank_feed_api_key="your-api-key"
)

# Khách muốn mua khóa học
product_price = 299000  # VND
product_name = "Khóa học Python cơ bản"
customer_id = "user_12345"

# Bước 1: Tạo yêu cầu thanh toán
payment_req = PaymentRequest(
    amount=product_price,
    description=product_name,
    customer_id=customer_id,
    reference_id=f"course_{customer_id}_{int(time.time())}"
)

payment = client.create_payment_request(payment_req)
print(f"QR Code URL: {payment.checkout_url}")
# Output: "https://vietqr.io/..." hoặc QR image

# Bước 2: Gửi URL cho khách
send_to_customer(
    message=f"Vui lòng thanh toán {product_price:,} VND tại: {payment.checkout_url}",
    customer_id=customer_id
)

# Bước 3: Chờ tiền về (có thể chạy async)
result = client.await_settlement(
    payment_id=payment.id,
    timeout=600  # Chờ tối đa 10 phút
)

if result.is_settled:
    print(f"✅ Tiền đã vào! Số tiền: {result.amount} VND")
    # Mở khoá khóa học cho khách
    unlock_course_for_customer(customer_id, "python-basics")
    send_to_customer(
        message="Khóa học đã được mở khoá! Bắt đầu học tại: [link]",
        customer_id=customer_id
    )
else:
    print("⏱️ Hết thời gian chờ, khách chưa thanh toán")
    send_to_customer(
        message="Yêu cầu thanh toán hết hạn. Vui lòng liên hệ admin.",
        customer_id=customer_id
    )

Giải thích từng dòng:

Cách tích hợp với Claude (MCP server)

Nếu bạn dùng Claude AI làm chatbot chính, không cần viết code Python phức tạp. Cấu hình MCP server, Claude sẽ tự gọi AgentPay khi cần.

Setup MCP server

agentpay-mcp start --port 8000

Prompt Claude

Bạn là chatbot bán khóa học. Khi khách muốn mua:
1. Yêu cầu họ thanh toán bằng create_payment_request(amount=299000, description="Khóa học Python")
2. Gửi checkout_url cho khách
3. Dùng await_settlement(payment_id) để chờ tiền
4. Nếu settlement thành công, gửi link học tập

Sử dụng tools: create_payment_request, await_settlement, send_message

Claude sẽ tự động sử dụng AgentPay như một "skill" của mình.

Nên vs Không nên khi dùng AgentPay VN

Điều Nên ✅ Không nên ❌
Sản phẩm số Mua ngay, giao tức thì (khoá học, ebook, phần mềm) Hàng vật lý cần giao (vận chuyển, xác nhận địa chỉ)
Tự động hoá Bot tự tạo QR, chờ tiền, xác nhận Cần bước xác nhận thủ công từ nhân viên
Phí & chi phí Bạn muốn giảm chi phí gateway Chấp nhận phí cao cho dịch vụ toàn diện
An toàn Bạn có tài khoản ngân hàng đã xác minh Bạn không tin tưởng ngân hàng hoặc dùng tài khoản cá nhân
Quy mô Từ 10 - hàng triệu đơn/tháng Một vài đơn một tháng (overhead cài đặt không đáng)

Ví dụ nâng cao: Multi-product bot

products = {
    "python-101": {"name": "Python cơ bản", "price": 199000},
    "python-pro": {"name": "Python nâng cao", "price": 499000},
    "web-fullstack": {"name": "Web Fullstack", "price": 799000},
}

def handle_purchase(customer_id, product_key):
    product = products[product_key]
    payment_req = PaymentRequest(
        amount=product["price"],
        description=product["name"],
        customer_id=customer_id,
        reference_id=f"{product_key}_{customer_id}_{time.time()}",
        metadata={"product_key": product_key}  # Lưu info để dùng sau
    )

    payment = client.create_payment_request(payment_req)
    return payment.checkout_url

# Bot: "Bạn muốn mua khóa nào?"
# Khách: "Python nâng cao"
# Bot: checkout_url = handle_purchase("user_123", "python-pro")
#      Gửi QR cho khách → Chờ → Xác nhận → Mở khoá

Với cách này, bạn có thể bán nhiều sản phẩm khác nhau mà không cần thay đổi logic chính.

FAQ - Các câu hỏi thường gặp

1. Tiền về tài khoản tôi mất bao lâu?

Do VietQR được xử lý bởi hệ thống ngân hàng, thường vào trong 2-5 giây. Không có độ trễ do trung gian. AgentPay chỉ "theo dõi" các giao dịch, không giữ tiền.

2. Nếu khách quét QR nhưng không thanh toán thì sao?

Bạn có thể set timeout. Ví dụ, await_settlement(timeout=600) sẽ chờ 10 phút. Nếu hết thời gian, bot sẽ yêu cầu khách thanh toán lại hoặc liên hệ support.

3. Tôi không muốn lưu bank feed credentials. Có cách khác không?

Có. Bạn có thể dùng webhook hoặc polling. AgentPay hỗ trợ cả hai. Nếu không cấu hình bank feed, bạn phải tự check số dư tài khoản qua API ngân hàng (ví dụ: Techcombank API).

4. AgentPay VN có an toàn không? Tiền có bị mất không?

Absolutely. Tiền không bao giờ qua hệ thống AgentPay. QR code trỏ thẳng vào tài khoản ngân hàng bạn. AgentPay chỉ là "cầu nối" giữa bot và ngân hàng. Code mở nguồn (MIT), bạn có thể review.

Tóm tắt nhanh

Bước tiếp theo

Bắt đầu ngay hôm nay

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

  2. Xem tài liệu đầy đủ: 👉 AgentPay VN Docs

  3. Clone example project: 👉 GitHub - AgentPay VN

  4. Thử demo: - Fork repository - Điền bank account & credentials - Chạy example bot - Gửi QR cho bạn bè test

Tích hợp sâu hơn

Nếu bạn muốn bot hoạt động 24/7: - Deploy trên Replit / Railway / Fly.io (miễn phí hoặc rẻ) - Setup webhook từ ngân hàng để nhận thông báo tiền về ngay lập tức - Tích hợp database (SQLite / PostgreSQL) để lưu lịch sử giao dịch - Thêm analytics: bot bạn bán được bao nhiêu / ngày

AgentPay VN sẽ làm phần thanh toán, bạn tập trung vào trải nghiệm khách hàng.


Câu hỏi cuối cùng: Bạn còn chờ gì? Chatbot AI của bạn đã sẵn sàng bán hàng, chỉ cần thêm AgentPay vào. Hãy thử ngay! 🚀

Bắt đầu →

← Tất cả bài