QRmatik Gateway
Gateway development dashboard
Completed
41 done- [x]Single source routing structure
- [x]GET /banks
- [x]GET /demo
- [x]POST /iframe/create
- [x]GET /deposits/{request_id}
- [x]POST /deposits/{request_id}/customer-input
- [x]POST /webhooks/agapay
- [x]Agapay API HMAC signature
- [x]HttpClient IPv4 pinning
- [x]Callback HMAC verification
- [x]Database core and migration system
- [x]Transactions, callback events and status history tables
- [x]Repository layer
- [x]Transaction record while creating iframe
- [x]Callback idempotency
- [x]GET /internal/test-tools
- [x]POST /internal/test-tools/reset-transactions
- [x]POST /internal/test-tools/reset-failed-jobs
- [x]Status history recording
- [x]GET /health and GET /health/ready
- [x]Reconciliation worker
- [x]Callback retry worker
- [x]Logrotate and cron documentation
- [x]Merchant Authentication
- [x]GET /api/v1/profile
- [x]GET /api/v1/banks
- [x]POST /api/v1/deposits
- [x]GET /api/v1/deposits/{request_id}
- [x]POST /api/v1/deposits/{request_id}/customer-input
- [x]GET /api/v1/transactions
- [x]GET /api/v1/transactions/{request_id}
- [x]Merchant Callback Delivery
- [x]Merchant callback retry worker
- [x]Merchant callback SSRF protection
- [x]Rate limiting
- [x]Rate limit cleanup worker
- [x]CORS middleware
- [x]Swagger / OpenAPI API Docs
- [x]Production Release scripts and docs
- [x]Final callback status flow
- [x]Gateway-only API/webhook runtime
Remaining
0 pendingRelease steps
OperationsDatabase status
ok- Migration
- 009_demo_gateway_callbacks.sql
- Missing table
- 0