Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Point of Sale
  3. MTN Mobile Money POS Payments v 18.0
  4. Sales Conditions FAQ

MTN Mobile Money POS Payments

by AminiTech Solutions https://www.aminitechsolutions.com
Odoo

$ 69.00

v 18.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 17.0 18.0 19.0
You bought this module and need support? Click here!
Versions 17.0 18.0 19.0
  • Description
  • Manifest
  • License
For Odoo 17.0 · 18.0 · 19.0 — Community & Enterprise

MTN Mobile Money POS Payments

$99 $69 ★ 30% LAUNCH OFFER

Take MTN MoMo at the till — two ways, one popup. Push a RequestToPay PIN prompt to the customer’s phone, or show a MoMoPay scan-to-pay QR they settle from the MoMo app. Confirm the payer’s name before you charge, recover a payment that timed out, refund and check your balance — all in one app that carries its own MTN connection. Nothing else to buy.

✅ RequestToPay push 📸 MoMoPay QR ✅ Payer-name check ✅ Refund & balance ⭐ 90 days free support
📚 Full Documentation 💻 Try it live
MTN Mobile Money POS Payments for Odoo
2

Ways to pay in one popup — a RequestToPay PIN push to the phone, or a MoMoPay scan-to-pay QR the customer settles from the MTN MoMo app. The till watches both to the same order.

1

Order per payment — every MoMo transaction is single-use, claimed atomically for exactly one sale. A dropped network never settles it twice, and a cashier can never forge one.

0

Unconfirmed payments marked paid — the till never trusts a callback as proof; it re-queries MTN until MTN itself confirms, with a one-minute backstop job.

★ Implementation included Features Every feature Setup in 4 steps Africa Mobile Money FAQ Support
See it in action

One yellow popup. Push or scan — both land on the sale.

Real screens from the app running on Odoo — the till popup, the MoMoPay QR, the back office and the transaction ledger.

MTN MoMo popup: enter the customer phone and send a RequestToPay PIN push
01 · AT THE TILL

RequestToPay — push a PIN prompt to the phone

Pick MTN MoMo, type the number with the market dial-code shown, and send. The customer approves with their MoMo PIN; a live timeline runs Prompt sent → Awaiting PIN → Confirmed, and the till re-queries MTN every few seconds until it is really paid — then closes the sale on its own.

MTN MoMo transaction ledger with references, receipts and colour-coded status
06 · ONE LEDGER

Every unit, logged and sliceable

Push and QR payments land in one MTN MoMo log — date, phone, amount, reference, financial transaction id, channel and status — colour-coded and totalled, with list, pivot and graph views for reconciliation.

Every feature, in detail

Open any panel — nothing hidden, nothing oversold

Every claim is code-verified and honest about what MTN’s public MoMo API does — and doesn’t — expose.

📱 At the till
RequestToPay PIN push
Merchant-initiated PIN-authorisation push (POST /collection/v1_0/requesttopay) — the direct M-Pesa STK-Push equivalent. The customer approves on their handset.
MoMoPay scan-to-pay QR
Raises a MoMoPay Invoice for the order and renders a scan-to-pay QR plus the USSD short-string; the till polls the invoice status and settles the sale on payment. MTN’s sanctioned scan-to-pay path — gated on your MoMoPay shortcode being set.
Payer-name & active check
Confirms the number is a registered, active MoMo wallet and shows the holder’s name before you charge — optional per account, cached briefly, never blocking the sale.
Live status timeline
Prompt sent → Awaiting PIN → Confirmed / Failed, polled from the authoritative MTN status endpoint — the cashier always knows where the payment stands.
“Already paid?” recovery pane
Reclaim a confirmed-but-late payment by phone or reference tail, amount-matched to the open order — recovers a timed-out prompt or QR without leaving the POS.
Market-aware phone entry
The market dial code is shown, local formats are normalised to a full MSISDN, and short-NSN markets (Eswatini, Liberia) validate correctly — across 15+ MTN markets.
Optional SMS receipt
Fire an extra MTN delivery-notification SMS to the payer after a successful debit — a branded receipt message, toggleable per account.
💰 Money-correct & safe
Exact-decimal amounts
Amounts are quantised to the market currency’s decimals with round-half-up — zero-decimal (UGX, RWF…) and two-decimal (GHS, ZMW…) markets both charged correctly.
Single-use receipts (atomic claim)
Each transaction is claimed for exactly one order via a race-free database update — two cashiers hitting the same payment can never both win.
Same-order idempotent re-claim
If the network blips after a payment is claimed, re-polling the same order returns success again — it never double-charges and never loses the sale.
Double-prompt guard
“Try again” re-attaches to the prompt already on the phone instead of sending a second one — the customer is never asked to pay twice.
Currency guard
A constraint refuses to let a till whose currency differs from the MTN account’s market currency take a payment — no silent cross-currency charge (the sandbox is EUR-only; production uses the country currency).
No cross-till fallback
A till with no MTN account raises a clear configuration error — money is never silently routed into another branch’s wallet.
💼 Back office
Refunds with audit trail
Manager-only refund via MTN Disbursements (POST /disbursement/v1_0/refund) with a required reason, atomic reservation against double-refund, status polling and a full chatter record.
Collections wallet balance
Read the collections wallet balance on demand (GET /collection/v1_0/account/balance), stamped with the time it was fetched.
MoMoPay invoice lifecycle
QR invoices are created, polled, and cancelled cleanly — and a QR that came in late is re-queried before it is ever cancelled, so scan-to-pay money is never lost.
Transaction ledger & analytics
A per-payment ledger with list, pivot and graph views, filtered and grouped by account, status, POS and date for clean reconciliation.
Manual-review flags
Receipt conflicts and 2-hour-stale prompts are flagged for review instead of being silently settled or lost.
🔒 Trust & platform
Cashier-safe by construction
Ledger and accounts are read-only to cashiers; every money-moving method runs server-side behind a validated wrapper — a cashier cannot forge a “success” row over RPC.
Callbacks are never proof
MTN’s sandbox rarely fires callbacks, so the till never depends on one — it re-queries authoritatively and a one-minute job re-polls anything pending. A forged POST can never settle a sale.
Fail-closed status mapping
Only MTN’s explicit SUCCESSFUL/FAILED settles a payment; unknown states are recorded and surfaced, never guessed into “paid”.
Multi-company & per-company rules
Accounts and transactions are scoped by company record rules — a group can run several branches without their MTN data mixing.
Odoo 17, 18 & 19 · Community & Enterprise
Ships for all three supported Odoo majors, on both editions, installing cleanly with no third-party dependencies beyond Point of Sale.
Setup in 4 steps

From install to first payment in one afternoon

MTN MoMo account form
1 · Install    2 · Add your account

Install the app — an MTN Mobile Money menu appears. Add an account, choose your market, paste your API User, API Key and Subscription Key, and hit Test Connection.

POS payment method with MTN MoMo terminal
3 · Link a payment method    4 · Sell

Create a POS payment method with terminal MTN Mobile Money, point it at your account, add it to your register. Open a session and collect — push or QR, every payment lands in the log.

Implementation included with your purchase - free setup

We don’t just sell the app — we get you live on MTN MoMo.

Buying MTN Mobile Money POS Payments includes hands-on implementation by our engineers: installed on your Odoo, connected to your MTN partner account, configured for your market, and proven with a real payment before we hand it over. No hourly fees, no “figure it out yourself.”

The wider line

Run more than MTN? The Africa Mobile Money line

Each rail is its own app so you pay only for the channel you use. Run several rails? The multi-rail apps put M-Pesa, MTN and Airtel in one till.

MTN MoMo POS
This app — MTN at the till, push plus MoMoPay QR.
Airtel Money POS
Airtel at the till — PIN push with payer-name confirm.
Africa Mobile Money POS
M-Pesa + MTN + Airtel in one popup, branded per rail.
FAQ

Common questions

Do I need to buy anything else to take MTN MoMo?
No. This app is complete on its own — it carries the MTN MoMo connection, the account configuration and the transaction ledger. You download exactly one app; it depends only on Odoo’s Point of Sale.
How does the MoMoPay QR actually work?
MTN’s public API has no direct QR endpoint, so the app does it the sanctioned way: it creates a MoMoPay Invoice for the order and renders a QR of the MoMoPay USSD string that carries the invoice reference. The customer pays it from the MoMo app or by dialling; the till polls the invoice status and settles the sale. It’s gated on your MoMoPay shortcode being configured.
Which MTN API and credentials does it use?
The MTN MoMo Open API Collections product — API User, API Key and a Subscription Key, with X-Target-Environment set to your country. Refunds additionally use the Disbursements product. Setup help is included.
Can a cashier see my credentials or fake a payment?
No. API User, API Key and Subscription Key are manager-only at the field level; the ledger is read-only for cashiers and the money path runs under validated server-side wrappers. A cashier takes payments without ever reading credentials or writing a “paid” row.
What if a callback is missed?
The till never trusts a callback as proof — MTN’s sandbox rarely fires them anyway. It re-queries MTN every few seconds until MTN confirms, and a background job re-polls any pending payment every minute, so a dropped callback never loses a sale.
🏆
90 days of free support included with your purchase
Real people, business hours — including help getting your MTN credentials and going live. Start with the full documentation.
⭐ Included — no extra cost
✉️
Email
reach@aminitechsolutions.com
📞
Phone / WhatsApp
+254 746 883 809
💻
Try it live
demo.aminitechsolutions.com
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Point of Sale (point_of_sale)
• Discuss (mail)
• Inventory (stock)
• Invoicing (account)
Lines of code 2361
Technical Name aminitech_mtn_pos
LicenseOPL-1
Websitehttps://www.aminitechsolutions.com
Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with