SePay — VietQR Bank Transfer for Odoo
Accept bank transfers on your eCommerce shop and confirm orders automatically
Developed by UncleCat
Odoo solutions for Vietnamese businesses
Payment integrations, eCommerce automation, ERP customization, and enterprise workflow optimization — built for the Vietnamese market.
Website: unclecatvn.com
Core Features
Everything you need to accept VietQR bank transfers in Odoo eCommerce
VietQR Pay Page
On-site QR code with bank details, transfer memo, and live status polling every 3 seconds. Customers never leave your shop.
Automatic Confirmation
SePay webhook updates the transaction and triggers sales post-processing right away — no 10-minute cron wait.
Bank Account Sync
Pull every bank account from your SePay dashboard with one click. Pick the active receiving account per provider.
Webhook Log
Browse every inbound notification with outcome badges, search filters, and the full JSON payload for each entry.
Manual Confirmation
Recover stuck payments from the sales order with a wizard. Reason required, action logged in the chatter.
Custom Pay Page
Two built-in QWeb templates, or inherit your own to match the shop branding. Standard Odoo views.
How it works
Three steps for the customer, one webhook for your shop
1. Checkout
The customer selects SePay and sees a VietQR code with bank details, amount, and a unique transfer memo built from the order reference.
2. Transfer
The customer pays the exact amount from any Vietnamese banking app. The pay page keeps polling status every 3 seconds.
3. Auto-confirm
SePay sends a webhook. Odoo verifies the amount, marks the order as paid, and triggers sales post-processing immediately.
Configure everything on one form
Set up SePay in minutes, all from the payment provider page
Open Accounting › Payment Providers › SePay. Paste your SePay API Token and Webhook API Key, sync bank accounts from your SePay dashboard, and pick the active receiving account.
- Webhook URL with copy-to-clipboard widget
- One-click bank account sync from SePay dashboard
- Transfer Content Prefix (default
SEVQR) for memo matching - VND / Vietnam locked at the provider level
- Custom VietQR page template selector
Payment state on every sales order
See payment status directly on the order — with manual fallback
The sales order header shows the payment provider, a colored status badge, and the SePay receiving bank account. If a webhook is delayed, click Confirm SePay Payment to open the manual confirmation wizard.
- Six status states: Draft, Pending, Authorized, Confirmed, Cancelled, Error
- Receiving bank account (bank, number, holder) visible at a glance
- Manual confirm wizard requires a reason, posts to the chatter
- Restricted to Sales Manager or Account Invoice users
Localize customer-facing messages
Brand the pending, done, and cancelled screens
Works with Odoo's standard Messages tab on every payment provider. Translate and brand the pending, done, and cancelled screens for Vietnamese customers without touching code.
- Different message for each payment state
- Rich-text editor with links, formatting, and branding
- Translatable across every Odoo language
Every webhook is logged
Full audit trail and JSON payload inspection — built in
A complete history of inbound SePay notifications. Filter by outcome, transaction state, or date. Open any entry to inspect the full JSON payload. Logs older than 90 days are cleaned up automatically.
Webhook list
Outcome, transaction state, HTTP status, account, amount — at a glance.
Payload detail
Full JSON, transfer memo, transaction time — perfect for diagnostics.
Why Vietnamese shops choose this module
A turnkey VietQR checkout that fits how Odoo already works
No per-order reconciliation
Webhook arrival flips the order state automatically. Your sales team stops opening the banking app to match transfers to orders.
Transparent and auditable
Every webhook is logged with full payload. Every manual confirmation is recorded in the chatter. Nothing is hidden.
Built for Vietnam
VND locked, VietQR rendered via qr.sepay.vn, works with every Vietnamese bank in your SePay dashboard.
Requirements & Quick Setup
Up and running in under 10 minutes
Requirements
- Odoo 19 with Website, Sales, and eCommerce (
website_sale) - Active SePay account linked to a Vietnamese bank
- Public website served over HTTPS (required for webhooks)
- Shop currency: VND, whole amounts only (no decimals)
Quick setup
- Paste API Token and Webhook API Key on the provider form
- Copy the Webhook URL into your SePay dashboard
- Click Sync Bank Accounts, pick the active one
- Set the Transfer Content Prefix to match SePay auto-detect
- Enable the provider and publish it on the website
Ready for Odoo 19
Automated VietQR checkout, transparent webhook logs, manual fallback
Install, configure, take your first VietQR order today. Questions or feedback? Visit unclecatvn.com.
Please log in to comment on this module