TIP: You can type at any time to perform a new search.
Payment Engine
payment · odoo/odoo
Security findings
- Repository
- odoo/odoo · module folder
- Module version
- 2.0
- Category
- Hidden
- Folder size
- 7.03 MB
- License
- LGPL-3
- Application
- No
- Auto-installable
- No
- Website
- None
- Last tracking update
- 2026-10-05 00:19:52
- Authors
- Odoo S.A.
- Maintainers
- Odoo S.A.
- Committers
- Xavier ALT, Raphael Collet, odoo, Odoo Translation Bot, Christophe Matthieu, Géry Debongnie, Julien Castiaux, Victor Feyens, Julien Mougenot, Tiffany Chang (tic), Gorash, Pierre Paridans, Romain Estievenart, Miquel Raïch, Antoine Vandevenne (anv), tsm-odoo, Pedram (PEBR), Victor Piryns (pivi), Levi Siuzdak (sile), Dylan Kiss (dyki), FrancoisGe, Valeriya(vchu), Chong Wang (cwg), Brieuc-brd, kcv-odoo, Lina (liew), Chrysanthe (chgo), Harsh Shah, Patricia Daloze (pda), Xavier Luyckx (xlu), dija-odoo, nni@odoo.com, Lucas Lefèvre (lul), Pierre Lamotte (pila), Anton Romanova (roan), Bastien PIERRE, Michaël Mattiello, Valeriya (vchu), Shrey Mehta, Carmine, Mahdi Alijani (malj), anko-odoo, Krzysztof Magusiak (krma), Florian Malfroid, utma-odoo, Elier Ayala Bernal, Julien Launois (jula), Laetitia (ldau), Lionel Piraux (lipi), livaios, Ravij Parikh, Pilar Vargas, Arnav Varshney, Mazen, assk-odoo, Traina Ludo, Woojang (WOPY), Zachary (zavan), Julien (jdeh), Do Anh Duy, Khaj-odoo, khaj-odoo, chpa-odoo, Mark Orban (maorb), Julien Piron, Ahmed Hamila, lkerroum, coder-odoo
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- account_payment, l10n_fr_payment, payment_adyen, payment_aps, payment_asiapay, payment_authorize, payment_buckaroo, payment_custom, 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
- Description
Code Analysis
Views touched (40)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
availability_report_records |
availability_report_records | ir.ui.view | qweb | New |
payment.amount_input |
Amount Input | ir.ui.view | qweb | New |
payment.availability_report |
payment.availability_report | ir.ui.view | qweb | New |
payment.availability_report_button |
payment.availability_report_button | ir.ui.view | qweb | New |
payment.company_mismatch_warning |
Company Mismatch Warning | ir.ui.view | qweb | New |
payment.confirm |
payment.confirm | ir.ui.view | qweb | New |
payment.express_checkout |
Payment Express Checkout | ir.ui.view | qweb | New |
payment.form |
Payment Form | ir.ui.view | qweb | New |
payment.form_icon |
Form Icon | ir.ui.view | qweb | New |
payment.form_logo |
Form Logo | ir.ui.view | qweb | New |
payment.generic_redirect_form |
payment.generic_redirect_form | ir.ui.view | qweb | New |
payment.method_form |
Payment Method Form | ir.ui.view | qweb | New |
payment.no_pms_available_warning |
payment.no_pms_available_warning | ir.ui.view | qweb | New |
payment.pay |
payment.pay | ir.ui.view | qweb | New |
payment.payment_methods |
Payment Methods | ir.ui.view | qweb | New |
payment.payment_status |
Payment Status | ir.ui.view | qweb | New |
payment.portal_breadcrumb |
payment.portal_breadcrumb | ir.ui.view | qweb | New |
payment.state_header |
payment.state_header | ir.ui.view | qweb | New |
payment.submit_button |
Submit Button | ir.ui.view | qweb | New |
payment.summary_item |
payment.summary_item | ir.ui.view | qweb | New |
payment.token_form |
Payment Token Form | ir.ui.view | qweb | New |
payment_capture_wizard_view_form |
payment.capture.wizard.form | payment.capture.wizard | form | New |
payment_data_form |
payment.data.form | payment.data | form | New |
payment_data_list |
payment.data.list | payment.data | list | New |
payment_link_wizard_view_form |
payment.link.wizard.form | payment.link.wizard | form | New |
payment_method_form |
payment.method.form | payment.method | form | New |
payment_method_kanban |
payment.method.kanban | payment.method | kanban | New |
payment_method_search |
payment.method.search | payment.method | search | New |
payment_method_tree |
payment.method.list | payment.method | list | New |
payment_provider_form |
payment.provider.form | payment.provider | form | New |
payment_provider_kanban |
payment.provider.kanban | payment.provider | kanban | New |
payment_provider_list |
payment.provider.list | payment.provider | list | New |
payment_provider_search |
payment.provider.search | payment.provider | search | New |
payment_token_form |
payment.token.form | payment.token | form | New |
payment_token_list |
payment.token.list | payment.token | list | New |
payment_token_search |
payment.token.search | payment.token | search | New |
payment_transaction_form |
payment.transaction.form | payment.transaction | form | New |
payment_transaction_list |
payment.transaction.list | payment.transaction | list | New |
payment_transaction_search |
payment.transaction.search | payment.transaction | search | New |
view_partners_form_payment_defaultcreditcard |
view.res.partner.form.payment.defaultcreditcard | res.partner | form | Inherits base.view_partner_form |
HTTP endpoints (7)
| Route(s) | Handler | Auth | Type | Methods | Flags |
|---|---|---|---|---|---|
/payment/archive_token |
PaymentPortal.archive_token |
user | jsonrpc | ALL | sudo |
/payment/confirmation |
PaymentPortal.payment_confirm |
public | http | GET | sudo website |
/my/payment_method |
PaymentPortal.payment_method |
user | http | GET | website |
/payment/pay |
PaymentPortal.payment_pay |
public | http | GET | sudo website |
/payment/transaction |
PaymentPortal.payment_transaction |
public | jsonrpc | ALL | |
/payment/status |
PaymentStatus.display_status |
public | http | ALL | website |
/payment/process |
PaymentStatus.payment_process |
public | jsonrpc | ALL |
Models touched (14)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (12)
-
amount_to_captureMonetarycompute='_compute_amount_to_capture'readonly=Falsestore=True -
authorized_amountMonetarycompute='_compute_authorized_amount'string='Authorized Amount' -
available_amountMonetarycompute='_compute_available_amount'string='Maximum Capture Allowed' -
captured_amountMonetarycompute='_compute_captured_amount'string='Already Captured' -
currency_idMany2onerelated='transaction_ids.currency_id' -
has_draft_childrenBooleancompute='_compute_has_draft_children' -
has_remaining_amountBooleancompute='_compute_has_remaining_amount' -
is_amount_to_capture_validBooleancompute='_compute_is_amount_to_capture_valid' -
support_partial_captureBooleancompute='_compute_support_partial_capture'compute_sudo=Truehelp="Whether each of the transactions' provider supports the partial capture." -
transaction_idsMany2many → payment.transactioncomodel_name='payment.transaction'default=<expr>readonly=True -
void_remaining_amountBoolean -
voided_amountMonetarycompute='_compute_voided_amount'string='Already Voided'
-
action_capture(self)
New fields (4)
-
error_tracebackTextstring='Error Traceback' -
erroredBooleanstring='Failed' -
payloadJsonrequired=Truestring='Payload' -
transaction_idMany2one → payment.transactioncomodel_name='payment.transaction'index=Trueondelete='restrict'required=Truestring='Transaction'
No public methods.
New fields (9)
-
amountMonetarycurrency_field='currency_id'required=True -
company_idMany2one → res.companycomodel_name='res.company'compute='_compute_company_id' -
currency_idMany2one → res.currencycomodel_name='res.currency' -
linkCharcompute='_compute_link'string='Payment Link' -
partner_emailCharrelated='partner_id.email' -
partner_idMany2one → res.partnercomodel_name='res.partner' -
res_idIntegerrequired=Truestring='Related Document ID' -
res_modelCharrequired=Truestring='Related Document Model' -
warning_messageCharcompute='_compute_warning_message'
-
default_get(self, fields)@api.model
New fields (17)
-
activeBooleanstring='Active' -
allow_amount_selectionBooleanhelp='Allow splitting payments across several payment methods.'string='Amount Selection' -
brand_idsOne2many → payment.methodcomodel_name='payment.method'context={'active_test': False}help='The brands of the payment methods that will be displayed on the payment form.'inverse_name='primary_payment_method_id'string='Brands' -
codeCharhelp='The technical code of this payment method.'required=Truestring='Code' -
imageImagehelp='The base image used for this payment method; in a 64x64 px format.'max_height=64max_width=64required=Truestring='Image' -
image_payment_formImagemax_height=30max_width=45related='image'store=Truestring='The resized image displayed on the payment form.' -
is_primaryBooleancompute='_compute_is_primary'search='_search_is_primary'string='Is Primary Payment Method' -
nameCharcopy=Truerequired=Truestring='Name'translate=True -
primary_payment_method_idMany2one → payment.methodcomodel_name='payment.method'help='The primary payment method of the current payment method, if the latter is a brand.\nFor example, "Card" is the primary payment method of the card brand "VISA".'index='btree_not_null'string='Primary Payment Method' -
provider_idMany2one → payment.providercomodel_name='payment.provider'help='The provider supporting this payment method.'index=Trueondelete='cascade'required=Truestring='Provider' -
sequenceIntegerdefault=1000string='Sequence' -
support_express_checkoutBooleanhelp='Express checkout allows customers to pay faster by using a payment method that provides all required billing and shipping information, thus allowing to skip the checkout process.'string='Express Checkout' -
support_manual_captureSelectiondefault='none'help='The payment is authorized and captured in two steps instead of one.'required=Trueselection=[('none', 'Unsupported'), ('full_only', 'Full Only'), ('partial', 'Full & Partial')]string='Manual Capture' -
support_refundSelectiondefault='none'help='Refund is a feature allowing to refund customers directly from the payment in Odoo.'required=Trueselection=[('none', 'Unsupported'), ('full_only', 'Full Only'), ('partial', 'Full & Partial')]string='Refund' -
support_tokenizationBooleanhelp='Tokenization is the process of saving the payment details as a token that can later be reused without having to enter the payment details again.'string='Tokenization' -
supported_country_idsMany2many → res.countrycomodel_name='res.country'help='The list of countries in which this payment method can be used (if the provider allows it). In other countries, this payment method is not available to customers.'string='Countries' -
supported_currency_idsMany2many → res.currencycomodel_name='res.currency'context={'active_test': False}help='The list of currencies for that are supported by this payment method (if the provider allows it). When paying with another currency, this payment method is not available to customers.'string='Currencies'
-
write(self, vals)
New fields (39)
-
activeBooleandefault=Truestring='Active' -
allow_express_checkoutBooleanhelp='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.'string='Allow Express Checkout' -
allow_tokenizationBooleanhelp="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."string='Allow Saving Payment Methods' -
auth_msgHtmldefault=<expr>help='The message displayed if payment is authorized'string='Authorize Message'translate=True -
available_country_idsMany2many → res.countrycolumn1='payment_id'column2='country_id'comodel_name='res.country'help='The countries in which this payment provider is available. Leave blank to make it available in all countries.'relation='payment_country_rel'string='Countries' -
available_currency_idsMany2many → res.currencycolumn1='payment_provider_id'column2='currency_id'comodel_name='res.currency'compute='_compute_available_currency_ids'context={'active_test': False}help='The currencies available with this payment provider. Leave empty not to restrict any.'readonly=Falserelation='payment_currency_rel'store=Truestring='Currencies' -
cancel_msgHtmldefault=<expr>help='The message displayed if the order is cancelled during the payment process'string='Cancelled Message'translate=True -
capture_manuallyBooleanhelp='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.'string='Capture Amount Manually' -
codeSelectiondefault='none'help='The technical code of this payment provider.'required=Trueselection=[('none', 'No Provider Set')]string='Code' -
company_idMany2one → res.companycomodel_name='res.company'default=<expr>index=Truerequired=Truestring='Company' -
done_msgHtmldefault=<expr>help='The message displayed if the order is successfully done after the payment process'string='Done Message'translate=True -
express_checkout_form_view_idMany2one → ir.ui.viewcomodel_name='ir.ui.view'domain=[('type', '=', 'qweb')]help="The template rendering the express payment methods' form."ondelete='restrict'string='Express Checkout Form Template' -
image_128Imagemax_height=128max_width=128string='Logo' -
inline_form_view_idMany2one → ir.ui.viewcomodel_name='ir.ui.view'domain=[('type', '=', 'qweb')]help='The template rendering the inline payment form when making a direct payment'ondelete='restrict'string='Inline Form Template' -
is_liveBooleancopy=Falsehelp='If live mode is disabled, a fake payment is processed through a test payment interface. This mode is advised when setting up the provider.'string='Live' -
is_publishedBooleancopy=Falsehelp='Whether the provider is visible on the website or not. Tokens remain functional but are only visible on manage forms.'string='Published' -
main_currency_idMany2onehelp='The main currency of the company, used to display monetary fields.'related='company_id.currency_id' -
maximum_amountMonetarycurrency_field='main_currency_id'help='The maximum payment amount that this payment provider is available for. Leave blank to make it available for any payment amount.'string='Maximum Amount' -
minimum_amountMonetarycurrency_field='main_currency_id'help='The minimum payment amount that this payment provider is available for. Leave blank to make it available for any payment amount.'string='Minimum Amount' -
module_idMany2one → ir.module.modulecomodel_name='ir.module.module'string='Corresponding Module' -
module_stateSelectionrelated='module_id.state'string='Installation State' -
module_to_buyBooleanrelated='module_id.to_buy'string='Odoo Enterprise Module' -
nameCharcopy=Truerequired=Truestring='Name'translate=True -
payment_method_idsOne2many → payment.methodcomodel_name='payment.method'context={'active_test': False}inverse_name='provider_id'string='Supported Payment Methods' -
payment_token_idsOne2many → payment.tokencomodel_name='payment.token'inverse_name='provider_id'string='Payment Tokens' -
payment_transaction_idsOne2many → payment.transactioncomodel_name='payment.transaction'inverse_name='provider_id'string='Payment Transactions' -
pending_msgHtmldefault=<expr>help='The message displayed if the order pending after the payment process'string='Pending Message'translate=True -
pre_msgHtmlhelp='The message displayed to explain and help the payment process'string='Help Message'translate=True -
primary_payment_method_idsOne2many → payment.methodcomodel_name='payment.method'compute='_compute_primary_payment_method_ids'context={'active_test': False}string='Primary Payment Methods' -
processed_amountMonetarycompute='_compute_processed_amount'currency_field='main_currency_id'string='Processed Amount' -
redirect_form_view_idMany2one → ir.ui.viewcomodel_name='ir.ui.view'domain=[('type', '=', 'qweb')]help='The template rendering a form submitted to redirect the user when making a payment'ondelete='restrict'string='Redirect Form Template' -
sequenceIntegerdefault=1000help='Define the display order'string='Sequence' -
support_express_checkoutBooleancompute='_compute_feature_support_fields'string='Express Checkout' -
support_manual_captureSelectioncompute='_compute_feature_support_fields'selection=[('full_only', 'Full Only'), ('partial', 'Partial')]string='Manual Capture Supported' -
support_refundSelectioncompute='_compute_feature_support_fields'help='Refund is a feature allowing to refund customers directly from the payment in Odoo.'selection=[('none', 'Unsupported'), ('full_only', 'Full Only'), ('partial', 'Full & Partial')]string='Refund' -
support_tokenizationBooleancompute='_compute_feature_support_fields'string='Tokenization' -
token_countIntegercompute='_compute_token_count'string='Token Count' -
token_inline_form_view_idMany2one → ir.ui.viewcomodel_name='ir.ui.view'domain=[('type', '=', 'qweb')]help='The template rendering the inline payment form when making a payment by token.'ondelete='restrict'string='Token Inline Form Template' -
transaction_countIntegercompute='_compute_transaction_count'string='Transaction Count'
-
action_add_payment_method(self) -
action_reset_credentials(self)Reset the credentials of the provider, disable it, and unpublish it. Note: self.ensure_one() :return: The result of the write operation. :rtype: bool -
action_start_onboarding(self, menu_id=None)Start the provider-specific onboarding. Providers implementing a specific onboarding must override this method and return the action to run the onboarding. :param int menu_id: The menu from which the onboarding is started, as an `ir.ui.menu` id. :return: The onboarding action. :rtype: dict -
action_toggle_is_published(self)Toggle the field `is_published`. :return: None :raise UserError: If the provider is disabled. -
action_view_payment_tokens(self) -
action_view_payment_transactions(self) -
button_immediate_install(self)Install the module and reload the page. Note: `self.ensure_one()` :return: The action to reload the page. :rtype: dict -
copy(self, default=None)Override of `base` to copy the payment methods linked to the providers. -
copy_data(self, default=None) -
create(self, vals_list)@api.model_create_multi -
write(self, vals)
New fields (10)
-
activeBooleandefault=Truestring='Active' -
company_idMany2oneindex=Truerelated='provider_id.company_id'store=True -
partner_idMany2one → res.partnercomodel_name='res.partner'index=Truerequired=Truestring='Partner' -
payment_detailsCharhelp="The clear part of the payment method's payment details."string='Payment Details' -
payment_method_codeCharrelated='payment_method_id.code'string='Payment Method Code' -
payment_method_idMany2one → payment.methodcomodel_name='payment.method'index=Truereadonly=Truerequired=Truestring='Payment Method' -
provider_codeSelectionrelated='provider_id.code'string='Provider Code' -
provider_idMany2one → payment.providercomodel_name='payment.provider'index=Truerequired=Truestring='Provider' -
provider_refCharhelp='The provider reference of the token of the transaction.'required=Truestring='Provider Reference' -
transaction_idsOne2many → payment.transactioncomodel_name='payment.transaction'inverse_name='token_id'string='Payment Transactions'
-
create(self, vals_list)@api.model_create_multi -
get_linked_records_info(self)Return a list of information about records linked to the current token. For a module to implement payments and link documents to a token, it must override this method and add information about linked document records to the returned list. The information must be structured as a dict with the following keys: - `description`: The description of the record's model (e.g. "Subscription"). - `id`: The id of the record. - `name`: The name of the record. - `url`: The url to access the record. Note: `self.ensure_one()` :return: The list of information about the linked document records. :rtype: list -
write(self, vals)
New fields (36)
-
amountMonetarycurrency_field='currency_id'readonly=Truerequired=Truestring='Amount' -
capture_manuallyBooleanrelated='provider_id.capture_manually' -
child_transaction_countIntegercompute='_compute_child_transaction_count' -
child_transaction_idsOne2many → payment.transactioncomodel_name='payment.transaction'help='The child transactions of the transaction.'inverse_name='source_transaction_id'readonly=Truestring='Child Transactions' -
company_idMany2oneindex=Truerelated='provider_id.company_id'store=True -
currency_idMany2one → res.currencycomodel_name='res.currency'readonly=Truerequired=Truestring='Currency' -
is_liveBooleanhelp='Whether the transaction happened in a production environment. False for transactions created before this tracking was implemented.'string='Production Environment' -
is_post_processedBooleanhelp='Has the payment been post-processed'string='Is Post-processed' -
landing_routeCharhelp='The route the user is redirected to after the transaction'string='Landing Route' -
last_state_changeDatetimedefault=fields.Datetime.nowreadonly=Truestring='Last State Change Date' -
operationSelectionindex=Truereadonly=Trueselection=[('online_redirect', 'Online payment with redirection'), ('online_direct', 'Online direct payment'), ('online_token', 'Online payment by token'), ('validation', 'Validation of the payment method'), ('offline', 'Offline payment by token'), ('refund', 'Refund')]string='Operation' -
partner_addressCharstring='Address' -
partner_cityCharstring='City' -
partner_country_idMany2one → res.countrycomodel_name='res.country'string='Country' -
partner_emailCharstring='Email' -
partner_idMany2one → res.partnercomodel_name='res.partner'ondelete='restrict'readonly=Truerequired=Truestring='Customer' -
partner_langSelectionselection=_lang_getstring='Language' -
partner_nameCharstring='Partner Name' -
partner_phoneCharstring='Phone' -
partner_state_idMany2one → res.country.statecomodel_name='res.country.state'string='State' -
partner_zipCharstring='Zip Code' -
payment_data_countIntegercompute='_compute_payment_data_count' -
payment_data_idsOne2many → payment.datacomodel_name='payment.data'inverse_name='transaction_id'string='Pending Updates' -
payment_method_codeCharrelated='payment_method_id.code'string='Payment Method Code' -
payment_method_idMany2one → payment.methodcomodel_name='payment.method'index=Truereadonly=Truerequired=Truestring='Payment Method' -
primary_payment_method_idMany2one → payment.methodcomodel_name='payment.method'compute='_compute_primary_payment_method_id'string='Primary Payment Method' -
provider_codeSelectionrelated='provider_id.code'string='Provider Code' -
provider_idMany2one → payment.providercomodel_name='payment.provider'index=Truereadonly=Truerequired=Truestring='Provider' -
provider_referenceCharhelp='The provider reference of the transaction'readonly=Truestring='Provider Reference' -
referenceCharhelp='The internal reference of the transaction'readonly=Truerequired=Truestring='Reference' -
refunds_countIntegercompute='_compute_refunds_count'string='Refunds Count' -
source_transaction_idMany2one → payment.transactioncomodel_name='payment.transaction'help='The source transaction of the related child transactions'index='btree_not_null'readonly=Truestring='Source Transaction' -
stateSelectioncopy=Falsedefault='draft'index=Truereadonly=Truerequired=Trueselection=[('draft', 'Draft'), ('pending', 'Pending'), ('authorized', 'Authorized'), ('done', 'Confirmed'), ('cancel', 'Canceled'), ('error', 'Error')]string='Status' -
state_messageTexthelp='The complementary information message about the state'readonly=Truestring='Message' -
token_idMany2one → payment.tokencomodel_name='payment.token'domain='[("provider_id", "=", "provider_id")]'index='btree_not_null'ondelete='restrict'readonly=Truestring='Payment Token' -
tokenizeBooleanhelp='Whether a payment token should be created when post-processing the transaction'string='Create Token'
-
action_capture(self)Open the partial capture wizard if it is supported by the related providers, otherwise capture the transactions immediately. :return: The action to open the partial capture wizard, if supported. :rtype: action.act_window|None -
action_confirm(self)Mark the transactions as confirmed, bypassing the normal payment flow. This is a workaround for cases where payment data processing fails and the transaction cannot be confirmed automatically. :rtype: None -
action_post_process(self)Run the post-processing of the transactions. :return: A client action to soft-reload the view. :rtype: dict -
action_refund(self, amount_to_refund=None)Check the state of the transactions and request their refund. :param float amount_to_refund: The amount to be refunded. :return: None -
action_view_child_transactions(self)Return a window action to browse the child transactions. :return: A window action :rtype: dict -
action_view_payment_data(self)Return a window action to browse the payment data linked to the transaction. :return: A window action to browse the payment data. :rtype: dict -
action_view_refunds(self)Return the windows action to browse the refund transactions linked to the transaction. Note: `self.ensure_one()` :return: The window action to browse the refund transactions. :rtype: dict -
action_void(self)Check the state of the transaction and request to have them voided. -
create(self, vals_list)@api.model_create_multi -
write(self, vals)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (3)
-
onboarding_payment_moduleSelectioncompute='_compute_onboarding_payment_module'selection=[('mercado_pago', 'Mercado Pago'), ('razorpay', 'Razorpay'), ('stripe', 'Stripe')]string='Onboarding Payment Module' -
pay_later_labelChardefault='Confirm'help="The label to be displayed on the payment buttons for 'Pay Later' payment methods."string='Pay Later Label'translate=True -
pay_now_labelChardefault='Pay now'help="The label to be displayed on the payment buttons for 'Pay Now' payment methods."string='Pay Now Label'translate=True
-
create(self, vals_list)@api.model_create_multi
New fields (2)
-
installed_provider_idMany2one → payment.providercomodel_name='payment.provider'compute='_compute_installed_provider_id'string='Installed Provider' -
onboarding_payment_moduleSelectionrelated='company_id.onboarding_payment_module'
-
action_view_installed_provider(self)
New fields (2)
-
is_mercado_pago_supported_countryBooleancompute='_compute_provider_support' -
is_stripe_supported_countryBooleancompute='_compute_provider_support'
No public methods.
New fields (2)
-
payment_token_countIntegercompute='_compute_payment_token_count'string='Payment Token Count' -
payment_token_idsOne2many → payment.tokencomodel_name='payment.token'inverse_name='partner_id'string='Payment Tokens'
No public methods.
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…