Connection test fails
| Symptom | Usual cause |
|---|---|
| Authentication failed | Wrong security key, or the key belongs to a different environment |
| Not found, or an HTML response | Wrong endpoint. Check the path with your processor |
| Timeout | Outbound requests blocked by the host firewall |
| Connection works, features missing | The module is not enabled on your merchant account |
Card fields do not appear
- The checkout is not served over HTTPS. Hosted fields require it.
- A JavaScript error elsewhere on the page stopped the script running. Check the browser console first.
- An optimisation plugin combined or deferred the gateway script. Exclude it from concatenation.
- A content security policy is blocking the gateway domain.
Payments decline in production but not sandbox
Sandbox approves almost everything. In production the issuer is real, so AVS mismatch, insufficient funds and risk rules all come into play. Read the actual response code in the log before assuming a configuration problem.
Refunds fail
- The transaction has not settled yet. Void it instead of refunding.
- The refund exceeds the captured amount.
- The API user lacks refund permission.
- The order was taken on a different merchant account, if you use routing rules.
Subscription renewals fail
- The stored card has expired. The customer needs to update it.
- The vault record was deleted in the gateway portal.
- The Customer Vault module is not enabled on the account.
- The subscription was created on a previous gateway and its token does not belong to this one.
Getting help
Before opening a ticket, collect the order number, the timestamp, and the relevant section of the gateway log. That is what turns a two day exchange into one reply. Send it through support.