- Home
- Apps
- SaaS Tools
- Moyasar Payment Gateway for Odoo
Illustrative previewA build-to-order Odoo payment provider that connects your Saudi checkout to Moyasar
— accepting mada, Apple Pay, STC Pay, and cards in SAR with webhook-based reconciliation.
ECOSIRE builds, installs, and supports it after a scoping call.
What is Moyasar Payment Gateway for Odoo?
A build-to-order Odoo payment provider that connects your Saudi checkout to Moyasar — accepting mada, Apple Pay, STC Pay, and cards in SAR with webhook-based reconciliation. ECOSIRE builds, installs, and supports it after a scoping call. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Odoo.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
Technical Specifications
- Odoo Compatibility
- Odoo 17, Odoo 18, Odoo 19
- Editions
- Enterprise & Community
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- PostgreSQL 12+
About this Product
Saudi merchants lose conversions the moment their Odoo checkout can't offer mada, Apple Pay, or STC Pay. Odoo core ships with Stripe, PayPal, Adyen, and a few others, but there is no native Moyasar payment.provider — so a Riyadh or Jeddah store either bounces customers to an external link, hard-codes a fragile custom controller, or simply can't take the local rails that Saudi buyers actually trust. The gap widens with mada: it's the dominant domestic scheme, and without a provider that speaks Moyasar's API, your Odoo eCommerce, Sales, and Invoicing flows never see a clean, reconciled payment.
ECOSIRE builds a first-class Moyasar payment provider for Odoo. Technically, it extends the payment.provider model (_inherit = 'payment.provider') with a new code selection value and Moyasar-specific credential fields (publishable/secret keys, webhook secret) stored on the provider record, plus a payment.transaction extension that implements _get_specific_rendering_values, _send_payment_request, and _process_notification_data for the Moyasar lifecycle. The embedded Moyasar.js form is rendered through a QWeb/OWL template so the customer pays without leaving your Odoo checkout, and the payment method list (mada, Apple Pay, STC Pay, cards) is driven by payment.method records so you control exactly what appears. All amounts are handled in SAR with correct minor-unit (halalah) conversion to match Moyasar's API expectations.
Reconciliation is the part most DIY builds get wrong, so we make it the backbone. A public JSON controller receives Moyasar webhooks, verifies the signature against the stored webhook secret, and idempotently maps events onto the Odoo payment.transaction state machine (_set_pending, _set_done, _set_canceled, _set_error) — so a paid order is confirmed, the invoice/SO is advanced, and duplicate or replayed callbacks never double-post. Refunds are handled inside Odoo through the standard refund action, calling Moyasar's refund endpoint and writing back a linked refund transaction. Access is locked down with ir.model.access.csv and record rules so only authorized users touch provider credentials, and every gateway call is logged for audit. The module ships as a proper Odoo addon with a versioned __manifest__.py, targeted for your line — Odoo 17.0, 18.0, or 19.0, Community or Enterprise.
Because this is build-to-order, you're not downloading a generic zip and hoping it fits. We start with a short scoping call to confirm your Odoo version, edition, which Moyasar methods you need live, your SAR tax/invoice setup, and whether you use the eCommerce checkout, the customer portal invoice-pay flow, or both. We then build against your requirements, run UAT on a staging copy of your database, and only cut over to production with a documented rollback. Typical delivery is one working week from confirmed scope. You receive the full installable source, technical and user documentation, a training session, and a post-go-live support window — plus the git repository so the module is yours to keep.
What you get
- Installable, versioned Odoo addon source code for your exact edition and version (17.0 / 18.0 / 19.0, Community or Enterprise)
- Installation and configuration on your environment, including Moyasar credentials, webhook endpoint registration, and payment-method setup
- Technical documentation — models, controller routes, webhook contract, state-machine mapping, and `__manifest__.py` notes
- End-user guide plus a live training session for your finance/store team on payments, reconciliation, and refunds
- Post-go-live support window for fixes and questions after production cutover
- UAT on a staging copy of your database with a documented, tested rollback plan before go-live
- Git repository handover so the module source is yours to keep, extend, and version
Who this is for
Saudi eCommerce merchant on Moyasar
Runs an Odoo website/eCommerce store in KSA and needs mada, Apple Pay, and STC Pay live at checkout so local buyers pay with the rails they trust, with orders auto-confirmed in Odoo.
Finance controller reconciling SAR payments
Owns invoicing and cash application, and needs every Moyasar capture and refund to land on the right `payment.transaction` and invoice automatically — no manual matching or double-posting.
Odoo partner / in-house developer
Needs a properly architected provider on the standard `payment` framework (not a hacked controller) with clean access rules and a git repo they can maintain and extend.
B2B seller collecting via portal invoices
Sends Odoo invoices and wants customers to pay online in SAR from the portal via Moyasar, with the invoice marked paid and reconciled on webhook confirmation.
How Moyasar Payment Gateway for Odoo Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Moyasar support (mada/Apple Pay/STC Pay) | Purpose-built provider covering all four methods | Possible but you build every method yourself | Often card-only or partial method coverage | No Moyasar provider at all |
| Architecture | Standard `payment.provider` / `payment.transaction` framework | Depends on the developer's discipline | Varies; some bypass the payment framework | Framework exists but no Moyasar code |
| Webhook reconciliation | Signature-verified, idempotent state-machine mapping | Commonly the weakest, most bug-prone part | Present but rarely idempotent or hardened | N/A — no Moyasar integration |
| SAR / halalah handling | Correct minor-unit conversion, tested in UAT | Easy to get rounding wrong | Usually fine, but not tuned to your setup | N/A |
| Refund management | In-Odoo action calls Moyasar, writes linked refund | Extra scope you must specify and build | Sometimes manual or missing | N/A |
| Fit to your Odoo version/edition | Built and UAT'd for your 17/18/19, Community or Enterprise | Yours, but on your time and budget | Generic; may break on your version | Ships with core, but no Moyasar |
| Support & handover | Docs, training, support window, git repo handover | Only what you or your team provide | Vendor ticket queue, variable quality | Community forums only |
| Cost model | Fixed-scope quote after a scoping call | Open-ended dev hours + maintenance | Low license fee, hidden integration effort | Free, but doesn't solve the problem |
Frequently Asked Questions about Moyasar Payment Gateway
How long does delivery take?
This is build-to-order. After a short scoping call to lock your Odoo version, edition, and required Moyasar methods, typical delivery is one working week from confirmed scope. Simpler card-only setups land faster; multi-method or heavily customized checkouts sit at the longer end. We run UAT on staging before any production cutover.
Is this an instant download from apps.odoo.com?
No. There is no generic zip to download here. ECOSIRE builds the Moyasar provider against your specific Odoo version, edition, and checkout flows, then installs and supports it. You receive the full source and the git repository at handover.
Which Odoo versions and editions are supported?
Odoo 17.0, 18.0, and 19.0, on both Community and Enterprise. The provider is built on the standard `payment` framework (`payment.provider` / `payment.transaction`), so it works whether or not you run Enterprise. We target the exact version in your scoping call and pin the `__manifest__.py` accordingly.
Which Moyasar payment methods are included?
mada, Apple Pay, STC Pay, and international cards, exposed as configurable `payment.method` records so you enable only what you sell. Availability of a given method depends on your own Moyasar account activation for it — we wire whatever your Moyasar contract permits.
How does reconciliation work, and are refunds supported?
A signature-verified webhook controller maps Moyasar events onto Odoo's transaction state machine idempotently, so a verified capture confirms the order/invoice and duplicate callbacks never double-post. Refunds are issued from inside Odoo via the standard refund action, which calls Moyasar's refund endpoint and writes back a linked refund transaction.
What about support and updates after go-live?
Every build includes a post-go-live support window for fixes and questions. Because you receive the full source and git repo, you can maintain it yourself, or engage ECOSIRE for ongoing support, version upgrades (e.g. 18.0 to 19.0), or new Moyasar features under a separate arrangement.
Do you handle test mode and secure credential storage?
Yes. Test and live keys are separated on the provider record with a `state` toggle, secrets are never rendered client-side, and access to credentials and transaction data is restricted via `ir.model.access.csv` and record rules. We validate the full flow in test mode during UAT before switching to live.
Related Modules

Mollie Payment Gateway for Odoo
Build-to-order Mollie payment provider for Odoo — iDEAL, Bancontact, cards, Apple Pay, Klarna with webhook reconciliation and refunds.

M-Pesa Payment Gateway for Odoo (Daraja)
Accept M-Pesa STK Push and C2B mobile money on Odoo 17/18/19 with auto reconciliation — built, installed and supported by ECOSIRE.

MSG91 SMS Gateway (India/DLT)
India-ready MSG91 SMS for Odoo with DLT template & sender-ID compliance — transactional, promotional, OTP & bulk. Built, installed & supported by ECOSIRE.
Moyasar Payment Gateway
A build-to-order Odoo payment provider that connects your Saudi checkout to Moyasar — accepting mada, Apple Pay, STC Pay, and cards in SAR with webhook-based reconciliation. ECOSIRE builds, installs, and supports it after a scoping call.
- New Moyasar `payment.provider` via `_inherit = 'payment.provider'` with a dedicated `code` selection value, so it appears natively in Settings > Payment Providers
- Embedded Moyasar.js checkout rendered through a QWeb/OWL template — customers pay inside your Odoo checkout, no external redirect for card/mada
- mada, Apple Pay, STC Pay, and international cards exposed as configurable `payment.method` records so you enable exactly what you sell
- `payment.transaction` extension implementing `_get_specific_rendering_values`, `_send_payment_request`, and `_process_notification_data` for the full Moyasar lifecycle
