While channelling payments across multiple processors on a daily basis is cumbersome, it could be vital to optimizing your payment processing costs as your business needs evolve constantly or as new payment processors provide competitive pricing and so on. Hence, Hyperswitch’s Smart Router is designed as a no-code tool to provide complete control and transparency in creating and modifying payment routing rules. Hyperswitch supports below formats of Smart Routing.
Volume Based Configuration: Define volume distribution among multiple payment processors using percentages.
Rule Based Configuration: More granular control which allows to define custom routing logics based on different parameters of payment.
Default Fallback Routing : If the active routing rules are not applicable, the priority order of all configured payment processors is used to route payments. This priority order is configurable from the Dashboard.
Cost Based Configuration (coming soon): Automatically routes transaction to the payment processor charging the least MDR (merchant discount rate) for the opted payment method.
Hyperswitch Smart Router Engine evaluates every payment request against your predefined routing logic and makes a decision on the best payment processor for the payment, and executes the transaction. If the payment fails or if the payment processor is down, the payment is automatically retried through a different processor.
Hyperswitch dashboard provides a simple, intuitive UI to configure multiple Routing rules on your dashboard under the Routing tab. There are three routing rule formats that Hyperswitch currently supports.
A Rule-based Routing Configuration comprises of one or more rules with each rule having a routing processor preference and a set of conditions associated with it. The implication being that if one of the conditions matches, the associated processor preference is considered for the ongoing payment. The order in which rules and conditions are evaluated is sequential from top to bottom as presented in the UI, with preference given to the first condition (and the associated preference) that’s fulfilled by the current payment. Additionally, a default preference may be specified which is taken as the result if no conditions in any rule are fulfilled by the ongoing payment.
Condition: A condition is constructed with dimensions and logical operators. Routing rules can be pivoted upon numerous dimensions which include payment method, amount of payment, currency, etc. Also, there are six logical operators - equal to, greater than, lesser than, is, is not, contains, not contains, which are used to evaluate the condition.
Processor Preference: Every rule has an associated Processor Preference which dictates the processor(s) to route the ongoing payment through if the rule is fulfilled. A Processor Preference can be one of the following types:
Step 1: Click on Setup
for Rule Based Configuration
Step 2: Save the rule name and description
Step 3: Use the no-code UI to configure your desired rules as per your business logic (an instance for configuring rule is displayed)
Step 4: Select your default preferred processors and click on Configure Rule
Step 5: In the popup, select the appropriate action based on whether you want to simply save the rule
, or save and also activate
it for all payments henceforth
Step 6: You can view your active routing algorithm as well as all previously configured algorithms on the Hyperswitch Dashboard
Step 1: Click on Setup
for Volume Based Configuration
Step 2: Save the name and description
Step 3: Configure your desired Volume distribution among multiple payment processors using percentages
Step 4: In the popup, select the appropriate action based on whether you want to simply save the rule
, or save and also activate
it for all payments henceforth
Step 5: You can view your active routing algorithm as well as all previously configured algorithms on the Hyperswitch Dashboard
Step 1: Click on Manage
for configuring Default fallback
*Step 2:*You will see a list of all of your configured processors. This list can be reordered based on what you want your default processor priority to be when either :-