summaryrefslogtreecommitdiff
path: root/addons/payment_alipay/models
diff options
context:
space:
mode:
authorNikunj Ladava <nla@odoo.com>2019-05-08 06:44:18 +0000
committerNikunj Ladava <nla@odoo.com>2019-05-08 07:05:11 +0000
commit0aefe72b773a21bdd38fdc86779d3030bd5127c6 (patch)
tree132ffeed5ee9cc9b6f89c355ee51a2a70b0a80af /addons/payment_alipay/models
parent2cc7f0dd49a6be1920cef232e6c010fbafa68270 (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.py12
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)