Tích hợp thanh toán chuyển khoản BeePay là cách đơn giản nhất để website Việt Nam tự động xác nhận đơn hàng ngay khi khách hoàn tất chuyển khoản — không nhân viên check biên lai, không phí % giao dịch, không khách rời app bank quen thuộc. Bài này là pillar tổng hợp toàn bộ kiến thức bạn cần: từ cơ chế hoạt động, code mẫu cho 4 stack phổ biến, đến pricing và use case thực tế.
Mình là Phạm Huy Hoàng — founder BeePay, đã build và vận hành hệ thống này cho hàng chục SME Việt Nam từ 2021. Toàn bộ kiến thức trong bài đến từ thực chiến, không phải lý thuyết.
1. Thanh toán chuyển khoản tự động là gì?
"Chuyển khoản tự động" không phải auto trừ tiền tài khoản khách. Đó là tự động xác nhận đơn ngay khi khách hoàn tất chuyển khoản — thay vì nhân viên ngồi canh app bank rồi manual mark đơn paid.
Cơ chế gồm 3 phần: VietQR sinh động (khách quét app bank tự fill thông tin) → service đọc SMS / push notification từ bank (BeePay) → webhook event-driven về site (verify HMAC → mark đơn paid).
Đọc chi tiết cơ chế ở bài Thanh toán chuyển khoản tự động — cách hoạt động.
2. Tại sao chọn BeePay thay vì MoMo / VNPay?
3 cổng phổ biến nhất Việt Nam có 3 use case khác nhau, không cái nào "tốt hơn" tuyệt đối:
| BeePay | MoMo | VNPay | |
|---|---|---|---|
| Phí giao dịch | 0% | 1.5-2.5% | 1.0-1.8% |
| UX khách | Quét QR app bank quen thuộc | Mở app MoMo | Form chọn bank + OTP |
| Tốc độ confirm | 1-3 giây | Realtime | Realtime |
| Phù hợp với | SME, AOV trung-cao, khách 25-55t | Đơn nhỏ <500k, khách trẻ | Khách dùng thẻ Visa/Master |
Đọc bảng so sánh chi tiết: BeePay vs MoMo vs VNPay.
3. Cơ chế tích hợp — quy trình chuẩn 5 bước
- Đăng ký system ở dashboard BeePay (id.beepay.vn) — kết nối ngân hàng, lấy
API_KEY+SECRET_KEY - Register webhook URL
https://yoursite.com/api/beepay-webhook→ BeePay trả vềsecret_keyđể verify chữ ký - Generate VietQR khi khách checkout — endpoint
qr.beepay.vn/img/{BANK}-{ACCOUNT}.png?amount=&addInfo={ORDER_ID} - Verify HMAC ở webhook handler — chữ ký HMAC-SHA256 trên raw body, dùng
timingSafeEqual - Polling frontend mỗi 3 giây để flip UI sang "✓ Thành công" khi đơn paid
Tutorial từng bước (full code Node.js + PHP) ở Hướng dẫn tích hợp BeePay 5 bước A-Z.
4. Code mẫu cho từng stack
Tích hợp BeePay không bị giới hạn framework — chỉ cần backend nhận POST + verify HMAC. Mình đã viết tutorial riêng cho 2 stack phổ biến nhất:
- WooCommerce / WordPress — plugin custom hook vào
woocommerce_thankyou+ REST endpoint nhận webhook → Tích hợp BeePay vào WooCommerce - Next.js + Postgres — App Router, route handler, Prisma schema có sẵn → Tích hợp BeePay vào Next.js
Cho Laravel / Django / Rails — pattern y hệt: 1 controller verify HMAC + 1 endpoint generate QR. Cần code mẫu thì comment dưới hoặc liên hệ trực tiếp.
5. VietQR — engine tạo QR đứng sau BeePay
BeePay dùng service qr.beepay.vn để generate QR động — tuân chuẩn EMV của NAPAS, mọi app bank Việt Nam scan được. Quick-link đơn giản nhất:
https://qr.beepay.vn/img/{BANK}-{ACCOUNT}.png
?amount={AMOUNT}
&addInfo={ORDER_ID}
Hỗ trợ 47 bank Việt Nam, có cả endpoint JSON (/v1/qr/generate) và deeplink mobile (/pay?app=acb&...). Đọc kỹ ở bài VietQR là gì? Cách tích hợp VietQR tự động.
6. Bảo mật webhook — verify HMAC bắt buộc
Webhook URL của bạn public-reachable nên ai cũng có thể POST giả. Giải pháp: BeePay ký mỗi webhook bằng HMAC-SHA256 với secret_key chỉ bạn và BeePay biết. Server bạn:
- Đọc raw body (chưa parse JSON)
- HMAC-SHA256(rawBody, secret) → so với header
X-Webhook-Signature - Dùng
crypto.timingSafeEqual()tránh timing attack - Sai chữ ký → return 401, log IP để rate-limit
Code Node.js / PHP / Python ở Verify webhook BeePay bằng HMAC-SHA256.
7. Đối soát giao dịch — bonus tự động hoá
Sau khi đơn paid, vẫn cần đối soát số dư bank với tổng tiền hệ thống cuối ngày. BeePay cung cấp API /transactions — pull về tất cả giao dịch trong khoảng thời gian, match với bảng orders trong DB của bạn → flag mismatch ngay. Setup cron 1h/lần là đủ.
Chi tiết flow + script reconciliation ở Đối soát giao dịch ngân hàng tự động.
8. Chi phí thật — pricing breakdown
BeePay không thu % giao dịch như SaaS, chỉ thu phí dịch vụ cố định 50-200k/tháng tuỳ tier. Break-even point so với MoMo (2% phí):
- Doanh thu <5tr/tháng → MoMo rẻ hơn
- Doanh thu 5-50tr/tháng → BeePay tiết kiệm 100k-1tr/tháng
- Doanh thu >50tr/tháng → BeePay tiết kiệm 1-10tr/tháng
Tính toán ROI chi tiết với case study thật: Pricing BeePay — chi phí thật so với SaaS cổng thanh toán.
9. Use case thực tế — ai đang dùng?
BeePay đang được dùng cho 5 mô hình SME phổ biến:
- Shop online quần áo / mỹ phẩm — 30-200 đơn/ngày, AOV 200-500k
- Trung tâm đào tạo / khoá học online — AOV 1-5tr, conversion-sensitive
- Booking dịch vụ (spa, sân bóng, sự kiện) — đặt cọc 30-50%
- SaaS subscription — recurring monthly
- Marketplace nhỏ — multi-seller, payout tự động
5 case study thực tế (số liệu thật, ẩn tên brand): 5 use case BeePay cho SME Việt Nam.
10. Bắt đầu từ đâu?
Lộ trình recommend cho dev mới tiếp cận BeePay (~30 phút setup + 2-4h code tuỳ stack):
- Đọc bài tổng quan: BeePay là gì? để nắm cơ chế
- Đăng ký account ở beepay.vn (free 7 ngày dùng thử)
- Follow tutorial: Tích hợp BeePay 5 bước A-Z
- Implement HMAC verify đúng theo guide HMAC-SHA256
- Setup đối soát theo cron reconciliation
Cần build hệ thống thanh toán cho SME? Mình nhận tư vấn + build trọn gói từ 2021. Production case study + plugin có sẵn ở /he-sinh-thai/beepay. Hoặc đặt lịch tư vấn 30 phút miễn phí.
