PoS DPO Pay

pos_dpopay
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/19.0/pos_dpopay
VERSION
VERSION 0.1.0
CATEGORY
CATEGORYSales/Point of Sale
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo S.A.
MAINTAINERS
MAINTAINERSOdoo S.A.
COMMITTERS
COMMITTERSOdoo Translation Bot, dhruv
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:51:46
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - point_of_sale
    - resource
    - base
    - web
    - stock_account
    - stock
    - product
    - mail
    - base_setup
    - bus
    - web_tour
    - html_editor
    - uom
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - http_routing
    - auth_signup
    - account
    - onboarding
    - analytic
    - phone_validation
    - partner_autocomplete
    - iap_mail
    - iap
    - iot_base
    - google_address_autocomplete
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
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 xpath Inherits point_of_sale.pos_payment_method_view_form
view_pos_payment_form_inherited_pos_dpopay pos.payment.form.inherit.pos.dpopay pos.payment xpath Inherits point_of_sale.view_pos_payment_form
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)