hyperswitch icon indicating copy to clipboard operation
hyperswitch copied to clipboard

[FEATURE] Dynamic Payment Routing

Open tinu-hareesswar opened this issue 7 months ago • 0 comments

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

  1. Success Rate based routing: based on the history of SR for the given type of payment and connector
  2. 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?

Are you willing to submit a PR?

None

tinu-hareesswar avatar Jul 23 '24 10:07 tinu-hareesswar