From 862b889662886592ba8a5ce6aedc9588cda60d0f Mon Sep 17 00:00:00 2001 From: Abdurrahman Saber Date: Thu, 8 Jan 2026 17:26:42 +0400 Subject: [PATCH] [IMP] payment_hyperpay, payment_hyperpay_tokenization: add payment icon in tokens --- .../payment_hyperpay_tokenization/__manifest__.py | 3 ++- .../controllers/main.py | 4 +++- .../models/payment.py | 1 + .../views/payment_template.xml | 14 ++++++++++++++ 4 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 odex25_donation/payment_hyperpay_tokenization/views/payment_template.xml diff --git a/odex25_donation/payment_hyperpay_tokenization/__manifest__.py b/odex25_donation/payment_hyperpay_tokenization/__manifest__.py index 75b7f917c..d483c8771 100644 --- a/odex25_donation/payment_hyperpay_tokenization/__manifest__.py +++ b/odex25_donation/payment_hyperpay_tokenization/__manifest__.py @@ -11,7 +11,8 @@ 'base', 'payment_hyperpay' ], 'data': [ - 'views/payment_acquirer_views.xml' + 'views/payment_acquirer_views.xml', + 'views/payment_template.xml' ] } \ No newline at end of file diff --git a/odex25_donation/payment_hyperpay_tokenization/controllers/main.py b/odex25_donation/payment_hyperpay_tokenization/controllers/main.py index b8c00ccf0..cad46702d 100644 --- a/odex25_donation/payment_hyperpay_tokenization/controllers/main.py +++ b/odex25_donation/payment_hyperpay_tokenization/controllers/main.py @@ -231,15 +231,17 @@ class HyperPayTokenization(Controller): except Exception as er: _logger.error('Hyperpay Token Return Transaction refund failed: %s' % er) + payment_icon_id = request.env['payment.icon'].sudo().search([('name', 'ilike', data.get('paymentBrand', '')), ('acquirer_ids', 'in', [acquirer_id.id])], limit=1) card_vals = { - 'name': f"{card.get('bin', '')}XXXXXXXXXXXX{card.get('last4Digits', '')}", + 'name': f"{card.get('bin', '')} **** **** **** {card.get('last4Digits', '')}", 'partner_id': request.env.user.partner_id.id, 'acquirer_id': acquirer_id.id, 'acquirer_ref': registration_id, 'hyperpay_payment_brand': data.get('paymentBrand'), 'hyperpay_initial_transaction_id': initial_tx_id, 'verified': True, + 'payment_icon_id': payment_icon_id.id, } token_id = request.env['payment.token'].sudo().create(card_vals) diff --git a/odex25_donation/payment_hyperpay_tokenization/models/payment.py b/odex25_donation/payment_hyperpay_tokenization/models/payment.py index 3688a68f6..e8d836342 100644 --- a/odex25_donation/payment_hyperpay_tokenization/models/payment.py +++ b/odex25_donation/payment_hyperpay_tokenization/models/payment.py @@ -129,6 +129,7 @@ class HyperPayToken(models.Model): _inherit = 'payment.token' hyperpay_payment_brand = fields.Char('Payment Brand') + payment_icon_id = fields.Many2one('payment.icon', string='Payment Icon') hyperpay_initial_transaction_id = fields.Char() diff --git a/odex25_donation/payment_hyperpay_tokenization/views/payment_template.xml b/odex25_donation/payment_hyperpay_tokenization/views/payment_template.xml new file mode 100644 index 000000000..d232c9ec2 --- /dev/null +++ b/odex25_donation/payment_hyperpay_tokenization/views/payment_template.xml @@ -0,0 +1,14 @@ + + + + + +