pos.payment.method: fields, relations and API
The pos.payment.method model ("Point of Sale Payment Methods") is a persistent model declared by the Point of Sale module, then extended by 23 other modules. It exposes 93 fields, 87 of them declared directly on the model; 13 fields from other models point to it. Below you will find every field with its technical name, type, label and relations, followed by an Odoo 19 JSON-2 API call.
Model identity
- Technical name
pos.payment.method- Label
- Point of Sale Payment Methods
- Type
- Persistent (models.Model)
- SQL table
pos_payment_method- Origin module
- Point of Sale (
point_of_sale) - Extended by
- pos_adyen, pos_cashdro, pos_cashmatic, pos_dpopay, pos_glory_cash, pos_mercado_pago, pos_mollie, pos_online_payment, pos_self_order, pos_online_payment_self_order, pos_pine_labs, pos_qfpay, pos_razorpay, pos_restaurant_adyen, pos_stripe, pos_safaricom, pos_self_order_adyen, pos_self_order_pine_labs, pos_self_order_qfpay, pos_self_order_razorpay, pos_self_order_stripe, pos_viva_com, pos_self_order_viva_com
- Default order (_order)
sequence, id- Inherits from (mixins)
- pos.load.mixin
Model fields
87 own fields, 0 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.
93 of 93 fields shown
| Technical name | Label | Type | Details |
|---|---|---|---|
| active | Active | boolean | |
| adyen_api_key | Adyen API key Used when connecting to Adyen: https://docs.adyen.com/user-management/how-to-get-the-api-key/#description | char | added by POS Adyen ( |
| adyen_event_url | Event URL This URL needs to be pasted on Adyen's portal terminal settings. | char | read-only added by POS Adyen ( |
| adyen_latest_response | Adyen Latest Response | char | added by POS Adyen ( |
| adyen_merchant_account | Adyen Merchant Account The POS merchant account code used in Adyen | char | added by POS Restaurant Adyen ( |
| adyen_terminal_identifier | Adyen Terminal Identifier [Terminal model]-[Serial number], for example: P400Plus-123456789 | char | added by POS Adyen ( |
| adyen_test_mode | Adyen Test Mode Run transactions in the test environment. | boolean | added by POS Adyen ( |
| business_short_code | Business Short Code The business short code and till number combination as 'shortcode-tillnumber' (ex: 123456-789012) | char | added by POS Safaricom ( |
| cashdro_ip | Cashdro IP | char | added by POS Cashdro Cash Machines ( |
| cashdro_password | Cashdro Password | char | added by POS Cashdro Cash Machines ( |
| cashdro_use_lna | Cashdro Local Network Access | boolean | added by POS Cashdro Cash Machines ( |
| cashdro_username | Cashdro Username | char | added by POS Cashdro Cash Machines ( |
| cashmatic_ip | Cashmatic IP | char | added by POS Cashmatic Cash Machines ( |
| cashmatic_password | Cashmatic Password | char | added by POS Cashmatic Cash Machines ( |
| cashmatic_use_lna | Cashmatic Local Network Access | boolean | added by POS Cashmatic Cash Machines ( |
| cashmatic_username | Cashmatic Username | char | added by POS Cashmatic Cash Machines ( |
| company_id | Company | many2one | |
| config_ids | Point of Sale | many2many | |
| consumer_key | Consumer Key | char | added by POS Safaricom ( |
| consumer_secret | Consumer Secret | char | added by POS Safaricom ( |
| default_pos_receivable_account_name | Default Receivable Account Name | char | related: |
| default_qr | Default Qr | char | computed |
| dpopay_bearer_token | Dpopay Bearer Token Bearer token used for authenticating requests. Automatically refreshed when expired. | char | added by PoS DPO Pay ( |
| dpopay_chain_id | DPO Pay Chain-ID Enter the Chain-ID header value(e.g., DPO-DTM-Testing) | char | added by PoS DPO Pay ( |
| dpopay_client_id | DPO Pay Client ID The Client ID provided by DPO Pay for authenticating requests. | char | added by PoS DPO Pay ( |
| dpopay_client_secret | DPO Pay Client Secret The Client Secret provided by DPO Pay for secure access. Keep it confidential. | char | added by PoS DPO Pay ( |
| dpopay_mid | DPO Pay Merchant ID Enter the Merchant ID assigned by DPO Pay (e.g., 123456789012). | char | added by PoS DPO Pay ( |
| dpopay_payment_mode | Dpopay Payment Mode Choose allowed payment mode: Card - regular card payments Mobile Money - M-Pesa / Airtel Mobile Money | selection | Values: added by PoS DPO Pay ( |
| dpopay_test_mode | Enable Test Mode Check this to use DPO Pay's sandbox environment for testing purposes. | boolean | added by PoS DPO Pay ( |
| dpopay_tid | DPO Pay Terminal ID Enter the unique Terminal ID (TID) of your DPO Pay POS terminal (e.g., XXXXXXXX). | char | added by PoS DPO Pay ( |
| glory_password | Cash Machine Password | char | added by POS Glory Cash Machines ( |
| glory_username | Cash Machine Username | char | added by POS Glory Cash Machines ( |
| glory_websocket_address | Cash Machine IP | char | added by POS Glory Cash Machines ( |
| has_an_online_payment_provider | Has An Online Payment Provider | boolean | read-onlycomputed added by Point of Sale online payment ( |
| hide_qr_code_method | Hide Qr Code Method | boolean | computed |
| hide_use_payment_terminal | Hide Use Payment Terminal | boolean | computed |
| image | Image | image | |
| is_cash_count | Cash | boolean | computed, stored |
| is_online_payment | Online Payment Use this payment method for online payments (payments made on a web page with online payment providers) | boolean | added by Point of Sale online payment ( |
| journal_id | Journal Leave empty to use the receivable account of customer. Defines the journal where to book the accumulated payments (or individual payment if Identify Customer is true) after closing the session. For cash journal, we directly write to the default account in the journal via statement lines. For bank journal, we write to the outstanding account specified in this payment method. Only cash and bank journals are allowed. | many2one | |
| mollie_payment_provider_id | Mollie Payment Provider | many2one | added by POS Mollie ( |
| mollie_terminal_id | Mollie Terminal ID | char | added by POS Mollie ( |
| mp_bearer_token | Production user token Mercado Pago customer production user token: https://www.mercadopago.com.mx/developers/en/reference | char | added by POS Mercado Pago ( |
| mp_id_point_smart | Terminal S/N Enter your Point Smart terminal serial number written on the back of your terminal (after the S/N:) | char | added by POS Mercado Pago ( |
| mp_id_point_smart_complet | Mp Id Point Smart Complet | char | added by POS Mercado Pago ( |
| mp_webhook_secret_key | Production secret key Mercado Pago production secret key from integration application: https://www.mercadopago.com.mx/developers/panel/app | char | added by POS Mercado Pago ( |
| name | Method Defines the name of the payment method that will be displayed in the Point of Sale when the payments are selected. | char | requiredtranslatable |
| online_payment_provider_ids | Allowed Providers | many2many | added by Point of Sale online payment ( |
| open_session_ids | Pos Sessions Open PoS sessions that are using this payment method. | many2many | computed |
| outstanding_account_id | Outstanding Account Account used as outstanding account when creating accounting payment records for bank payments. | many2one | |
| passkey | Passkey The passkey is used to generate the password for the STK Push | char | added by POS Safaricom ( |
| payment_method_type | Integration | selection | required Values computed at runtime |
| pine_labs_allowed_payment_mode | Pine Labs Allowed Payment Modes Accepted payment modes by Pine Labs for transactions. | selection | Values: added by POS Pine Labs ( |
| pine_labs_client | Pine Labs Client ID A client id issued directly to the merchant by Pine Labs. | char | added by POS Pine Labs ( |
| pine_labs_merchant | Pine Labs Merchant ID A merchant id issued directly to the merchant by Pine Labs. | char | added by POS Pine Labs ( |
| pine_labs_security_token | Pine Labs Security Token A security token issued directly to the merchant by Pine Labs. | char | added by POS Pine Labs ( |
| pine_labs_store | Pine Labs Store ID A store id issued directly to the merchant by Pine Labs. | char | added by POS Pine Labs ( |
| pine_labs_test_mode | Pine Labs Test Mode Test Pine Labs transaction process. | boolean | added by POS Pine Labs ( |
| qfpay_latest_response | Qfpay Latest Response | char | added by POS QFPay ( |
| qfpay_notification_key | QFPay Notification Key | char | added by POS QFPay ( |
| qfpay_payment_type | QFPay Payment Type | selection | Values: added by POS QFPay ( |
| qfpay_pos_key | QFPay POS Key | char | added by POS QFPay ( |
| qfpay_terminal_ip_address | QFPay Terminal IP Address | char | added by POS QFPay ( |
| qr_code_method | QR Code Format Type of QR-code to be generated for this payment method. | selection | Values computed at runtime |
| razorpay_allowed_payment_modes | Razorpay Allowed Payment Modes Choose allow payment mode: All/Card/UPI or QR | selection | Values: added by POS Razorpay ( |
| razorpay_api_key | Razorpay API Key Used when connecting to Razorpay: https://razorpay.com/docs/payments/dashboard/account-settings/api-keys/ | char | added by POS Razorpay ( |
| razorpay_test_mode | Razorpay Test Mode Turn it on when in Test Mode | boolean | added by POS Razorpay ( |
| razorpay_tid | Razorpay Device Serial No Device Serial No ex: 7000012300 | char | added by POS Razorpay ( |
| razorpay_username | Razorpay Username Username(Device Login) ex: 1234500121 | char | added by POS Razorpay ( |
| receivable_account_id | Intermediary Account Leave empty to use the default account from the company setting. Overrides the company's receivable account (for Point of Sale) used in the journal entries. | many2one | |
| safaricom_payment_type | Payment Type | selection | Values: added by POS Safaricom ( |
| safaricom_test_mode | Test Mode Use sandbox environment | boolean | added by POS Safaricom ( |
| sequence | Sequence | integer | |
| split_transactions | Identify Customer Forces to set a customer when using this payment method and splits the journal entries for each customer. It could slow down the closing process. | boolean | |
| stripe_serial_number | Stripe Serial Number [Serial number of the stripe terminal], for example: WSC513105011295 | char | added by POS Stripe ( |
| type | Type | selection | computed Values: |
| use_payment_terminal | Use a Payment Terminal Record payments with a terminal on this journal. | selection | Values computed at runtime |
| viva_com_api_key | API Key Log into Viva.com then navigate to Settings > API Access > Access credentials | char | added by PoS Viva.com ( |
| viva_com_bearer_token | Viva Com Bearer Token | char | added by PoS Viva.com ( |
| viva_com_client_id | Client ID Log into Viva.com then navigate to Settings > API Access > POS APIs Credentials | char | added by PoS Viva.com ( |
| viva_com_client_secret | Client secret Log into Viva.com then navigate to Settings > API Access > POS APIs Credentials | char | added by PoS Viva.com ( |
| viva_com_latest_response | Viva Com Latest Response | json | added by PoS Viva.com ( |
| viva_com_merchant_id | Merchant ID Log into Viva.com then navigate to Settings > API Access > Access credentials | char | added by PoS Viva.com ( |
| viva_com_terminal_id | Terminal ID [ID of the Viva.com terminal], e.g. 16002169 | char | added by PoS Viva.com ( |
| viva_com_test_mode | Test mode Run transactions in the test environment. | boolean | added by PoS Viva.com ( |
| viva_com_webhook_endpoint | Viva Com Webhook Endpoint | char | read-onlycomputed added by PoS Viva.com ( |
| viva_com_webhook_verification_key | Viva Com Webhook Verification Key | char | added by PoS Viva.com ( |
| create_date | Created on | datetime | read-onlyautomatic |
| create_uid | Created by | many2one | read-onlyautomatic |
| display_name | Display Name | char | read-onlycomputedautomatic |
| id | ID | integer | read-onlyautomatic |
| write_date | Last Updated on | datetime | read-onlyautomatic |
| write_uid | Last Updated by | many2one | read-onlyautomatic |
Relations
Models linked from this model
- account.account: outstanding_account_id, receivable_account_id
- account.journal: journal_id
- payment.provider: mollie_payment_provider_id, online_payment_provider_ids
- pos.config: config_ids
- pos.session: open_session_ids
- res.company: company_id
Fields of other models pointing here
- account.payment: pos_payment_method_id
- pos.config: fast_payment_method_ids, payment_method_ids, self_order_online_payment_method_id
- pos.make.payment: payment_method_id
- pos.order: available_payment_method_ids, online_payment_method_id
- pos.payment: payment_method_id
- pos.session: payment_method_ids
- report.pos.order: payment_method_id
- res.config.settings: pos_fast_payment_method_ids, pos_payment_method_ids, pos_self_order_online_payment_method_id
Reading this model through the API
Odoo 19 JSON-2 API call reading the first five records with real fields of the model. Replace the instance, database and API key with your own.
curl -X POST "https://your-instance.odoo.com/json/2/pos.payment.method/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: your-db" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","payment_method_type","company_id","journal_id","mollie_payment_provider_id"],"limit":5}'import requests
BASE_URL = "https://your-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "your-db"}
res = requests.post(
f"{BASE_URL}/pos.payment.method/search_read",
headers=headers,
json={"domain": [], "fields": ["name","payment_method_type","company_id","journal_id","mollie_payment_provider_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())- External API access requires Odoo's Custom plan.
- XML-RPC and JSON-RPC will be removed in Odoo 22 (fall 2028): use JSON-2.
- The access rights and record rules of the key's user apply.
Cite this tool
Writing a tutorial, internal documentation or a forum answer? Copy this link to send your readers to the up-to-date reference.
<a href="https://aidoo.ai/en/outils/explorateur-modeles-odoo/pos-payment-method">pos.payment.method (Odoo 19.0)</a>Sources
Data verified on September 23, 2026 · Odoo 19.0 Community
Have an Odoo project, or want to put your ERP to work with AI? Let's talk
Implementation, custom module development, connecting Claude or ChatGPT to your data: tell us about your context and we will reply within 24 business hours.