Manage routing in Hub to control payment paths, increase approval rates, and reduce operational risk, while ensuring auditability and the ability to rollback changes.
Configure routing
Routing configurations manage payment traffic based on merchant routing rules. A version represents the state of a routing configuration, where Draft indicates it is in development or testing, and Live means it has been published and is in use.
Managing versions is crucial for ensuring smooth updates, preventing disruptions, and maintaining control over the routing setup as configurations evolve through different stages. Key routing statuses for:
- Configuration
- Inactive a configuration that is not currently in use.
- Active a configuration that has been published and is active.
- Version
- Draft a configuration under development or testing.
- Live a configuration that has been published and is active.
When creating routing configurations, operators can view, edit, and manage them for each channel and payment method.
Configurations are versioned, and each version can either be
Draft
or
Live
. When initially created, the configuration is set to
Inactive
.
Once tested and ready, the configuration status can be set to
Active
and published to production, changing the configuration version to
Live
.
- Go to Orchestration > Routing configuration.
- Click on Create routing configuration.
- Select Payment method.
- Choose Channel from the list.
- Enter Title and optionally Description.
- Click on Create.
To copy a route configuration
- Find the routing configuration you need and click on Copy routing configuration.
- In the duplicate configuration modal window, specify the required information:
- Select Payment method enabled and set according to the chosen configuration.
- Choose Channel from the list.
- Enter Title and optionally Description.
- Select Configuration version of the configuration to copy.
- Click on Duplicate.
Rule preset
Via Hub To set the rule preset- Go to Orchestration > Routing configuration.
- Find the routing configuration ID you need and click on it.
- Click on Force 3DS preset and enable the required preset conditions.
- Click on ✕.
Rules
Via Hub To set rules- Go to Orchestration > Routing configuration.
- Find the routing configuration ID you need and click on it.
- Find the rule preset you need and click on +.
- Click on New condition and name it.
- Add Rule, Metadata rule or Rule group.
- Click on Save.
To set rule
- Click on Add rule and set:
- Parameter
- Logic operators
- Value Individual values or a value group when the parameter supports it.
- Click on Save.
- Select the values in the condition.
- Click on Save selected.
- Enter a Group name.
- Click on Save.
Saved groups appear at the top of the value list for that parameter. To edit, hover the group name, click on Edit, then click on Save. If a group is deactivated, it is hidden when you add or change rules. Existing rules that already use the group keep the same values and continue to be evaluated as before.
Value groups apply only to Country, Bank, BIN country, Card brand, Card type, and Currency conditions. Each group is tied to one parameter (for example a group for Country cannot be used on BIN country). Groups you create are visible only within your account.
To set metadata rule
- Click on Add metadata rule and set:
- Data type
- Parameter name
- Logic operators
- Value
- Click on Save.
- Click on Add rule group:
- Choose Rule or Metadata rule, or Rule group and set it.
- Set logic operators.
- Click on Save.
Splits
Via Hub To set splits- Go to Orchestration > Routing configuration.
- Find the routing configuration ID you need and click on it.
- Find the rule you need and click on + Add splits.
- Set % percentage for each group.
Segments
Via Hub To configure the segments- Go to Orchestration > Routing configuration.
- Find the routing configuration ID you need and click on it.
- Find the split group you need and click on Configure segment.
- Select Connector, Account, and Descriptor.
- Set additional settings.
- Click on Save.
View routing
You can search, view, and edit routing configurations and related entities directly from the configuration pages.
These entities can also be retrieved from the routing log. Via HubSearch by routing entity supports the following entity types:
- Configuration ID
Unique identifier for a routing configuration. - Configuration version ID
Identifier for a specific version of a configuration. - Route ID
Unique identifier for a route. - Step ID
Unique identifier for a routing step.
To view routing entities on the configuration list
- Go to Orchestration > Routing configuration.
- Navigate to a configuration list page.
- In the routing entity search field, enter a configuration ID, configuration version ID, route ID, or step ID as described beside this list.
- Configuration
Opens the latest published version of the configuration in a new window. - Configuration version
Opens that specific version in a new window. - Route
Opens the version that contains that route in a new window. The route is centered and highlighted for easy identification. - Step
Opens the version that contains that step in a new window. The step is shown in the drawer and highlighted.
- Go to Orchestration > Routing configuration.
- Find the routing configuration ID you need and click on it.
- Navigate to a specific configuration version page.
- In the routing entity search field, enter a configuration version ID, route ID, or step ID as described beside this list.
- Configuration version
When the searched version is the current version, it opens here and highlights. When it is a different version, it opens in a new window and highlights. - Route
When the route is in the current version, it opens here, centers, and highlights the route. When the route is in a different version, it opens that version in a new window, centers, and highlights the route. - Step
When the step is in the current version, it opens here, shows it in the drawer, and highlights it. When the step is in a different version, it opens that version in a new window, shows it in the drawer, and highlights it.
Via Hub Search by params allows filtering routes on a configuration version page using condition parameters instead of relying only on entity identifiers. To search routes by condition parameters
- Go to Orchestration > Routing configuration.
- Open the routing configuration.
- Click Search by params.
- Open Search for routes where and add conditions:
- Condition parameter.
- Operator offered for that parameter. The default is Contains all.
- One or more values.
- Between rows, set AND or OR.
- Click Search and apply to see how the results are shown.
- Show only matching
Other branches collapse or hide. A banner can note that only selected branches are shown. - Highlight matches
Matching routes stand out. Other branches stay visible but de-emphasized. Use Show all or Deselect all to reset.
Track routing
Routing event log provides detailed visibility into the sequence of actions that occurred with a specific order processed. It displays the complete routing journey, helping you understand how each transaction was processed and troubleshoot any issues. The routing event log shows the following event types:
- Step skipped
Indicates when a routing step was skipped, along with the reason for skipping. - Step selected
Shows which routing step was selected for processing. - Payment blocked
Displays when a payment was blocked, if blocking rules are configured. - 3DS decision
Shows the 3DS authentication decision and the reason for that decision.
- Go to Payments > Orders.
- Find an order that was processed through routing configuration and select it to go to the order details.
- Scroll down and click on the Routing log.
Tracking routing provides visibility into routing decisions and step processing, including when and why steps are skipped during payment processing.
Step skip reason- SKIP_FORM_SUPPORT - form support is not available
- SKIP_CONNECTOR_ACCOUNT_DEACTIVATED - connector account has been deactivated
- SKIP_CONNECTOR_INTEGRATION_DEACTIVATED - connector integration has been deactivated
- SKIP_CURRENCY_SUPPORT - currency is not supported
- SKIP_CARD_BRAND_SUPPORT - card brand is not supported
- SKIP_AUTH0_SUPPORT - Auth0 support is not available
- SKIP_EXTERNAL_MPI_SUPPORT - external MPI support is not available
- SKIP_COF_DPAN_SUPPORT - CoF DPAN support is not available
- SKIP_COF_PAN_SUPPORT - CoF PAN support is not available
- SKIP_MOTO_SUPPORT - MOTO support is not available
- SKIP_NONSTANDARD_CURRENCY_SUPPORT - non-standard currency support is not available
- SKIP_3DS_DISABLED - 3DS is turned off
- SKIP_TRA_CONDITIONS_NOT_MET - TRA conditions are not met
- SKIP_ZIP_CODE_MISSING - zip code is missing
Routing events report
The report provides a comprehensive view of routing decisions and execution flow for orders processed through routing configurations. It captures the complete sequence of routing events for each transaction, including selected steps, skipped steps with reasons, 3DS decisions, and connector account details.
By analyzing the routing events data, businesses can investigate routing performance, troubleshoot processing issues, and validate that routing configurations behave as expected.
Via API Routing events API report is an essential tool for merchants, offering detailed information on routing events. It provides insights into each event, including unique identifiers, configuration and version, route and step details, 3DS decisions, and connector account selected for processing.Routing events data is unloaded using the
created_at parameter by default, reflecting the most recent updates to the records.
To create a report
- Make a routing events API request with date range parameters date_from , date_to and channel_id by the API endpoint.
- Receive the report URL
report_urlin the response. - Download the report in CSV format using the
report_idfrom the URL and authorization credentials.
Since the report is prepared asynchronously, it may take some time to become ready for download. If the report is not ready, the API reference returns the corresponding status code:
- 200 - authentication failure. Double-check your access to the Solidgate API.
- 204 - report is not yet ready. Wait a little longer for it to be generated.
- 302 - redirect to a one-time S3 download report link.
- 404 - report was not found.
- 410 - report is unavailable, expired.
Please note that the report is only available for 30 days from its generation date. After that period, it is no longer accessible. Via Hub To create a routing events report
- Go to Reports&Exports.
- In the top-right corner, click on +Create report.
- In the pop-up window, fill in the required details:
- Select the Routing events report type
- Select one or multiple channels
- Define a date range of up to 36 days
- Optionally, modify the auto-generated file name
- Click on Create.
Once confirmed, reports are generated for each selected channel. - Click on Download to save and access the report.
order_id string
Description
Order identifier defined by the merchant.
Example
923bb4e6-4a5f-41ec-81fb-28eb8a152e55
Description
Order identifier generated by Solidgate.
Example
psp_order_1samrzwv8my
Description
Payment identifier returned by the external provider.
Empty whenconnector_id is solidgate-acquiring.
Example
charge_64789DFS3827563HGF56
Description
Transaction identifier returned by the external provider.
Empty whenconnector_id is solidgate-acquiring.
Example
5019d00bb70f82cd42f6bc654cbdfcbd63a9b5b1dbd6a
Description
Transaction status reported by the provider for the routing step.
created- the transaction has been createdprocessing- the transaction is being processedverify- the transaction is awaiting verification (such as 3DS)success- the transaction completed successfullyfail- the transaction failed
Example
success
Description
Error codes Guide returned by the provider for a failed transaction.
Can benull.
Example
3.08
Description
Identifier of the routing configuration applied to the order.
Example
cfg_01HV9Z2K3M4N5P6Q7R8S9T0U1V
Description
Identifier of the channel the routing configuration is bound to.
Example
ch_01HV9Z2K3M4N5P6Q7R8S9T0U1V
Description
Identifier of the specific configuration version that processed the order.
Example
cfgv_01HV9Z2K3M4N5P6Q7R8S9T0U1V
Description
Human-readable name of the routing configuration.
Example
EU cards routing
Description
Sequence number of the configuration version applied to the order.
Example
5
Description
Payment method group the routing configuration applies to.
carddigital_walletmerchant_managed_network_token
Example
card
Description
Identifier of the route within the configuration version.
Example
rt_01HV9Z2K3M4N5P6Q7R8S9T0U1V
Description
Human-readable name of the route.
Example
Visa EU
Description
Stable analytical route ID.
Persists across versions until the route changes, then regenerates. For merchant analytics over time.
Example
art_01HV9Z2K3M4N5P6Q7R8S9T0U1V
Description
Indicates whether the order matched the Default branch of the rule preset.
Example
false
Description
Type of rule preset the route belongs to.
block_payments- the route blocks matching paymentsforce_3ds- the route forces 3DS authenticationgoogle_pan_only- the route applies to Google Pay PAN payments onlyany- the route applies to payments not covered by other presets
Example
force_3ds
Description
Sequence number of the step within the route, starting with 1 for the primary step.
Example
1
Description
Identifier of the routing step.
Example
stp_01HV9Z2K3M4N5P6Q7R8S9T0U1V
Description
Stable analytical step ID.
Persists across versions until the step changes, then regenerates. For merchant analytics over time.
Example
ars_01HV9Z2K3M4N5P6Q7R8S9T0U1V
Description
Stable analytical ID for a split group (cascade).
Persists across versions until the cascade changes, then regenerates. For merchant analytics over time.
Example
arc_01HV9Z2K3M4N5P6Q7R8S9T0U1V
Description
Reason a routing step was skipped. For the full list of values, see the step skip reason reference above.
Empty when the step was selected for processing.Example
SKIP_CONNECTOR_ACCOUNT_DEACTIVATED
Description
Indicates whether 3DS authentication was forced for the step.
Example
true
Description
Reason 3DS was forced. Values follow the Force 3DS preset branches:
antifraudscaclientexternal_mpicustom_rule
force_3ds is false.
Example
sca-regulation
Description
Exemption applied to 3DS authentication, such as a low-value or TRA SCA exemption.
Empty when no exemption was applied.Example
low-value
Description
Processing method applied at the step.
card- card paymentnetwork_token- network token paymentpsp_token- PSP token paymentcof- card-on-file paymentdigital_wallet- digital wallet payment
Example
card
Description
Descriptor used for the transaction at the step.
Example
google.com
Description
Identifier of the connector account selected for the step.
Example
ca_01HV9Z2K3M4N5P6Q7R8S9T0U1V
Description
Human-readable name of the connector account.
Example
Acquirer EU - Visa
Description
Identifier of the connector that processed the step.
Example
solidgate-acquiring
{
"order_id": "923bb4e6-4a5f-41ec-81fb-28eb8a152e55",
"psp_order_id": "psp_order_1samrzwv8my",
"provider_payment_id": null,
"provider_transaction_id": null,
"provider_transaction_status": "success",
"provider_transaction_error_code": null,
"configuration_id": "cfg_01HV9Z2K3M4N5P6Q7R8S9T0U1V",
"channel_id": "ch_01HV9Z2K3M4N5P6Q7R8S9T0U1V",
"configuration_version_id": "cfgv_01HV9Z2K3M4N5P6Q7R8S9T0U1V",
"configuration_name": "EU cards routing",
"version": 5,
"payment_method_group": "card",
"route_id": "rt_01HV9Z2K3M4N5P6Q7R8S9T0U1V",
"route_name": "Visa EU",
"analytics_route_id": "art_01HV9Z2K3M4N5P6Q7R8S9T0U1V",
"is_default": false,
"precondition_type": "force_3ds",
"step_number": 1,
"step_id": "stp_01HV9Z2K3M4N5P6Q7R8S9T0U1V",
"analytics_step_id": "ars_01HV9Z2K3M4N5P6Q7R8S9T0U1V",
"analytics_segment_id": "arc_01HV9Z2K3M4N5P6Q7R8S9T0U1V",
"step_skip_reason": null,
"force_3ds": true,
"force_3ds_reason": "sca-regulation",
"force_3ds_exemption": null,
"processing_method": "card",
"descriptor": "google.com",
"connector_account_id": "ca_01HV9Z2K3M4N5P6Q7R8S9T0U1V",
"connector_account_name": "Acquirer EU - Visa",
"connector_id": "solidgate-acquiring"
}