Hi everyone,
If you're looking to implement a custom payment provider, such as Cash on Delivery (COD), and want it to be seamlessly confirmed through the Odoo website payment transaction flow, here's a quick breakdown based on our experience at Webkul.
Odoo lets you define new payment acquirers via the payment.acquirer model. For COD, you'd typically:
Create a new acquirer (e.g., payment_cod) with minimal API dependency.
Set state as 'enabled' and pre_msg/post_msg to inform customers about the payment terms.
Use the controller /payment/transaction to confirm the order post-checkout.
Ensure your payment.transaction record is updated correctly with state='done' or state='authorized' upon completion.
This method ensures that Cash on Delivery shows as a valid Odoo payment method on the checkout page and works with the core transaction confirmation logic.
Let me know if you're using a custom flow or want to integrate with a third-party gateway, Webkul has built various Odoo payment gateways and can share insights based on your use case.
Visit us at- https://store.webkul.com/Odoo/Payment.html