POS Safaricom

pos_safaricom
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/19.0/pos_safaricom
VERSION
VERSION 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, Dylan Kiss (dyki), Max Whale, Radu Macocian (admac), Léopold Cantraine
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:51:47
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

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
pos_payment_method_view_form_inherit_pos_safaricom pos.payment.method.form.inherit.safaricom pos.payment.method xpath Inherits point_of_sale.pos_payment_method_view_form
Models touched (2)

New fields (6)
  • business_short_code Char
    help="The business short code and till number combination as 'shortcode-tillnumber' (ex: 123456-789012)" string='Business Short Code'
  • consumer_key Char
    string='Consumer Key'
  • consumer_secret Char
    string='Consumer Secret'
  • passkey Char
    help='The passkey is used to generate the password for the STK Push' string='Passkey'
  • safaricom_payment_type Selection
    default='mpesa_express' selection=[('mpesa_express', 'M-PESA Express'), ('lipa_na_mpesa', 'Lipa na M-PESA')] string='Payment Type'
  • safaricom_test_mode Boolean
    default=True help='Use sandbox environment' string='Test Mode'
Public methods (5)
  • create(self, vals_list)
    @api.model_create_multi
    Override create to automatically register URLs for Lipa na M-PESA payment methods
  • generate_qr_code(self, data)
    Generate QR Code for Lipa na M-PESA with all informations needed to pay
  • lipa_na_mpesa_register_urls(self)
    Register C2B URLs for Lipa na M-PESA The ValidationURL is the URL that will be called to validate the payment before charges the customer if business has activated it. The ConfirmationURL is the URL that will be called when the payment is successful or unsuccessful. The ResponseType is set to Completed to charge the customer even if the ValidationURL returns an error or is unreachable. This is a one-time API call. URLs should only be registered once unless force_register is True.
  • mark_transaction_used(self, transaction_id)
  • mpesa_express_send_payment_request(self, data)
    Send STK Push payment request to customer's phone

New fields (5)
  • amount Integer
    string='Amount'
  • name Char
    string='Name'
  • number Char
    string='Number'
  • received_at Datetime
    string='Received At'
  • trans_id Char
    string='Transaction ID'
Public methods (0)

No public methods.