Payment Provider¶
- class odoo.addons.payment.models.payment_provider.PaymentProvider[source]¶
- _compute_feature_support_fields()[source]¶
Compute the feature support fields based on the provider.
Feature support fields are used to specify which additional features are supported by a given provider. These fields are as follows:
support_express_checkout: Whether the ”express checkout” feature is supported.Falseby default.support_fees: Whether the ”extra fees” feature is supported.Falseby default.support_manual_capture: Whether the ”manual capture” feature is supported.Falseby default.support_refund: Which type of the ”refunds” feature is supported:None,'full_only', or'partial'.Noneby default.support_tokenization: Whether the ”tokenization feature” is supported.Falseby default.
For a provider to specify that it supports additional features, it must override this method and set the related feature support fields to the desired value on the appropriate
payment.providerrecords.- Returnerar
None
- _compute_fees(amount, currency, country)[source]¶
Compute the transaction fees.
The computation is based on the fields
fees_dom_fixed,fees_dom_var,fees_int_fixedandfees_int_var, and is performed with the formulafees = (amount * variable / 100.0 + fixed) / (1 - variable / 100.0)where the values offixedandvariableare taken from either the domestic (dom) or international (int) fields, depending on whether the country matches the company’s country.For a provider to base the computation on different variables, or to use a different formula, it must override this method and return the resulting fees.
- _compute_view_configuration_fields()[source]¶
Compute the view configuration fields based on the provider.
View configuration fields are used to hide specific elements (notebook pages, fields, etc.) from the form view of payment providers. These fields are set to
Trueby default and are as follows:show_credentials_page: Whether the ”Credentials” notebook page should be shown.show_allow_tokenization: Whether theallow_tokenizationfield should be shown.show_allow_express_checkout: Whether theallow_express_checkoutfield should be shown.show_payment_icon_ids: Whether thepayment_icon_idsfield should be shown.show_pre_msg: Whether thepre_msgfield should be shown.show_pending_msg: Whether thepending_msgfield should be shown.show_auth_msg: Whether theauth_msgfield should be shown.show_done_msg: Whether thedone_msgfield should be shown.show_cancel_msg: Whether thecancel_msgfield should be shown.
For a provider to hide specific elements of the form view, it must override this method and set the related view configuration fields to
Falseon the appropriatepayment.providerrecords.- Returnerar
None
- _get_compatible_providers(company_id, partner_id, amount, currency_id=None, force_tokenization=False, is_express_checkout=False, is_validation=False, **kwargs)[source]¶
Select and return the providers matching the criteria.
The criteria are that providers must not be disabled, be in the company that is provided, and support the country of the partner if it exists. The criteria can be further refined by providing the keyword arguments.
- Parametrar
company_id (int) – The company to which providers must belong, as a
res.companyid.partner_id (int) – The partner making the payment, as a
res.partnerid.amount (float) – The amount to pay.
0for validation transactions.currency_id (int) – The payment currency, if known beforehand, as a
res.currencyid.force_tokenization (bool) – Whether only providers allowing tokenization can be matched.
is_express_checkout (bool) – Whether the payment is made through express checkout.
is_validation (bool) – Whether the operation is a validation.
kwargs (dict) – Optional data. This parameter is not used here.
- Returnerar
The compatible providers.
- Returtyp
recordset of
payment.provider
- _get_redirect_form_view(is_validation=False)[source]¶
Return the view of the template used to render the redirect form.
For a provider to return a different view depending on whether the operation is a validation, it must override this method and return the appropriate view.
Note:
self.ensure_one()- Parametrar
is_validation (bool) – Whether the operation is a validation.
- Returnerar
The view of the redirect form template.
- Returtyp
record of
ir.ui.view
- _get_validation_amount()[source]¶
Return the amount to use for validation operations.
For a provider to support tokenization, it must override this method and return the validation amount. If it is
0, it is not necessary to create the override.Note:
self.ensure_one()- Returnerar
The validation amount.
- Returtyp
- _get_validation_currency()[source]¶
Return the currency to use for validation operations.
For a provider to support tokenization, it must override this method and return the validation currency. If the validation amount is
0, it is not necessary to create the override.Note:
self.ensure_one()- Returnerar
The validation currency.
- Returtyp
recordset of
res.currency
- _is_tokenization_required(**kwargs)[source]¶
Return whether tokenizing the transaction is required given its context.
For a module to make the tokenization required based on the transaction context, it must override this method and return whether it is required.
- _should_build_inline_form(is_validation=False)[source]¶
Return whether the inline payment form should be instantiated.
For a provider to handle both direct payments and payments with redirection, it must override this method and return whether the inline payment form should be instantiated (i.e. if the payment should be direct) based on the operation (online payment or validation).
- _get_removal_values()[source]¶
Return the values to update a provider with when its module is uninstalled.
For a module to specify additional removal values, it must override this method and complete the generic values with its specific values.
- Returnerar
The removal values to update the removed provider with.
- Returtyp