Payment Transaction¶
- class odoo.addons.payment.models.payment_transaction.PaymentTransaction[fuente]¶
- _compute_reference(provider_code, prefix=None, separator='-', **kwargs)[fuente]¶
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 with1
if 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'
ifn
existing references have the same prefix.
- Parámetros
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.
- Devuelve
The unique reference for the transaction.
- Tipo del valor devuelto
- _compute_reference_prefix(provider_code, separator, **values)[fuente]¶
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.
- Parámetros
- Devuelve
The computed reference prefix.
- Tipo del valor devuelto
- _get_specific_create_values(provider_code, values)[fuente]¶
Complete the values of the
create
method 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)[fuente]¶
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)[fuente]¶
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).
- _get_tx_from_notification_data(provider_code, notification_data)[fuente]¶
Find the transaction based on the notification data.
For a provider to handle transaction processing, it must overwrite this method and return the transaction matching the notification data.
- _handle_notification_data(provider_code, notification_data)[fuente]¶
Match the transaction with the notification data, update its state and return it.
- _process_notification_data(notification_data)[fuente]¶
Update the transaction state and the provider reference based on the notification data.
This method should usually not be called directly. The correct method to call upon receiving notification data is
_handle_notification_data()
.For a provider to handle transaction processing, it must overwrite this method and process the notification data.
Note:
self.ensure_one()
- Parámetros
notification_data (dict) – The notification data sent by the provider.
- Devuelve
None
- _send_capture_request(amount_to_capture=None)[fuente]¶
Request the provider handling the transaction to capture the payment.
For partial captures, create a child transaction linked to the source transaction.
For a provider to support authorization, it must override this method and make an API request to capture the payment.
Note:
self.ensure_one()
- Parámetros
amount_to_capture (float) – The amount to capture.
- Devuelve
The created capture child transaction, if any.
- Tipo del valor devuelto
payment.transaction
- _send_payment_request()[fuente]¶
Request the provider handling the transaction to make the payment.
This method is exclusively used to make payments by token, which correspond to both the
online_token
and theoffline
transaction’soperation
field.For a provider to support tokenization, it must override this method and make an API request to make a payment.
Note:
self.ensure_one()
- Devuelve
None
- _send_refund_request(amount_to_refund=None)[fuente]¶
Request the provider handling the transaction to refund it.
For a provider to support refunds, it must override this method and make an API request to make a refund.
Note:
self.ensure_one()
- Parámetros
amount_to_refund (float) – The amount to be refunded.
- Devuelve
The refund transaction created to process the refund request.
- Tipo del valor devuelto
recordset of
payment.transaction
- _send_void_request(amount_to_void=None)[fuente]¶
Request the provider handling the transaction to void the payment.
For partial voids, create a child transaction linked to the source transaction.
For a provider to support authorization, it must override this method and make an API request to void the payment.
Note:
self.ensure_one()
- Parámetros
amount_to_void (float) – The amount to be voided.
- Devuelve
The created void child transaction, if any.
- Tipo del valor devuelto
payment.transaction
- _set_authorized(state_message=None, extra_allowed_states=())[fuente]¶
Update the transactions” state to
authorized
.- Parámetros
- Devuelve
The updated transactions.
- Tipo del valor devuelto
recordset of
payment.transaction
- _set_canceled(state_message=None, extra_allowed_states=())[fuente]¶
Update the transactions” state to
cancel
.- Parámetros
- Devuelve
The updated transactions.
- Tipo del valor devuelto
recordset of
payment.transaction
- _set_done(state_message=None, extra_allowed_states=())[fuente]¶
Update the transactions” state to
done
.- Parámetros
- Devuelve
The updated transactions.
- Tipo del valor devuelto
recordset of
payment.transaction
- _set_error(state_message, extra_allowed_states=())[fuente]¶
Update the transactions” state to
error
.- Parámetros
- Devuelve
The updated transactions.
- Tipo del valor devuelto
recordset of
payment.transaction