Payment Transaction¶
- class odoo.addons.payment.models.payment_transaction.PaymentTransaction[sorgente]¶
- _apply_updates(payment_data)[sorgente]¶
- Update the transaction based on the payment data received from the provider. - The updates typically include the payment’s state, the provider reference, and the selected payment method. - This method should not be called directly; payment data should go through - _process().- This method must be overridden by providers to update the transaction based on the payment data. - Note: - self.ensure_one()from- _process()- Parametri
- payment_data (dict) – The payment data sent by the provider. 
- Ritorna
- None 
 
 - _compute_reference(provider_code, prefix=None, separator='-', **kwargs)[sorgente]¶
- Compute a unique reference for the transaction. - The reference corresponds to the prefix if no other transaction with that prefix already exists. Otherwise, it follows the pattern - {computed_prefix}{separator}{sequence_number}where:- {computed_prefix}is:- The provided custom prefix, if any. 
- The computation result of - _compute_reference_prefix()if the custom prefix is not filled, but the kwargs are.
- 'tx-{datetime}'if neither the custom prefix nor the kwargs are filled.
 
- {separator}is the string that separates the prefix from the sequence number.
- {sequence_number}is the next integer in the sequence of references sharing the same prefix. The sequence starts with- 1if there is only one matching reference.
 - Example - Given the custom prefix - 'example'which has no match with an existing reference, the full reference will be- 'example'.
- Given the custom prefix - 'example'which matches the existing reference- 'example', and the custom separator- '-', the full reference will be- 'example-1'.
- Given the kwargs - {'invoice_ids': [1, 2]}, the custom separator- '-'and no custom prefix, the full reference will be- 'INV1-INV2'(or similar) if no existing reference has the same prefix, or- 'INV1-INV2-n'if- nexisting references have the same prefix.
 - Parametri
- provider_code (str) – The code of the provider handling the transaction. 
- prefix (str) – The custom prefix used to compute the full reference. 
- separator (str) – The custom separator used to separate the prefix from the suffix. 
- kwargs (dict) – Optional values passed to - _compute_reference_prefix()if no custom prefix is provided.
 
- Ritorna
- The unique reference for the transaction. 
- Tipo di ritorno
 
 - _compute_reference_prefix(separator, **values)[sorgente]¶
- Compute the reference prefix from the transaction values. - Note: This method should be called in sudo mode to give access to the documents (invoices, sales orders) referenced in the transaction values. 
 - _extract_amount_data(payment_data)[sorgente]¶
- Extract the amount, currency and rounding precision from the payment data. - This method must be overridden by providers to parse the amount data from the payment data. If the provider returns - None, the amount validation is skipped.
 - _extract_reference(provider_code, payment_data)[sorgente]¶
- Extract the transaction reference from the payment data. - This method must be overridden by providers to extract the reference from the payment data. 
 - _extract_token_values(payment_data)[sorgente]¶
- Extract the create values of a token from the payment data. - Providers can override this to supply their own token data based on the payment data. - Note: self.ensure_one() from :meth: - _tokenize
 - _get_specific_create_values(provider_code, values)[sorgente]¶
- Complete the values of the - createmethod with provider-specific values.- For a provider to add its own create values, it must overwrite this method and return a dict of values. Provider-specific values take precedence over those of the dict of generic create values. 
 - _get_specific_processing_values(processing_values)[sorgente]¶
- Return a dict of provider-specific values used to process the transaction. - For a provider to add its own processing values, it must overwrite this method and return a dict of provider-specific values based on the generic values returned by this method. Provider-specific values take precedence over those of the dict of generic processing values. 
 - _get_specific_rendering_values(processing_values)[sorgente]¶
- Return a dict of provider-specific values used to render the redirect form. - For a provider to add its own rendering values, it must overwrite this method and return a dict of provider-specific values based on the processing values (provider-specific processing values included). 
 - _process(provider_code, payment_data)[sorgente]¶
- Process the payment data received from the provider and update the transaction. 
 - _search_by_reference(provider_code, payment_data)[sorgente]¶
- Search the transaction based on the payment data. 
 - _send_api_request(method, endpoint, *, params=None, data=None, json=None, **kwargs)[sorgente]¶
- Send a request to the API. - This method serves as a helper to: - Pass the transaction reference to the provider’s - _send_api_request()method.
- Set the transaction’s state to - errorif the request fails, with the exception’s message as the- state_message.
 - Note: - self.ensure_one()- Parametri
- method (str) – The HTTP method of the request. 
- endpoint (str) – The endpoint of the API to reach with the request. 
- params (dict) – The query string parameters of the request. 
- json (dict) – The JSON-formatted body of the request. 
- kwargs (dict) – Provider-specific data forwarded to the specialized helper methods. 
 
- Ritorna
- The formatted content of the response. 
- Tipo di ritorno
- Solleva
- ValidationError – If an HTTP error occurs. 
 
 - _send_capture_request()[sorgente]¶
- Request the provider handling the transaction to send a capture request. - For a provider to support authorization, it must override this method and send an API request to capture the payment. - Note: - self.ensure_one()from- _capture()- Ritorna
- None 
 
 - _send_payment_request()[sorgente]¶
- Request the provider handling the transaction to send a token payment request. - This method is exclusively used to make payments by token, which correspond to both the - online_tokenand the- offlinetransaction’s- operationfield.- For a provider to support tokenization, it must override this method and send an API request to make a payment. - Note: - self.ensure_one()from- _charge_with_token()- Ritorna
- None 
 
 - _send_refund_request()[sorgente]¶
- Request the provider handling the transaction to send a refund request. - For a provider to support refunds, it must override this method and send an API request to make a refund. - Note: - self.ensure_one()from- _refund()- Ritorna
- None 
 
 - _send_void_request()[sorgente]¶
- Request the provider handling the transaction to send a void request. - For a provider to support authorization, it must override this method and send an API request to void the payment. - Note: - self.ensure_one()from- _void()- Ritorna
- None 
 
 - _set_authorized(*, state_message=None, extra_allowed_states=())[sorgente]¶
- Update the transactions” state to - authorized.- Parametri
- Ritorna
- The updated transactions. 
- Tipo di ritorno
- recordset of - payment.transaction
 
 - _set_canceled(state_message=None, extra_allowed_states=())[sorgente]¶
- Update the transactions” state to - cancel.- Parametri
- Ritorna
- The updated transactions. 
- Tipo di ritorno
- recordset of - payment.transaction
 
 - _set_done(*, state_message=None, extra_allowed_states=())[sorgente]¶
- Update the transactions” state to - done.- Parametri
- Ritorna
- The updated transactions. 
- Tipo di ritorno
- recordset of - payment.transaction
 
 - _set_error(state_message, extra_allowed_states=())[sorgente]¶
- Update the transactions” state to - error.- Parametri
- Ritorna
- The updated transactions. 
- Tipo di ritorno
- recordset of - payment.transaction
 
 - _set_pending(*, state_message=None, extra_allowed_states=())[sorgente]¶
- Update the transactions” state to - pending.- Parametri
- Ritorna
- The updated transactions. 
- Tipo di ritorno
- recordset of - payment.transaction