| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
eCommerce (website_sale)
• Invoicing (account) • Discuss (mail) • Website (website) |
| Lines of code | 849 |
| Technical Name |
doku_payment |
| License | LGPL-3 |
| Website | https://oentoro.blog |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
eCommerce (website_sale)
• Invoicing (account) • Discuss (mail) • Website (website) |
| Lines of code | 849 |
| Technical Name |
doku_payment |
| License | LGPL-3 |
| Website | https://oentoro.blog |
DOKU Payment for Odoo 19
Seamless checkout with DOKU — built for delayed-payment flows such as Virtual Account and QRIS, with webhook handling, retry-safe sessions, and customer portal continuation.
Key Features
DOKU Checkout Integration
Redirect customers from Odoo to the DOKU checkout page and track the full payment lifecycle inside Odoo.
VA & QRIS Support
Optimized for delayed-payment methods where customers pay later and confirmation arrives via webhook.
Safe Retry Flow
Expired links are never reused. Fresh DOKU sessions are generated automatically with unique retry-safe references.
Portal Continuation
Customers can resume payment from the quotation or order detail page while the DOKU link is still valid.
Business Flow
- Customer starts checkout — Odoo creates a DOKU payment session.
- Transaction becomes pending; the quotation remains unpaid.
- Customer completes payment via VA or QRIS at their convenience.
- DOKU sends a webhook notification to Odoo.
- On success, the related quotation is confirmed automatically.
Status Handling
Transaction marked as done; the related sales document moves forward automatically.
Transaction stays pending; customer can continue payment from the portal while the link is valid.
Stale DOKU session is canceled; customer can initiate a fresh payment session immediately.
Transaction marked as error; the sales team can review the case directly from Odoo.
Technical Notes
DOKU references are generated independently from final Odoo invoice numbers to support safe retries without conflicts.
This keeps each DOKU request unique while preserving full traceability back to the originating quotation or sales order.
Requirements
- Odoo 19
- Python:
requests - Modules: payment, account_payment
- DOKU Client ID & Secret Key
- Modules: sale, website_sale
- Public HTTPS URL for callbacks
Why This Module
- Built specifically for Odoo 19 — not backported or generalized.
- Pragmatic handling for Odoo Community deployments without Enterprise overhead.
- Designed for real delayed-payment operations, not instant-only card flows.
- Keeps payment retries manageable for customers and back-office users alike.
Please log in to comment on this module