diff options
| author | Nikunj Ladava <nla@odoo.com> | 2019-05-08 06:44:18 +0000 |
|---|---|---|
| committer | Nikunj Ladava <nla@odoo.com> | 2019-05-08 07:05:11 +0000 |
| commit | 0aefe72b773a21bdd38fdc86779d3030bd5127c6 (patch) | |
| tree | 132ffeed5ee9cc9b6f89c355ee51a2a70b0a80af /addons/payment_alipay/models | |
| parent | 2cc7f0dd49a6be1920cef232e6c010fbafa68270 (diff) | |
[FIX] payment_alipay: improvement as per the current payment
No need of return URL as '/payment/process' will handle all the cases for payment.
use of _set_transaction_state as per the state of the transaction.
closes - https://github.com/odoo/odoo/pull/33231
Diffstat (limited to 'addons/payment_alipay/models')
| -rw-r--r-- | addons/payment_alipay/models/payment.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/addons/payment_alipay/models/payment.py b/addons/payment_alipay/models/payment.py index 7f133b4d31f..83783fc0ccb 100644 --- a/addons/payment_alipay/models/payment.py +++ b/addons/payment_alipay/models/payment.py @@ -80,13 +80,12 @@ class PaymentAcquirer(models.Model): def _get_alipay_tx_values(self, values): base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url') - tx = self.env['payment.transaction'].search([('reference', '=', values.get('reference'))], limit=1) alipay_tx_values = ({ '_input_charset': 'utf-8', 'notify_url': urls.url_join(base_url, AlipayController._notify_url), 'out_trade_no': values.get('reference'), 'partner': self.alipay_merchant_partner_id, - 'return_url': urls.url_join(base_url, AlipayController._return_url) + '?' + urls.url_encode({'redirect_url': values.get('return_url')}), + 'return_url': urls.url_join(base_url, AlipayController._return_url), 'subject': values.get('reference'), 'total_fee': values.get('amount') + values.get('fees'), }) @@ -213,16 +212,19 @@ class PaymentTransaction(models.Model): if status in ['TRADE_FINISHED', 'TRADE_SUCCESS']: _logger.info('Validated Alipay payment for tx %s: set as done' % (self.reference)) date_validate = fields.Datetime.now() - res.update(state='done', date=date_validate) + res.update(date=date_validate) + self._set_transaction_done() self.write(res) self.execute_callback() return True elif status == 'TRADE_CLOSED': _logger.info('Received notification for Alipay payment %s: set as Canceled' % (self.reference)) - res.update(state='cancel', state_message=data.get('close_reason', '')) + res.update(state_message=data.get('close_reason', '')) + self._set_transaction_cancel() return self.write(res) else: error = 'Received unrecognized status for Alipay payment %s: %s, set as error' % (self.reference, status) _logger.info(error) - res.update(state='error', state_message=error) + res.update(state_message=error) + self._set_transaction_error() return self.write(res) |
