Fix PayDunya redirect flow rendering in Odoo 18

This commit is contained in:
mthiam
2026-02-06 15:19:28 +01:00
parent c93b260937
commit 5e7d107481
3 changed files with 11 additions and 35 deletions

View File

@@ -9,7 +9,7 @@ _logger = logging.getLogger(__name__)
class PaymentTransaction(models.Model):
_inherit = 'payment.transaction'
def _get_specific_rendering_values(self, **kwargs):
def _get_specific_rendering_values(self, processing_values):
"""Create invoice on PayDunya and return rendering values for redirection."""
self.ensure_one()
provider = False
@@ -78,16 +78,12 @@ class PaymentTransaction(models.Model):
if token:
# store reference to match notifications
self.acquirer_reference = token
self._cr.commit()
self.provider_reference = token
_logger.info('PayDunya invoice created: token=%s, url=%s', token, redirect_url)
# Return the template name and rendering values expected by Odoo
# Return the rendering values expected by the redirect form template.
return {
'rendering_template': 'payment_paydunya.paydunya_redirect_form',
'rendering_values': {
'paydunya_token': token,
'redirect_url': redirect_url,
}
'api_url': redirect_url,
'token': token,
}
else:
_logger.warning('PayDunya: no token in response: %s', data)
@@ -107,7 +103,7 @@ class PaymentTransaction(models.Model):
token = invoice_data.get('invoice', {}).get('token') or invoice_data.get('token')
if not token:
return None
tx = self.search([('acquirer_reference', '=', token)], limit=1)
tx = self.search([('provider_reference', '=', token)], limit=1)
return tx or None
def _handle_notification_data(self, data):