支付提供商¶
- class odoo.addons.payment.models.payment_provider.PaymentProvider[源代码]¶
- _compute_feature_support_fields()[源代码]¶
根据提供商计算功能支持字段。
功能支持字段用于指定给定提供商支持的其他功能。这些字段如下:
support_express_checkout
: 是否支持“快速结账”功能。默认为False
。support_fees
: 是否支持“额外费用”功能。默认为False
。support_manual_capture
: 是否支持“手动捕获”功能。默认为False
。support_refund
: 支持哪种类型的“退款”功能:None
,'full_only'
或'partial'
。默认为None
。support_tokenization
: 是否支持“tokenization功能”。默认为`False`。
对于提供者来指定其支持额外功能,必须重写此方法,并在适当的
payment.provider
记录上将相关功能支持字段设置为所需值。- 返回
无
- _compute_fees(amount, currency, country)[源代码]¶
计算交易费用。
计算基于字段
fees_dom_fixed
,fees_dom_var
,fees_int_fixed
和fees_int_var
,并使用公式执行计算fees = (amount * variable / 100.0 + fixed) / (1 - variable / 100.0)
其中fixed
和variable
的值取自国内 (dom
) 或国际 (int
) 字段,取决于国家是否与公司的国家匹配。如果提供商要基于不同的变量进行计算,或使用不同的公式,它必须重写此方法并返回结果费用。
- _compute_view_configuration_fields()[源代码]¶
根据提供商计算视图配置字段。
视图配置字段用于从支付提供商的表单视图中隐藏特定元素(笔记本页、字段等)。这些字段默认设置为
True
,具体如下:show_credentials_page
: Whether the “Credentials” notebook page should be shown.show_allow_tokenization
: 是否显示allow_tokenization
字段。show_allow_express_checkout
: 是否显示allow_express_checkout
字段。show_payment_icon_ids
: 是否显示payment_icon_ids
字段。show_pre_msg
:是否显示`pre_msg`字段。show_pending_msg
:是否显示`pending_msg`字段。show_auth_msg
: 是否显示auth_msg
字段。show_done_msg
:是否显示`done_msg`字段。show_cancel_msg
: 是否显示cancel_msg
字段。
对于一个提供者来隐藏表单视图的特定元素,它必须重写此方法,并在适当的
payment.provider
记录上将相关的视图配置字段设置为False
。- 返回
无
- _get_compatible_providers(company_id, partner_id, amount, currency_id=None, force_tokenization=False, is_express_checkout=False, is_validation=False, **kwargs)[源代码]¶
选择并返回符合条件的供应商。
提供者的标准是不能被禁用,必须在提供的公司中,并支持合作伙伴所在的国家(如果存在)。可以通过提供关键字参数进一步细化标准。
- 参数
company_id (int) – 提供商必须隶属于的公司,以
res.company
id 表示。partner_id (int) – 付款方,以
res.partner
ID形式表示。amount (float) – 支付金额。对于验证交易,请输入
0
。currency_id (int) – 如果事先已知,则为支付货币,以
res.currency
ID 形式。force_tokenization (bool) – 是否只匹配允许令牌化的提供商。
is_express_checkout (bool) – 支付是否通过快速结账完成。
is_validation (bool) – 操作是否为验证。
kwargs (dict) – 可选数据。此参数在此处未使用。
- 返回
兼容的支付提供商。
- 返回类型
支付提供商
payment.provider
的记录集
- _get_redirect_form_view(is_validation=False)[源代码]¶
返回用于呈现重定向表单的模板视图。
如果提供商要根据操作是验证还是其他来返回不同的视图,则必须覆盖此方法并返回相应的视图。
注意:
self.ensure_one()
- 参数
is_validation (bool) – 操作是否为验证。
- 返回
重定向表单模板的视图。
- 返回类型
record of
ir.ui.view
- _get_validation_amount()[源代码]¶
返回用于验证操作的金额。
为了支持令牌化,提供商必须重写此方法并返回验证金额。如果为
0
,则不需要创建重写。注意:
self.ensure_one()
- 返回
验证金额。
- 返回类型
- _get_validation_currency()[源代码]¶
返回用于验证操作的货币。
为了支持令牌化,提供商必须重写此方法并返回验证货币。如果验证金额为
0
,则不需要创建重写。注意:
self.ensure_one()
- 返回
验证货币。
- 返回类型
recordset of
res.currency
- _is_tokenization_required(**kwargs)[源代码]¶
根据上下文返回是否需要对交易进行令牌化。
如果一个模块需要根据交易上下文使令牌化成为必需,它必须重写此方法并返回是否需要。