hyperswitch
hyperswitch copied to clipboard
[FEATURE] Dynamic Payment Routing
Feature Description
What? This feature aims at intelligent payment routing in deciding the connector with higher success probability by combining real-time data with heuristics.
Why?
- Identifying points of failure in real-time to route payments predictably
- Improving success rates by leveraging alternate payment processors
- Proactively picking the connector with higher success probability to avoid failures
How? This will be a add-on on top of the existing smart routing which helps in filtering down a list connectors for a particular payment. We would be using reinforcement learning to reward and penalise the connector across various dimensions to maintain the ranking of connectors relative to others.
We would rank and select the connector based on two strategies
- Success Rate based routing: based on the history of SR for the given type of payment and connector
- Elimination Routing: real-time scoring of connector based on failure types with resets (hard and soft)
Both strategies essentially re-orders the list of eligible connectors for a payment. Elimination routing has higher sensitivity than change in Success Rate.
Possible Implementation
Action Items:
Pre-implementation
- [ ] #5416
- [ ] #5555
- [ ] Track SR metrics and error codes with Grafana dashboards
- [ ] Framework for applying Dynamic Routing
- [ ] Dimension analysis to figure the important variables to be used
Implementation
Have you spent some time checking if this feature request has been raised before?
- [X] I checked and didn't find a similar issue
Have you read the Contributing Guidelines?
- [X] I have read the Contributing Guidelines
Are you willing to submit a PR?
None