From 34e7deb0d49d15cc36de7c0a94f028b82ade5723 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Mon, 8 Aug 2016 17:08:40 +0200 Subject: [PATCH] [FIX] payment_ogone: correctly handle tx error status Transaction status "0" is explicitly defined for invalid or incomplete transactions. It must not be treated as a delayed status, but as a permanent failure. Ref: https://payment-services.ingenico.com/int/en/ogone/support/guides/user%20guides/statuses-and-errors/statuses In addition, the delay for re-checking a delayed transaction status was not meant to be set to 500 seconds but to 500 milli-seconds. --- addons/payment_ogone/models/ogone.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/payment_ogone/models/ogone.py b/addons/payment_ogone/models/ogone.py index 585ad5a09ba..f09d78139f4 100644 --- a/addons/payment_ogone/models/ogone.py +++ b/addons/payment_ogone/models/ogone.py @@ -422,8 +422,8 @@ class PaymentTxOgone(osv.Model): 'acquirer_reference': tree.get('PAYID'), 'html_3ds': str(tree.HTML_ANSWER).decode('base64') }) - elif (not status or status in self._ogone_wait_tx_status) and tries > 0: - time.sleep(500) + elif status in self._ogone_wait_tx_status and tries > 0: + time.sleep(0.5) tx.write({'acquirer_reference': tree.get('PAYID')}) tree = self._ogone_s2s_get_tx_status(tx) return self._ogone_s2s_validate_tree(tx, tree, tries - 1)