Use this file to discover all available pages before exploring further.
Fetch the full details and current status of any transaction by its transaction_id. Use this endpoint to confirm whether a payment was approved, to monitor retry attempts, or to display order history to your customers.
curl --request GET \ --url https://api.smartretry.com/v1/payments/status/ABC123/TX8A3F2C \ --header 'x-api-key: YOUR_API_KEY'
The SmartRetry transaction ID to look up. Exactly 8 characters. This is the transaction_id returned by the sale, pre-auth, capture, refund, or void response.
A machine-readable code in {domain}.{reason} format (e.g., AUTH.APPROVED, RISK.DECLINED). Always present - use this to build targeted retry logic or surface specific error messages.
The status.domain field identifies which system was responsible for the status outcome:
Domain
Description
SYSTEM
An internal SmartRetry system error.
VALIDATION
The request failed validation (e.g., missing or malformed fields).
RISK
The transaction was blocked or flagged by a risk or fraud rule.
ROUTING
The transaction could not be routed to an available processor.
AUTH
The issuer approved or declined the authorization.
PROCESSOR
The acquiring processor returned a result.
PAYMENT_METHOD
The issue is specific to the payment method (e.g., unsupported card type).
PAYER_ACCOUNT
The issue is related to the payer’s account (e.g., card expired, account closed).
Use status.domain alongside status.reasonCode to build targeted retry logic or to surface the right error message to your customers - for example, prompting a payer to update their card details when domain is PAYER_ACCOUNT.