Transaction response objects contain a Gateway Response Code in the header; when the Gateway Response Code indicates an approval, there will be a response body that contains a Response Code (RspCode) which is the host or issuer response code. Some response codes indicate that the result of the transaction is unknown.
When the result of the transaction is unknown, a reversal must be sent to clear any hold that the authorization placed on cardholder funds.
If any of the following Gateway Response Code values are received, the transaction result is unknown and it may have processed. In each case, a Reversal should be sent:
Gateway Response Code | Reason for Reversal |
---|---|
1 | Gateway System Error |
30 | This can occur when Portico does not receive a response from the back end systems and Portico is not sure if the transaction was successful or not. In this case, the POS is responsible for deciding whether or not to issue a reversal for this transaction. This is used in cases where the transaction is an authorizing transaction, e.g., CreditAuth, CreditSale, DebitSale. If the transaction is non-authorizing, e.g., CreditAccountVerify, CreditReversal, and Portico receives no response, then Portico sends back a System Error (+1) to the POS. |
31 | This occurs when Portico attempts a reversal for the POS, but the reversal fails. In this case, the POS is responsible for issuing the reversal. |
50 | Processor System Error |