Repository
odoo/odoo · module folder
Module version
0.1.0
Category
Sales/Point of Sale
Folder size
0.45 MB
License
LGPL-3
Application
No
Auto-installable
No
Website
None
Last tracking update
2026-08-15 22:44:20
Authors
Odoo S.A.
Maintainers
Odoo S.A.
Committers
Odoo Translation Bot, dhruv
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
Allow DPO POS payments
==============================

It supports all currencies supported by the terminal device — primarily for use in the **African region**.
It enables customers to pay for their orders using debit/credit cards and Mobile Money through DPO POS terminals.
A DPO merchant account is required to process transactions.
Features include:

* Quick payments by swiping, scanning, or tapping your credit/debit card or Mobile Money (Airtel Money / M-Pesa) at the payment terminal.
* Supported cards: Visa, MasterCard, American Express etc.
    

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
pos_payment_method_view_form_inherit_pos_dpopay pos.payment.method.form.inherit.pos.dpopay pos.payment.method form Inherits point_of_sale.pos_payment_method_view_form
view_pos_payment_form_inherited_pos_dpopay pos.payment.form.inherit.pos.dpopay pos.payment form Inherits point_of_sale.view_pos_payment_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (2)

New fields (3)
  • dpopay_mobile_money_phone Char
    help="Customer's phone number used to complete the Mobile Money payment." string='Mobile Money Phone Number(Last 4 Digit)'
  • dpopay_rrn Char
    help='Retrieval Reference Number generated for the DPO Pay transaction.' string='RRN'
  • dpopay_transaction_ref Char
    help='Reference number required for Mobile Money refund transactions.' string='Transaction Reference'
Public methods (0)

No public methods.

New fields (8)
  • dpopay_bearer_token Char
    default='Token' help='Bearer token used for authenticating requests. Automatically refreshed when expired.'
  • dpopay_chain_id Char
    help='Enter the Chain-ID header value(e.g., DPO-DTM-Testing)' string='DPO Pay Chain-ID'
  • dpopay_client_id Char
    help='The Client ID provided by DPO Pay for authenticating requests.' string='DPO Pay Client ID'
  • dpopay_client_secret Char
    help='The Client Secret provided by DPO Pay for secure access. Keep it confidential.' string='DPO Pay Client Secret'
  • dpopay_mid Char
    help='Enter the Merchant ID assigned by DPO Pay (e.g., 123456789012).' string='DPO Pay Merchant ID'
  • dpopay_payment_mode Selection
    default='card' help='Choose allowed payment mode:\nCard - regular card payments\nMobile Money - M-Pesa / Airtel Mobile Money' selection=[('card', 'Card'), ('momo', 'Mobile Money')]
  • dpopay_test_mode Boolean
    help="Check this to use DPO Pay's sandbox environment for testing purposes." string='Enable Test Mode'
  • dpopay_tid Char
    help='Enter the unique Terminal ID (TID) of your DPO Pay POS terminal (e.g., XXXXXXXX).' string='DPO Pay Terminal ID'
Public methods (1)
  • send_dpopay_request(self, data, endpoint)