payment.provider: fields, relations and API
The payment.provider model ("Payment Provider") is a persistent model declared by the Payment Engine module, then extended by 28 other modules. It exposes 120 fields, 114 of them declared directly on the model; 7 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
payment.provider- Label
- Payment Provider
- Type
- Persistent (models.Model)
- SQL table
payment_provider- Origin module
- Payment Engine (
payment) - Extended by
- account_payment, sale, payment_custom, delivery, payment_adyen, payment_aps, payment_asiapay, payment_authorize, payment_buckaroo, payment_demo, payment_dpo, payment_ecpay, payment_flutterwave, payment_iyzico, payment_mercado_pago, payment_mollie, payment_nuvei, payment_paymob, payment_paypal, payment_payu, payment_razorpay, payment_redsys, payment_stripe, payment_toss_payments, payment_worldline, payment_xendit, website_payment, website_sale_collect
- Default order (_order)
module_state, state desc, sequence, name
Model fields
114 own fields, 0 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.
120 of 120 fields shown
| Technical name | Label | Type | Details |
|---|---|---|---|
| adyen_api_key | API Key The API key of the webservice user | char | added by Payment Provider: Adyen ( |
| adyen_api_url_prefix | API URL Prefix The base URL for the API endpoints | char | added by Payment Provider: Adyen ( |
| adyen_client_key | Client Key The client key of the webservice user | char | added by Payment Provider: Adyen ( |
| adyen_hmac_key | HMAC Key The HMAC key of the webhook | char | added by Payment Provider: Adyen ( |
| adyen_merchant_account | Merchant Account The code of the merchant account to use with this provider | char | added by Payment Provider: Adyen ( |
| allow_express_checkout | Allow Express Checkout This controls whether customers can use express payment methods. Express checkout enables customers to pay with Google Pay and Apple Pay from which address information is collected at payment. | boolean | |
| allow_tokenization | Allow Saving Payment Methods This controls whether customers can save their payment methods as payment tokens. A payment token is an anonymous link to the payment method details saved in the provider's database, allowing the customer to reuse it for a next purchase. | boolean | |
| aps_access_code | APS Access Code The access code associated with the merchant account. | char | added by Payment Provider: Amazon Payment Services ( |
| aps_merchant_identifier | APS Merchant Identifier The code of the merchant account to use with this provider. | char | added by Payment Provider: Amazon Payment Services ( |
| aps_sha_request | APS SHA Request Phrase | char | added by Payment Provider: Amazon Payment Services ( |
| aps_sha_response | APS SHA Response Phrase | char | added by Payment Provider: Amazon Payment Services ( |
| asiapay_brand | Asiapay Brand The brand associated to your AsiaPay account. | selection | Values: added by Payment Provider: AsiaPay ( |
| asiapay_merchant_id | AsiaPay Merchant ID The Merchant ID solely used to identify your AsiaPay account. | char | added by Payment Provider: AsiaPay ( |
| asiapay_secure_hash_function | AsiaPay Secure Hash Function The secure hash function associated to your AsiaPay account. | selection | Values: added by Payment Provider: AsiaPay ( |
| asiapay_secure_hash_secret | AsiaPay Secure Hash Secret | char | added by Payment Provider: AsiaPay ( |
| auth_msg | Authorize Message The message displayed if payment is authorized | html | translatable |
| authorize_client_key | API Client Key The public client key. To generate directly from Odoo or from Authorize.Net backend. | char | added by Payment Provider: Authorize.Net ( |
| authorize_login | API Login ID The ID solely used to identify the account with Authorize.Net | char | added by Payment Provider: Authorize.Net ( |
| authorize_signature_key | API Signature Key | char | added by Payment Provider: Authorize.Net ( |
| authorize_transaction_key | API Transaction Key | char | added by Payment Provider: Authorize.Net ( |
| available_country_ids | Countries The countries in which this payment provider is available. Leave blank to make it available in all countries. | many2many | |
| available_currency_ids | Currencies The currencies available with this payment provider. Leave empty not to restrict any. | many2many | computed, stored |
| buckaroo_secret_key | Buckaroo Secret Key | char | added by Payment Provider: Buckaroo ( |
| buckaroo_website_key | Website Key The key solely used to identify the website with Buckaroo | char | added by Payment Provider: Buckaroo ( |
| cancel_msg | Cancelled Message The message displayed if the order is cancelled during the payment process | html | translatable |
| capture_manually | Capture Amount Manually Capture the amount from Odoo, when the delivery is completed. Use this if you want to charge your customers cards only when you are sure you can ship the goods to them. | boolean | |
| code | Code The technical code of this payment provider. | selection | required Values: |
| color | Color The color of the card in kanban view | integer | computed, stored |
| company_id | Company | many2one | required |
| custom_mode | Custom Mode | selection | Values: added by Payment Provider: Custom Payment Modes ( |
| done_msg | Done Message The message displayed if the order is successfully done after the payment process | html | translatable |
| dpo_company_token | DPO Company Token | char | added by Payment Provider: DPO ( |
| dpo_service_ref | DPO Service ID | char | added by Payment Provider: DPO ( |
| ecpay_hash_iv | ECPay Secure Hash IV | char | added by Payment Provider: ECPay ( |
| ecpay_hash_key | ECPay Secure Hash Key | char | added by Payment Provider: ECPay ( |
| ecpay_merchant_id | ECPay Merchant ID The Merchant ID solely used to identify your ECPay account. | char | added by Payment Provider: ECPay ( |
| express_checkout_form_view_id | Express Checkout Form Template The template rendering the express payment methods' form. | many2one | |
| flutterwave_public_key | Flutterwave Public Key The key solely used to identify the account with Flutterwave. | char | added by Payment Provider: Flutterwave ( |
| flutterwave_secret_key | Flutterwave Secret Key | char | added by Payment Provider: Flutterwave ( |
| flutterwave_webhook_secret | Flutterwave Webhook Secret | char | added by Payment Provider: Flutterwave ( |
| image_128 | Image | image | |
| inline_form_view_id | Inline Form Template The template rendering the inline payment form when making a direct payment | many2one | |
| is_published | Published Whether the provider is visible on the website or not. Tokens remain functional but are only visible on manage forms. | boolean | |
| iyzico_key_id | Iyzico API Key | char | added by Payment Provider: Iyzico ( |
| iyzico_key_secret | Iyzico Secret Key | char | added by Payment Provider: Iyzico ( |
| journal_id | Payment Journal The journal in which the successful transactions are posted. | many2one | computed added by Payment - Account ( |
| main_currency_id | Main Currency The main currency of the company, used to display monetary fields. | many2one | related: |
| maximum_amount | Maximum Amount The maximum payment amount that this payment provider is available for. Leave blank to make it available for any payment amount. | monetary | |
| mercado_pago_access_token | Mercado Pago Access Token | char | added by Payment Provider: Mercado Pago ( |
| mercado_pago_access_token_expiry | Mercado Pago Access Token Expiry | datetime | added by Payment Provider: Mercado Pago ( |
| mercado_pago_account_country_id | Mercado Pago Account Country The country of the Mercado Pago account. The currency will be updated to match the country of the Mercado Pago account. | many2one | added by Payment Provider: Mercado Pago ( |
| mercado_pago_is_oauth_supported | Mercado Pago Is Oauth Supported | boolean | computed added by Payment Provider: Mercado Pago ( |
| mercado_pago_public_key | Mercado Pago Public Key | char | added by Payment Provider: Mercado Pago ( |
| mercado_pago_refresh_token | Mercado Pago Refresh Token | char | added by Payment Provider: Mercado Pago ( |
| module_id | Corresponding Module | many2one | |
| module_state | Installation State | selection | related: |
| module_to_buy | Odoo Enterprise Module | boolean | related: |
| mollie_api_key | Mollie API Key The Test or Live API Key depending on the configuration of the provider | char | added by Payment Provider: Mollie ( |
| name | Name | char | requiredtranslatable |
| nuvei_merchant_identifier | Nuvei Merchant Identifier The code of the merchant account to use with this provider. | char | added by Payment Provider: Nuvei ( |
| nuvei_secret_key | Nuvei Secret Key | char | added by Payment Provider: Nuvei ( |
| nuvei_site_identifier | Nuvei Site Identifier The site identifier code associated with the merchant account. | char | added by Payment Provider: Nuvei ( |
| payment_method_ids | Supported Payment Methods | many2many | |
| paymob_account_country_id | Paymob Account Country The country of the Paymob account. The currency will be updated to match the country of the Paymob account. | many2one | added by Payment Provider: Paymob ( |
| paymob_api_key | Paymob API Key | char | added by Payment Provider: Paymob ( |
| paymob_hmac_key | Paymob HMAC Key | char | added by Payment Provider: Paymob ( |
| paymob_public_key | Paymob Public Key | char | added by Payment Provider: Paymob ( |
| paymob_secret_key | Paymob Secret Key | char | added by Payment Provider: Paymob ( |
| paypal_access_token | PayPal Access Token The short-lived token used to access Paypal APIs | char | added by Payment Provider: Paypal ( |
| paypal_access_token_expiry | PayPal Access Token Expiry The moment at which the access token becomes invalid. | datetime | added by Payment Provider: Paypal ( |
| paypal_client_id | PayPal Client ID | char | added by Payment Provider: Paypal ( |
| paypal_client_secret | PayPal Client Secret | char | added by Payment Provider: Paypal ( |
| paypal_email_account | Email The public business email solely used to identify the account with PayPal | char | added by Payment Provider: Paypal ( |
| paypal_webhook_id | PayPal Webhook ID | char | added by Payment Provider: Paypal ( |
| payu_key_id | PayU Key Id | char | added by Payment Provider: PayU ( |
| payu_merchant_salt | PayU Merchant Salt | char | added by Payment Provider: PayU ( |
| pending_msg | Pending Message The message displayed if the order pending after the payment process | html | translatable |
| pre_msg | Help Message The message displayed to explain and help the payment process | html | translatable |
| qr_code | Enable QR Codes Enable the use of QR-codes when paying by wire transfer. | boolean | added by Payment Provider: Custom Payment Modes ( |
| razorpay_access_token | Razorpay Access Token | char | added by Payment Provider: Razorpay ( |
| razorpay_access_token_expiry | Razorpay Access Token Expiry | datetime | added by Payment Provider: Razorpay ( |
| razorpay_account_id | Razorpay Account ID | char | added by Payment Provider: Razorpay ( |
| razorpay_key_id | Razorpay Key Id The key solely used to identify the account with Razorpay. | char | added by Payment Provider: Razorpay ( |
| razorpay_key_secret | Razorpay Key Secret | char | added by Payment Provider: Razorpay ( |
| razorpay_public_token | Razorpay Public Token | char | added by Payment Provider: Razorpay ( |
| razorpay_refresh_token | Razorpay Refresh Token | char | added by Payment Provider: Razorpay ( |
| razorpay_webhook_secret | Razorpay Webhook Secret | char | added by Payment Provider: Razorpay ( |
| redirect_form_view_id | Redirect Form Template The template rendering a form submitted to redirect the user when making a payment | many2one | |
| redsys_merchant_code | Redsys Merchant Code | char | added by Payment Provider: Redsys ( |
| redsys_merchant_terminal | Redsys Merchant Terminal | char | added by Payment Provider: Redsys ( |
| redsys_secret_key | Redsys Secret Key | char | added by Payment Provider: Redsys ( |
| sequence | Sequence Define the display order | integer | |
| so_reference_type | Communication You can set here the communication type that will appear on sales orders.The communication will be given to the customer when they choose the payment method. | selection | Values: added by Sales ( |
| state | State In test mode, a fake payment is processed through a test payment interface. This mode is advised when setting up the provider. | selection | required Values: |
| stripe_publishable_key | Publishable Key The key solely used to identify the account with Stripe | char | added by Payment Provider: Stripe ( |
| stripe_secret_key | Secret Key | char | added by Payment Provider: Stripe ( |
| stripe_webhook_secret | Webhook Signing Secret If a webhook is enabled on your Stripe account, this signing secret must be set to authenticate the messages sent from Stripe to Odoo. | char | added by Payment Provider: Stripe ( |
| support_express_checkout | Express Checkout | boolean | computed |
| support_manual_capture | Manual Capture Supported | selection | computed Values: |
| support_refund | Refund Refund is a feature allowing to refund customers directly from the payment in Odoo. | selection | computed Values: |
| support_tokenization | Tokenization | boolean | computed |
| token_inline_form_view_id | Token Inline Form Template The template rendering the inline payment form when making a payment by token. | many2one | |
| toss_payments_client_key | Toss Payments Client Key | char | added by Payment Provider: Toss Payments ( |
| toss_payments_secret_key | Toss Payments Secret Key | char | added by Payment Provider: Toss Payments ( |
| toss_payments_webhook_url | Toss Payments Webhook URL | char | read-onlycomputed added by Payment Provider: Toss Payments ( |
| website_id | Website | many2one→ website | added by Website Payment ( |
| worldline_api_key | Worldline API Key | char | added by Payment Provider: Worldline ( |
| worldline_api_secret | Worldline API Secret | char | added by Payment Provider: Worldline ( |
| worldline_pspid | Worldline PSPID | char | added by Payment Provider: Worldline ( |
| worldline_webhook_key | Worldline Webhook Key | char | added by Payment Provider: Worldline ( |
| worldline_webhook_secret | Worldline Webhook Secret | char | added by Payment Provider: Worldline ( |
| xendit_public_key | Xendit Public Key | char | added by Payment Provider: Xendit ( |
| xendit_secret_key | Xendit Secret Key | char | added by Payment Provider: Xendit ( |
| xendit_webhook_token | Xendit Webhook Token | char | added by Payment Provider: Xendit ( |
| 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.journal: journal_id
- ir.module.module: module_id
- ir.ui.view: express_checkout_form_view_id, inline_form_view_id, redirect_form_view_id, token_inline_form_view_id
- payment.method: payment_method_ids
- res.company: company_id
- res.country: available_country_ids, mercado_pago_account_country_id, paymob_account_country_id
- res.currency: available_currency_ids, main_currency_id
- website: website_id
Fields of other models pointing here
- account.payment.method.line: payment_provider_id
- payment.method: provider_ids
- payment.token: provider_id
- payment.transaction: provider_id
- pos.payment.method: mollie_payment_provider_id, online_payment_provider_ids
- res.config.settings: active_provider_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/payment.provider/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: your-db" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","code","company_id","state","express_checkout_form_view_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}/payment.provider/search_read",
headers=headers,
json={"domain": [], "fields": ["name","code","company_id","state","express_checkout_form_view_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/payment-provider">payment.provider (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.