[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.
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user