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

2026-08-30 · AgentPay VN

aipythonmcpvietqragentpay

Nỗi Đau: Tại Sao Startup Việt Vẫn Chờ Stripe?

Bạn vừa phát triển một AI agent bán khoá học trực tuyến. Mỗi lần khách muốn thanh toán, agent phải "dừng lại" và hỏi: "Xin lỗi, bạn cần chuyển tiền trước qua ngân hàng rồi báo tôi để tôi cấp tài khoản." Không chuyên nghiệp. Bạn muốn nó tự động, liền mạch, ngay lập tức.

Stripe? Chưa hỗ trợ chuyển khoản nội địa Việt Nam tốt. PayPal? Phí cao, giới hạn rút tiền. Các giải pháp cũ? Quá phức tạp, phải giữ tiền của khách, rủi ro cao.

Vấn đề thực tế: - AI agent không thể gọi API thanh toán Việt mà không cần backend phức tạp - Khách hàng không tin khi phải chuyển tiền trước cho công ty lạ - Lập trình viên Việt thiếu SDK tiêu chuẩn, an toàn để tích hợp

Đó chính là lý do AgentPay VN sinh ra.

AgentPay VN Là Gì? Và Tại Sao Nó Khác Biệt

AgentPay VN là một SDK Python mã nguồn mở (MIT License) cho phép AI agent (từ Claude, ChatGPT, hay bot tự xây) thu tiền trực tiếp qua VietQR – mã QR ngân hàng Việt Nam được chuẩn hóa.

Ba điểm khác biệt chính:

  1. Không bao giờ giữ tiền – Mã QR trỏ thẳng vào tài khoản ngân hàng của bạn (merchant). Tiền vào ngay, không qua trung gian.

  2. Open-source, kiểm toán được – MIT License, mã công khai trên GitHub. Bạn tự tin về bảo mật.

  3. Dành cho AI agents – Tích hợp MCP (Model Context Protocol) để Claude hay OpenAI API tự gọi hàm thanh toán mà không cần viết backend phức tạp.

Quy trình rất đơn giản:

AI agent → Tạo yêu cầu thanh toán → Gửi link QR checkout → Chờ khách quét VietQR → Xác nhận thanh toán từ ngân hàng

Cài Đặt & Cấu Hình Ban Đầu (5 Phút)

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

pip install agentpay-vn

Sau khi cài xong, bạn có thể import và sử dụng ngay:

from agentpay import AgentPayClient, PaymentRequest

# Khởi tạo client (sẽ đọc config từ biến môi trường)
client = AgentPayClient()

Bước 2: Cấu Hình MCP Server (Cho Claude)

Nếu bạn muốn Claude tự gọi hàm thanh toán, thêm dòng này vào claude_desktop_config.json:

{
  "mcpServers": {
    "agentpay-vn": {
      "command": "agentpay-mcp",
      "args": [],
      "env": {
        "MERCHANT_BANK_CODE": "970418",
        "MERCHANT_ACCOUNT_NUMBER": "1234567890",
        "MERCHANT_NAME": "Tiệm Cà Phê AI"
      }
    }
  }
}

Thay giá trị MERCHANT_* bằng thông tin ngân hàng của bạn.

Ví Dụ Thực Tế: Bot Bán Khoá Học

Hãy tưởng tượng bạn có một bot trên Telegram/Discord dạy lập trình AI. Khi khách nói "Mua khoá học Python + AI", bot sẽ:

  1. Tạo yêu cầu thanh toán
  2. Gửi mã QR checkout
  3. Chờ khách quét và thanh toán
  4. Tự động cấp quyền truy cập khoá học

Mã code hoàn chỉnh:

from agentpay import AgentPayClient, PaymentRequest
import time

# Khởi tạo client
client = AgentPayClient(
    merchant_bank_code="970418",  # VietcomBank
    merchant_account="1234567890",
    merchant_name="Tiệm Học AI"
)

# Hàm xử lý bán khoá học
async def sell_course(customer_phone: str, course_name: str, price: int):
    # 1️⃣ Tạo yêu cầu thanh toán
    payment_request = client.create_payment_request(
        amount=price,
        description=f"Khoá học: {course_name}",
        customer_phone=customer_phone,
        order_id=f"ORD_{int(time.time())}"
    )

    print(f"📲 QR Checkout URL: {payment_request.checkout_url}")
    print(f"💰 Số tiền: {price:,.0f} VNĐ")
    print("Vui lòng quét mã QR để thanh toán...\n")

    # 2️⃣ Chờ khách thanh toán
    settlement = await client.await_settlement(
        payment_request.id,
        timeout_seconds=600  # Chờ tối đa 10 phút
    )

    if settlement.status == "completed":
        print(f"✅ Thanh toán thành công! ID giao dịch: {settlement.transaction_id}")
        # 3️⃣ Tự động cấp quyền truy cập
        grant_course_access(customer_phone, course_name)
        return True
    else:
        print(f"❌ Thanh toán thất bại hoặc hết hạn.")
        return False

def grant_course_access(phone: str, course: str):
    # Lưu vào database, gửi email, v.v.
    print(f"🎓 Cấp quyền truy cập khoá '{course}' cho {phone}")

# Sử dụng
if __name__ == "__main__":
    import asyncio
    asyncio.run(sell_course(
        customer_phone="0912345678",
        course_name="Python + AI cho Người Mới Bắt Đầu",
        price=499000
    ))

Giải thích từng bước: - create_payment_request() → Tạo yêu cầu, trả về object có checkout_url (mã QR) - await_settlement() → Lắng nghe callback từ ngân hàng, chờ khách thanh toán - Khi trạng thái là "completed", bạn tự động cấp quyền (gửi email, coi tài khoản, v.v.)

Quy Trình 3 Dòng Lệnh (Lõi Của AgentPay VN)

from agentpay import AgentPayClient

client = AgentPayClient()

# ⚡ Dòng 1: Tạo yêu cầu thanh toán
payment = client.create_payment_request(amount=100000, description="Thanh toán đơn hàng")

# ⚡ Dòng 2: Gửi checkout URL cho khách (qua email, SMS, Telegram, v.v.)
print(f"Quét QR: {payment.checkout_url}")

# ⚡ Dòng 3: Chờ xác nhận thanh toán từ ngân hàng
settlement = await client.await_settlement(payment.id)
if settlement.status == "completed":
    print("✅ Tiền đã về tài khoản!")

Cấu Hình Chi Tiết Cho Các Ngân Hàng Phổ Biến

Ngân Hàng Mã Ngân Hàng Ghi Chú
VietcomBank (VCB) 970418 Phổ biến nhất, hỗ trợ tốt
Techcombank (TCB) 970407
BIDV 970418
Agribank 970405
ACB 970416

Cách tìm mã ngân hàng: Kiểm tra danh sách đầy đủ tại VietQR specs

Ứng Dụng Trong Thực Tế: 5 Kịch Bản

1️⃣ Quán Cà Phê Tự Động Đặt Hàng

Khách nói với bot Discord: "Đặt 2 cà phê đen + 1 trà sữa" → Bot tính giá → Gửi QR thanh toán → Quán nhận order tự động.

2️⃣ E-Learning Platform

Học viên chọn khoá học → Bot gửi link QR → Sau khi thanh toán, tự động kích hoạt tài khoản với video, bài tập.

3️⃣ Dịch Vụ Micro (Gig Economy)

Freelancer hoàn thành việc → Gửi invoice qua bot → Khách quét QR thanh toán → Tiền vào tài khoản freelancer ngay.

4️⃣ Cửa Hàng Online Nhỏ

Khách mua hàng trên Shopify → Thay thanh toán Stripe bằng AgentPay VN → Giảm phí, tương thích Việt.

5️⃣ Bot Khảo Sát / Điều Tra Trả Tiền

Bot: "Trả lời 10 câu hỏi, nhận 50k" → Khách trả lời → Bot gửi QR thanh toán 50k ngay.

So Sánh: AgentPay VN vs. Các Giải Pháp Khác

Tiêu Chí AgentPay VN Stripe PayPal Momo
Hỗ trợ VietQR ✅ Tích hợp sâu ❌ Chưa ❌ Không ✅ (hạn chế)
Giữ tiền ❌ Không ❌ Có (T+1) ❌ Có ❌ Có
Open-source ✅ MIT ❌ Proprietery ❌ Proprietery ❌ Proprietery
MCP/AI Ready ✅ Có ❌ Không ❌ Không ❌ Không
Phí ~~0%~~ Miễn phí 2.9% + $0.30 3.5% 1-3%
Tốc độ rút tiền Ngay lập tức 1-2 ngày 3-5 ngày 1-2 giờ

Nên dùng AgentPay VN khi: - Bạn là startup Việt, muốn giải pháp "made in Vietnam" - Cần tích hợp AI agents (Claude, GPT, v.v.) - Muốn giữ full kiểm soát code (open-source) - Ưu tiên tốc độ thanh toán và rút tiền

Không nên dùng khi: - Cần thanh toán quốc tế (chỉ hỗ trợ VietQR nội địa) - Yêu cầu webhook phức tạp cho các hệ thống legacy

Nâng Cao: Customization & Deployment

Tùy Chỉnh Tin Nhắn QR

payment = client.create_payment_request(
    amount=250000,
    description="Khóa học Python Advanced (30 tiếng)",
    metadata={  # Dữ liệu thêm để theo dõi
        "course_id": "PYTHON_ADV_001",
        "student_email": "student@example.com",
        "cohort": "Q1_2025"
    },
    customer_phone="0912345678",
    customer_email="student@example.com"
)

Deploy MCP Server Trên Cloud (Railway / Fly.io)

# Dockerfile
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
CMD ["agentpay-mcp"]
# requirements.txt
agentpay-vn>=1.0.0
python-dotenv>=1.0

Webhook Callback (Nâng Cao)

Ngoài await_settlement(), bạn cũng có thể setup webhook để nhận notification ngay khi khách thanh toán:

@app.post("/webhook/payment")
async def handle_payment_webhook(event: dict):
    if event["status"] == "completed":
        order_id = event["order_id"]
        amount = event["amount"]
        # Xử lý: cấp quyền, gửi email, v.v.
        print(f"Thanh toán {amount} VNĐ cho đơn {order_id}")
    return {"ok": True}

# Đăng ký webhook
client.register_webhook("https://yourapp.com/webhook/payment")

Câu Hỏi Thường Gặp (FAQ)

❓ AgentPay VN có an toàn không?

Có. Code là open-source (MIT), bạn tự review. Tiền không bao giờ qua AgentPay VN – trỏ thẳng vào ngân hàng bạn. Dữ liệu nhạy cảm được mã hóa end-to-end.

❓ Khách hàng cần tạo tài khoản AgentPay VN không?

Không. Khách chỉ cần có app ngân hàng hỗ trợ VietQR (99% ngân hàng Việt đều hỗ trợ). Quét QR → Xác nhận → Thanh toán. Xong.

❓ Tôi có thể kiếm tiền từ AgentPay VN không?

Có thể, nếu bạn tích hợp nó thành plugin/dịch vụ cho các developer khác. AgentPay VN là open-source, bạn tự do commercialize (miễn tuân MIT License).

❓ Hỗ trợ thanh toán quốc tế không?

Hiện tại không. AgentPay VN chỉ tập trung VietQR (trong nước). Nếu cần quốc tế, kết hợp Stripe hoặc Wise.

❓ Có rate limit không?

Không có rate limit cứng, nhưng ngân hàng của bạn có thể giới hạn. Khuyến nghị: 100-500 giao dịch/giờ (tùy ngân hàng).

Tóm Tắt Nhanh: 5 Điểm Chính

Bước Tiếp Theo: Bắt Đầu Ngay Hôm Nay

1. Cài SDK:

pip install agentpay-vn

2. Xem tài liệu đầy đủ: 📖 Docs chính thức

3. Tìm hiểu code: 🔗 GitHub repo

4. Thử demo:

python3 -c "from agentpay import AgentPayClient; print('AgentPay VN ready!')"

Bắt đầu nhỏ – có thể là một bot Discord thử nghiệm, rồi scale lên sản phẩm chính. AgentPay VN sẵn sàng cho bạn.

Hãy để AI agent của bạn tự động thu tiền, từ hôm nay. 🚀

Bắt đầu →

← Tất cả bài