支付提供商?

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 : 是否支持”令牌化功能”。默認為 False 。

為了指定提供商支持其他功能,必須覆蓋此方法并在適當的“payment.provider”記錄上將相關功能支持字段設置為所需值。

返回

_compute_fees(amount, currency, country)[源代碼]?

計算交易費用。

計算基于 fees_dom_fixed 、 fees_dom_var 、 fees_int_fixedfees_int_var 字段,使用公式 fees = (amount * variable / 100.0 + fixed) / (1 - variable / 100.0) 進行計算,其中 fixedvariable 的值取自國內 ( dom ) 或國際 ( int ) 字段,具體取決于國家是否與公司所在國家匹配。

如果提供商要基于不同的變量進行計算,或使用不同的公式,它必須重寫此方法并返回結果費用。

參數
  • amount (float) – 交易的支付金額。

  • currency (recordset) – 交易的貨幣,以 res.currency 記錄的形式。

  • country (recordset) – 客戶國家,作為 res.country 記錄。

返回

計算出的費用。

返回類型

float

_compute_view_configuration_fields()[源代碼]?

根據提供商計算視圖配置字段。

視圖配置字段用于從支付提供商的表單視圖中隱藏特定元素(筆記本電腦頁面、字段等)。這些字段默認設置為“True”,如下所示:

  • show_credentials_page : 是否顯示“憑據”筆記本頁面。

  • 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 : 是否顯示“完成信息”字段。

  • 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) – 操作是否為驗證。

返回

重定向表單模板的視圖。

返回類型

ir.ui.view 的記錄

_get_validation_amount()[源代碼]?

返回用于驗證操作的金額。

為了支持令牌化,提供程序必須重寫此方法并返回驗證金額。如果為 0 ,則不需要創建覆蓋。

注意: self.ensure_one()

返回

驗證金額。

返回類型

float

_get_validation_currency()[源代碼]?

返回用于驗證操作的貨幣。

為了支持令牌化,提供程序必須重寫此方法并返回驗證貨幣。如果驗證金額為“0”,則不需要創建覆蓋。

注意: self.ensure_one()

返回

驗證貨幣。

返回類型

記錄集 res.currency

_is_tokenization_required(**kwargs)[源代碼]?

根據上下文返回是否需要對交易進行令牌化。

如果一個模塊需要根據交易上下文使令牌化成為必需,它必須重寫此方法并返回是否需要。

參數

kwargs (dict) – 交易上下文。此參數在此處未使用。

返回

是否需要對交易進行令牌化處理。

返回類型

bool

_should_build_inline_form(is_validation=False)[源代碼]?

返回是否應該實例化內聯支付表單。

如果一個提供商要處理直接支付和重定向支付,它必須重寫此方法并根據操作(在線支付或驗證)返回是否應該實例化內聯支付表單(即是否應該進行直接支付)。

參數

is_validation (bool) – 操作是否為驗證。

返回

是否應該實例化內聯表單。

返回類型

bool

_get_removal_values()[源代碼]?

返回卸載模塊時更新提供程序的值。

如果一個模塊需要指定額外的刪除值,它必須重寫此方法,并使用其特定值完成通用值。

返回

更新已刪除的提供商的移除值。

返回類型

dict