Status Code and Error Handling
Scenario |
Status (body data field) |
Error (body data field) |
Status Code |
Action to Take |
Transaction Approved |
Approved |
N/A |
200 |
|
Transaction Declined by Payment Host |
Declined |
N/A |
200 |
|
Network Issues with Spiral |
N/A |
N/A |
N/A |
Query transaction |
Payment host network issues |
Unconfirmed |
CommError- communication error |
504 |
Query transaction |
Payment host server issues |
Unconfirmed |
BadGateway |
502 |
Query transaction |
API message format error |
N/A |
FormatError- format error |
400 |
|
Unsupported operation (cmd) |
N/A |
NotSupported- function or card type not supported |
501 |
|
The transaction result is not yet confirmed |
Unconfirmed |
N/A |
200 |
Query transaction |
Invalid signature |
N/A |
Unauthenticated- cannot identify requester |
401 |
|
PartialPaid- the transaction is only partial paid (for FPS only) |
PartialPaid |
N/A |
200 |
Contact customer for the unpaid amount |
OverPaid- the transaction is over paid (for FPS only) |
OverPaid |
N/A |
200 |
Consider to refund the overpaid amount |
Remark: for the session creation in the hosted session flow, it is not necessary to query transaction if session ID cannot be received and simply resend the create session request with a new merchantRef.