Transaction Recover enables you to automatically retry declined transactions on a backup gateway in the case of an outage or soft decline. This improves the chance that a transaction is ultimately successful and builds system resilience.
Transaction Recover will only retry transactions classified as soft declines or outages and may be accepted at another gateway.
Decline types and retry modes
When a transaction is declined, a gateway returns an error code that maps to a decline reason.
Error codes are specific to each payment service provider and are available in the gateway documentation.
Spreedly maps error codes to the following three decline types:
- Hard error codes: Unlikely to be successful if retried on another gateway. This includes error codes tied to fraud suspicion, an incorrect card number, or a lost/stolen card.
- Soft error code: This may be successful if retried on another gateway. This includes general error codes like do not honor, card, or currency not supported.
- Outage error code: Gateway is temporarily unavailable due to a technical issue, such as a server outage or connection timeout.
Spreedly has two modes of Transaction Recover, Standard and Outage-Only:
- Standard: Retry both soft declines and outages. Recommended for customers that want the best chance of transaction success.
- Outage-only: Retry on confirmed or suspected gateway outages only. This includes server outages, connection timeouts, and timeframes where gateway performance is degraded.
How Transaction Recover Works
Spreedly customers can pass up to two retry gateways in the initial purchase or authorize requests to transact with the primary gateway. If the primary gateway responds with a success message or hard decline, Transaction Recover will not send a request to the retry gateway(s).
If the primary gateway responds with a soft decline or gateway outage error code, Transaction Recover will subsequently trigger a second attempt using the same transaction details on the first retry gateway. If the retry attempt fails on the first retry gateway for any reason, the transaction will try the transaction again on the second retry gateway.