Retry logic
Retry logic helps merchants handle temporary transaction failures, delayed banking responses, network interruptions, and processing states safely and reliably. Elite Neo Bank recommends implementing controlled retry mechanisms for:- Payment verification
- Payout status tracking
- Webhook processing
- Temporary API failures
- Processing transactions
- Transaction reliability
- Reconciliation accuracy
- System stability
- Customer experience
- Banking workflow resilience
Why Retry Logic is Important
Banking and payment systems may occasionally experience:- Delayed bank confirmations
- Temporary downtime
- Processing queues
- Network interruptions
- Timeout issues
- Transactions may remain unresolved
- Duplicate processing may occur
- Incorrect settlement assumptions may happen
- Reconciliation mismatches may increase
Recommended Retry Scenarios
Retry handling is recommended when transactions are in temporary states.Payment Retry Logic
Retry payment status verification when:- Payment is still processing
- Banking confirmation is delayed
- Webhook is delayed temporarily
- Order Status API
- Webhook notifications
Payout Retry Logic
Retry payout status verification when:- Bank settlement is delayed
- UTR generation is pending
- Transaction is under processing
- Re-initiating duplicate payouts
- Creating duplicate payout IDs
- Blind retry loops
Webhook Retry Logic
If your webhook server:- Times out
- Returns non-200 responses
- Becomes temporarily unavailable
- Idempotent webhook handling
- Duplicate event protection
- Retry-safe processing
Idempotent Processing
Idempotency prevents duplicate transaction processing during retries. Always use:- Unique
order_id - Unique
payout_order_id - Unique transaction references
Recommended Retry Strategy
Suggested Retry Delays
Exponential Backoff
Elite Neo Bank recommends using exponential backoff to reduce:- API overload
- Banking congestion
- Duplicate requests
- Infrastructure strain
Maximum Retry Recommendations
Avoid excessive retry attempts. Recommended limits:Example Retry Logic (Node.js)
Recommended Retry Workflow
- Initiate transaction
- Receive processing response
- Retry status verification carefully
- Process webhook notifications
- Verify final transaction status
- Update internal systems
Duplicate Transaction Protection
Before retrying:- Verify transaction status first
- Check existing transaction references
- Avoid duplicate payout initiation
- Avoid duplicate payment orders
Common Retry Mistakes
Avoid:- Infinite retry loops
- Aggressive retry intervals
- Duplicate payout creation
- Reusing expired timestamps
- Ignoring webhook events
Security Recommendations
- Generate fresh timestamps for retries
- Regenerate signatures for every request
- Verify webhook signatures
- Store retry logs securely
- Use HTTPS only
Logging Recommendations
Always log:- Retry attempts
- API responses
- Transaction statuses
- Error responses
- Webhook events
- Reconciliation
- Audit tracking
- Failure investigation
- Debugging
Best Practices
- Use idempotent transaction IDs
- Implement exponential backoff
- Verify transaction status before retries
- Handle webhooks asynchronously
- Maintain reconciliation logs
- Monitor retry failures continuously
Important Notes
- Banking delays are normal in some scenarios
- Processing transactions may take time
- Final confirmation should always happen server-side
- Webhooks may arrive after API responses
