[FIX] payment_buckaroo: return url, payment validation
This revision is related to 6efc371291
The return URL parameter key has changed: The capital letters
are not the same than before.
Besides, send a dict in the `ADD_RETURNDATA` doesn't seem
to be supported by Buckaroo. We therefore no
longer uses a dict but a string to avoid problems.
opw-665697
This commit is contained in:
parent
7f230a540e
commit
7473f4a3c7
|
@ -30,9 +30,6 @@ class BuckarooController(http.Controller):
|
||||||
""" Buckaroo."""
|
""" Buckaroo."""
|
||||||
_logger.info('Buckaroo: entering form_feedback with post data %s', pprint.pformat(post)) # debug
|
_logger.info('Buckaroo: entering form_feedback with post data %s', pprint.pformat(post)) # debug
|
||||||
request.registry['payment.transaction'].form_feedback(request.cr, SUPERUSER_ID, post, 'buckaroo', context=request.context)
|
request.registry['payment.transaction'].form_feedback(request.cr, SUPERUSER_ID, post, 'buckaroo', context=request.context)
|
||||||
return_url = post.pop('return_url', '')
|
post = dict((key.upper(), value) for key, value in post.items())
|
||||||
if not return_url:
|
return_url = post.get('ADD_RETURNDATA') or '/'
|
||||||
data ='' + post.pop('ADD_RETURNDATA', '{}').replace("'", "\"")
|
|
||||||
custom = json.loads(data)
|
|
||||||
return_url = custom.pop('return_url', '/')
|
|
||||||
return werkzeug.utils.redirect(return_url)
|
return werkzeug.utils.redirect(return_url)
|
||||||
|
|
|
@ -107,7 +107,7 @@ class AcquirerBuckaroo(osv.Model):
|
||||||
'Brq_culture': (partner_values.get('lang') or 'en_US').replace('_', '-'),
|
'Brq_culture': (partner_values.get('lang') or 'en_US').replace('_', '-'),
|
||||||
})
|
})
|
||||||
if buckaroo_tx_values.get('return_url'):
|
if buckaroo_tx_values.get('return_url'):
|
||||||
buckaroo_tx_values['add_returndata'] = {'return_url': '%s' % buckaroo_tx_values.pop('return_url')}
|
buckaroo_tx_values['add_returndata'] = buckaroo_tx_values.pop('return_url')
|
||||||
else:
|
else:
|
||||||
buckaroo_tx_values['add_returndata'] = ''
|
buckaroo_tx_values['add_returndata'] = ''
|
||||||
buckaroo_tx_values['Brq_signature'] = self._buckaroo_generate_digital_sign(acquirer, 'in', buckaroo_tx_values)
|
buckaroo_tx_values['Brq_signature'] = self._buckaroo_generate_digital_sign(acquirer, 'in', buckaroo_tx_values)
|
||||||
|
|
Loading…
Reference in New Issue