Skip to main content

Documentation Index

Fetch the complete documentation index at: https://www.smartretry.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Every transaction in SmartRetry carries a status object that tells you exactly where a payment stands and why. This page covers all top-level statuses, the status object structure, status domains, and the additional status models used for recurring series and future transactions.
SmartRetry tracks each retry attempt individually with its own status. Your PSP typically shows only the final result of the last attempt. Use SmartRetry’s transaction logs to see the full retry history for any payment.

Top-level statuses

StatusDescription
APPROVEDThe transaction was authorized and completed successfully.
PROCESSINGThe transaction has been submitted and is awaiting a response from the acquirer or issuer.
DECLINEDThe issuer or processor refused the transaction. A reasonCode and domain are provided to explain why.
ERRORA technical or system-level failure occurred that prevented the transaction from reaching the issuer.
CANCELLEDThe transaction was cancelled before processing completed - either by the merchant, the payer, or an automated void.
UNKNOWNThe transaction outcome could not be determined. This may occur due to a network timeout or missing response from the processor.
Treat UNKNOWN status as unresolved. Do not assume the transaction succeeded or failed. Query the transaction again or contact support to confirm the final state before taking any action.

The status object

When you retrieve a transaction, the status field returns a structured object - not a plain string. The full structure is:
{
  "status": "DECLINED",
  "reasonCode": "INSUFFICIENT_FUNDS",
  "name": "Insufficient Funds",
  "description": "The payer's account does not have enough funds to cover this transaction.",
  "domain": "PAYER_ACCOUNT"
}
FieldTypeDescription
statusstringThe top-level outcome: APPROVED, PROCESSING, DECLINED, ERROR, CANCELLED, or UNKNOWN.
reasonCodestringA machine-readable code identifying the specific reason for the status, particularly for declines and errors.
namestringA human-readable name for the status outcome.
descriptionstringA plain-language description of what the status means in context.
domainstringThe functional area responsible for the status. See the domain table below.

Status domains

The domain field tells you which part of the payment chain produced the status. This helps you pinpoint the root cause of a decline or error without parsing the reasonCode alone.
DomainDescription
SYSTEMA SmartRetry platform-level issue, such as a configuration error or an internal processing failure.
VALIDATIONThe transaction request failed input validation - for example, a missing required field or an invalid parameter format.
RISKThe transaction was blocked by a fraud or risk rule, either within SmartRetry or at the acquirer level.
ROUTINGThe failure occurred during acquirer selection or transaction routing - for example, no available route matched the transaction parameters.
AUTHThe authorization attempt failed at the card network or acquirer level - such as a 3DS challenge failure or network-level rejection.
PROCESSORThe acquiring bank or payment processor declined the transaction on their end.
PAYMENT_METHODThe issue is with the payment instrument itself - for example, an expired card, an invalid card number, or an unsupported card type.
PAYER_ACCOUNTThe decline originates from the payer’s account at the issuing bank - for example, insufficient funds, a spending limit, or an account restriction.

Recurring series statuses

When you create a recurring payment series, the series itself carries its own lifecycle status separate from the individual transaction statuses.
StatusDescription
activeThe series is running and scheduled charges are being processed as configured.
pausedThe series has been temporarily suspended. No new charges will be triggered until it is resumed.
cancelledThe series has been permanently stopped. No further charges will be made.
completedAll scheduled payments in the series have been processed and the series has ended naturally.
A cancelled recurring series cannot be reactivated. To resume recurring charges after cancellation, you must create a new series.

Future transaction statuses

In a platform-managed recurring series, SmartRetry schedules upcoming charges as future transactions. Each future transaction has its own status reflecting where it is in the schedule.
StatusDescription
pendingThe charge is scheduled but has not been triggered yet.
processingThe charge has been initiated and is currently being submitted to the acquirer.
completedThe charge was processed - check the individual transaction status for the outcome (approved, declined, etc.).
failedThe charge was attempted but could not be completed, including after all retry attempts.
cancelledThe scheduled charge was cancelled before it was triggered.