付款交易?
- class odoo.addons.payment.models.payment_transaction.PaymentTransaction[源代碼]?
- _compute_reference(provider_code, prefix=None, separator='-', **kwargs)[源代碼]?
為交易計算一個唯一的參考編號。
如果沒有其他具有該前綴的交易,則參考文本對應于前綴。否則,它遵循模式
{computed_prefix}{separator}{sequence_number}
,其中:{computed_prefix}
是:如有提供,為所提供的自定義前綴。
如果自定義前綴未填充,但kwargs已填充,則為
_compute_reference_prefix()
的計算結果。如果自定義前綴和kwargs都未填寫,則為
'tx-{datetime}'
。
{separator}
是將前綴與序列號分開的字符串。{sequence_number}
是具有相同前綴的參考文獻序列中的下一個整數。如果只有一個匹配的參考文獻,則序列從1
開始。
Example
假設自定義前綴為
'example'
,并且沒有與現有參考文獻匹配,完整的參考文獻將是'example'
。假設自定義前綴為
'example'
,與現有參考文本'example'
匹配,并且自定義分隔符為'-'
,則完整的參考文本將為'example-1'
。給定kwargs
{'invoice_ids': [1, 2]}
,自定義分隔符'-'
和無自定義前綴,如果沒有相同前綴的現有引用,則完整引用將是'INV1-INV2'
(或類似),否則將是'INV1-INV2-n'
,其中n
是具有相同前綴的現有引用數。
- _compute_reference_prefix(provider_code, separator, **values)[源代碼]?
從交易值計算參考前綴。
注意:此方法應在sudo模式下調用,以便訪問交易值中引用的文檔(發票、銷售訂單)。
- _get_post_processing_values()[源代碼]?
返回一個字典,用于顯示交易狀態的值。
如果要提供商處理交易狀態顯示,則必須重寫此方法并返回值字典。提供商特定值優先于通用后處理值字典。
返回的字典包含以下條目:
provider_code
: 供應商代碼。reference
: 交易的參考。amount
: 交易的四舍五入金額。currency_id
: 交易貨幣,以res.currency
id 形式表示。state
: 交易狀態:草稿
,待處理
,已授權
,已完成
,已取消
或錯誤
。state_message
: 狀態信息的說明消息。operation
: 交易的操作。is_post_processed
: 該交易是否已經進行了后處理。landing_route
: 交易完成后用戶被重定向到的路由。額外的供應商特定條目。
注意:
self.ensure_one()
- 返回
處理值的字典。
- 返回類型
- _get_specific_create_values(provider_code, values)[源代碼]?
使用提供商特定的值來完成
create
方法的值。如果供應商要添加自己的創建值,它必須覆蓋此方法并返回值字典。供應商特定值優先于通用創建值字典的值。
- _get_specific_processing_values(processing_values)[源代碼]?
返回一個字典,其中包含用于處理交易的特定于提供商的值。
為了讓提供商添加自己的處理值,它必須覆蓋此方法并返回一個基于此方法返回的通用值的提供商特定值字典。提供商特定值優先于通用處理值字典中的值。
- _get_specific_rendering_values(processing_values)[源代碼]?
返回一個字典,其中包含用于呈現重定向表單的特定于提供商的值。
如果供應商要添加自己的渲染值,它必須重寫此方法并返回一個字典,其中包含基于處理值的供應商特定值(包括供應商特定處理值)。
- _get_tx_from_notification_data(provider_code, notification_data)[源代碼]?
根據通知數據查找交易。
為了處理交易,提供商必須重寫此方法并返回與通知數據匹配的交易。
- _process_notification_data(notification_data)[源代碼]?
根據通知數據更新交易狀態和提供商參考。
通常不應直接調用此方法。正確的方法是在接收到通知數據時調用
_handle_notification_data()
。為了處理交易,提供商必須重寫此方法并處理通知數據。
注意:
self.ensure_one()
- 參數
notification_data (dict) – 供應商發送的通知數據。
- 返回
無
- _send_capture_request()[源代碼]?
請求處理交易的提供商進行付款捕獲。
如果一個提供商要支持授權,它必須重寫此方法并發出 API 請求以捕獲付款。
注意:
self.ensure_one()
- 返回
無
- _send_payment_request()[源代碼]?
請求處理交易的提供商進行付款。
此方法專門用于通過令牌進行付款,對應于
online_token
和offline
交易的operation
字段。如果提供商支持令牌化,則必須重寫此方法并進行 API 請求以進行付款。
注意:
self.ensure_one()
- 返回
無
- _send_refund_request(amount_to_refund=None)[源代碼]?
請求處理交易的供應商進行退款。
如果提供商支持退款,則必須重寫此方法并發出 API 請求以進行退款。
注意:
self.ensure_one()
- 參數
amount_to_refund (float) – 退款金額。
- 返回
創建的退款交易以處理退款請求。
- 返回類型
payment.transaction
的記錄集
- _send_void_request()[源代碼]?
請求處理交易的服務提供商取消支付。
為了支持授權,提供商必須重寫此方法并向API發出請求以取消付款。
注意:
self.ensure_one()
- 返回
無
- _set_authorized(state_message=None)[源代碼]?
將交易狀態更新為“已授權”(authorized)
- 參數
state_message (str) – 將交易狀態設置為“已授權”的原因。
- 返回
更新后的交易。
- 返回類型
payment.transaction
的記錄集
- _set_canceled(state_message=None)[源代碼]?
將交易狀態更新為“取消”(
cancel
)。- 參數
state_message (str) – 將交易狀態設置為“取消”的原因。
- 返回
更新后的交易。
- 返回類型
payment.transaction
的記錄集
- _set_done(state_message=None)[源代碼]?
將交易狀態更新為“已完成”(done)。
- 參數
state_message (str) – 將交易狀態設置為“完成”的原因。
- 返回
更新后的交易。
- 返回類型
payment.transaction
的記錄集