UAT testing
User Acceptance Testing (UAT) is the final validation phase before moving your Elite Neo Bank integration to production. UAT helps merchants verify:- End-to-end transaction workflows
- Payment processing
- Payout execution
- Webhook handling
- Security implementation
- Error handling
- Reconciliation systems
Why UAT Testing is Important
UAT testing helps identify:- Integration issues
- Incorrect API handling
- Signature validation problems
- Webhook failures
- Duplicate transaction risks
- Reconciliation mismatches
- Retry handling issues
Recommended UAT Scope
Merchants should test:UAT Environment
Use the Sandbox environment for all UAT testing.Sandbox Base URL
UAT Test Credentials
Example Sandbox credentials:Recommended UAT Scenarios
Payment Gateway Testing
Validate:- Order creation
- Hosted checkout redirects
- Successful payments
- Failed payments
- Expired sessions
- Order status verification
Payout Testing
Validate:- Wallet balance inquiry
- Successful payouts
- Failed payouts
- Insufficient balance handling
- Payout status verification
- Retry handling
Webhook Testing
Validate:- Webhook delivery
- Signature verification
- Duplicate webhook handling
- Retry handling
- Webhook logging
- Server-side transaction verification
Signature Validation Testing
Ensure:- HMAC SHA256 generation works correctly
- Timestamps are validated properly
- Invalid signatures are rejected
- Replay attack protection is functioning
Retry Handling Validation
Test:- Processing transaction retries
- Delayed payout handling
- Timeout workflows
- Duplicate request prevention
- Idempotent transaction handling
Recommended UAT Checklist
Before production go-live, verify:- API authentication works correctly
- Payment flow completes successfully
- Payout flow works properly
- Webhook signatures are validated
- Transaction statuses are reconciled
- Retry handling works safely
- Duplicate transactions are prevented
- Logs are stored correctly
- Error handling is implemented properly
Example UAT Workflow
Payment Flow
- Create payment order
- Redirect customer to checkout
- Complete payment
- Receive webhook notification
- Verify payment status using APIs
- Update internal order status
Payout Flow
- Check wallet balance
- Initiate payout
- Track payout status
- Verify webhook notification
- Store UTR/reference number
- Reconcile payout records
Common UAT Issues
Invalid Signature
Possible reasons:- Incorrect secret key
- Modified payload
- Incorrect JSON formatting
Expired Timestamp
Possible reasons:- System clock mismatch
- Delayed API requests
- Reused timestamps
Webhook Verification Failure
Possible reasons:- Incorrect webhook secret
- Invalid signature logic
- Modified webhook payload
Logging Recommendations
During UAT, merchants should log:- API requests
- API responses
- Webhook payloads
- Signature generation logs
- Retry attempts
- Error responses
Security Recommendations
- Use HTTPS only
- Never expose secret keys
- Generate signatures server-side
- Validate all webhook signatures
- Separate Sandbox and production credentials
Best Practices
- Complete full end-to-end testing
- Test all success and failure scenarios
- Validate retry workflows carefully
- Verify transaction reconciliation
- Ensure webhook idempotency
- Perform multiple transaction cycles
Production Readiness Checklist
Before moving live:- UAT testing completed successfully
- Webhook verification implemented
- Retry handling configured
- Security validation completed
- Transaction reconciliation verified
- Monitoring systems enabled
- Production credentials configured
