Skip to main content
Paysafe · Status

Paysafe Status FAILED: Transaction Failed

The transaction was not successful. Review the error code for the specific reason (e.g., decline, validation error).

What it means

In the Paysafe API, FAILED is a generic catch-all terminal status indicating that a transaction did not complete successfully. It is not a specific issuer decline code, but rather a high-level indicator that an error or decline occurred. To understand the exact root cause, you must inspect the accompanying 'statusReason', 'failed_reason_code', or HTTP error fields in the response payload.

Classification & retryability

softhardRetryable: conditional

Retry logic cannot be based on the FAILED status alone. Only retry if the accompanying reason code or error payload indicates a temporary issue (like a network timeout) or a soft decline (like insufficient funds). Do not retry if the underlying cause is a hard decline.

Common causes

  • The issuer declined the transaction for a soft reason, such as insufficient funds or a temporary limit.
  • The transaction was blocked due to a hard decline, such as a stolen card or customer restriction.
  • The payment request contained technical errors, such as missing mandatory fields or invalid data formatting.
  • The Paysafe risk engine or internal validation rules flagged the transaction and blocked it.
  • A downstream processor error or network timeout interrupted the payment flow.

How to resolve it

Because FAILED is a generic outcome, resolution requires examining the granular error payload. Review the API response for 'statusReason' (e.g., INSUFFICIENT_FUNDS, RISK_ENGINE_DECLINE) or 'failed_reason_code' (e.g., 05 for declined) to identify the specific issue. If the error is technical (like an invalid amount or missing field), correct the payload configuration before attempting the charge again. If the issue stems from an issuer decline, direct the customer to address the underlying problem with their bank or provide an alternative payment method.

For merchants

Parse the API response for granular codes like 'statusReason', 'failed_reason_code', or the accompanying HTTP status. Implement routing logic based on these specific reason codes rather than the high-level FAILED status. Separate technical errors that can be fixed in your codebase from issuer declines that require customer intervention.

For customers

If the merchant's system reveals a card-related issue behind the failure, check your available balance, verify your card details, or contact your issuing bank for assistance. Provide a different payment method if the current one is permanently blocked.

Sources