Card declined (Transbank 05). formatPaymentError(error, providerName) from @fire-spark/payments builds that text.
How retries work
- Retryable errors are retried automatically with the same attempt reference, up to
runtime.max_attempts. The provider sees one payment, not several. - If the provider doesn’t answer in time, the result is unknown. Fire spark asks the provider for the attempt’s status up to three times, then tries to void it. If it still can’t tell, the intent fails with
AMBIGUOUSand is flagged for review. - A terminal that asks for a batch close gets one automatically, then the charge is retried once.
- QR and wallet payments are checked until
runtime.qr_ttl_mspasses. After that they are cancelled withWALLET_EXPIRED.
Codes
Declined by the provider or the customer’s bank
None of these are retried. Ask the customer for another method.
Customer
Terminal, provider, and network
Each method’s page lists the provider codes it maps to these codes.
Alerts
Payment failures and terminal failures can trigger monitoring alerts. Intents that end inAMBIGUOUS or MANUAL_REVERSAL_REQUIRED need someone to check the provider’s portal.