Skip to content
API DocsDocs

Checking Payment Status

When and how to check the current status of a card transaction

2 min readUpdated Jul 25, 2025

The status endpoint returns the current status of a card transaction by transactionId. Use it as a fallback when:

  • Your webhook was not received (network issue, server downtime)
  • You need to verify status before fulfilling an order
  • You are implementing a polling fallback alongside webhooks

Prefer webhooks

Polling adds latency and load. Use this endpoint as a fallback, not the primary status mechanism. See Webhook Best Practices for the recommended pattern.

#Status Values

StatusTerminal?Meaning
NEWNoTransaction created, not yet processed
PENDINGNoSent to processor, awaiting result
PROCESSINGNoActively being processed
CUSTOMER_VERIFICATIONNoAwaiting 3DS challenge completion by the customer
SUCCEEDYesPayment successful
FAILEDYesPayment declined or errored — check declineCode
REFUNDEDYesFull refund issued
CHARGEBACKYesChargeback filed by cardholder
CANCELLEDYesTransaction cancelled

Stop polling once you receive a terminal status.

#Polling Strategy

Use exponential backoff starting at ~2 seconds, capping at 30 seconds. Stop after reaching a terminal status or a maximum retry limit. Avoid polling more frequently than every 2 seconds.

Was this helpful?