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 .

Via Hub To configure a route configuration

  1. Go to Orchestration > Routing configuration.
  2. Click on Create routing configuration.
  3. Select Payment method.
  4. Choose Channel from the list.
  5. Enter Title and optionally Description.
  6. Click on Create.


To copy a route configuration

  1. Find the routing configuration you need and click on Copy routing configuration.
  2. 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.
  3. Click on Duplicate.

Rule preset

Via Hub To set the rule preset

  1. Go to Orchestration > Routing configuration.
  2. Find the routing configuration ID you need and click on it.
  3. Click on Force 3DS preset and enable the required preset conditions.
  4. Click on .
No configuration exists for other presets.

Rules

Via Hub To set rules

  1. Go to Orchestration > Routing configuration.
  2. Find the routing configuration ID you need and click on it.
  3. Find the rule preset you need and click on +.
  4. Click on New condition and name it.
  5. Add Rule, Metadata rule or Rule group.
  6. Click on Save.

To set rule

  1. Click on Add rule and set:
    • Parameter
    • Logic operators
    • Value Individual values or a value group when the parameter supports it.
  2. Click on Save.
To set a value group

  1. Select the values in the condition.
  2. Click on Save selected.
  3. Enter a Group name.
  4. 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

  1. Click on Add metadata rule and set:
    • Data type
    • Parameter name
    • Logic operators
    • Value
  2. Click on Save.
To set the rule group

  1. Click on Add rule group:
    • Choose Rule or Metadata rule, or Rule group and set it.
    • Set logic operators.
  2. Click on Save.

Splits

Via Hub To set splits

  1. Go to Orchestration > Routing configuration.
  2. Find the routing configuration ID you need and click on it.
  3. Find the rule you need and click on + Add splits.
  4. Set % percentage for each group.

Segments

Via Hub To configure the segments

  1. Go to Orchestration > Routing configuration.
  2. Find the routing configuration ID you need and click on it.
  3. Find the split group you need and click on Configure segment.
  4. Select Connector, Account, and Descriptor.
  5. Set additional settings.
  6. 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 Hub

Search 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

  1. Go to Orchestration > Routing configuration.
  2. Navigate to a configuration list page.
  3. 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.
To view routing entities on the configuration version page

  1. Go to Orchestration > Routing configuration.
  2. Find the routing configuration ID you need and click on it.
  3. Navigate to a specific configuration version page.
  4. 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

  1. Go to Orchestration > Routing configuration.
  2. Open the routing configuration.
  3. Click Search by params.
  4. Open Search for routes where and add conditions:
    • Condition parameter.
    • Operator offered for that parameter. The default is Contains all.
    • One or more values.
  5. Between rows, set AND or OR.
  6. 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.
Via Hub To view the routing event log

  1. Go to Payments > Orders.
  2. Find an order that was processed through routing configuration and select it to go to the order details.
  3. 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

  1. Make a routing events API request with date range parameters date_from , date_to and channel_id by the API endpoint.
  2. Receive the report URL report_url in the response.
  3. Download the report in CSV format using the report_id from the URL and authorization credentials.
It is crucial to use the same authorization credentials ( publicKey + secretKey ) to make the API request for downloading.

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

  1. Go to Reports&Exports.
  2. In the top-right corner, click on +Create report.
  3. 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
  4. Click on Create.
    Once confirmed, reports are generated for each selected channel.
  5. 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

psp_order_id string

Description

Order identifier generated by Solidgate.

Example

psp_order_1samrzwv8my

provider_payment_id string

Description

Payment identifier returned by the external provider.

Empty when connector_id is solidgate-acquiring.

Example

charge_64789DFS3827563HGF56

provider_transaction_id string

Description

Transaction identifier returned by the external provider.

Empty when connector_id is solidgate-acquiring.

Example

5019d00bb70f82cd42f6bc654cbdfcbd63a9b5b1dbd6a

provider_transaction_status string

Description

Transaction status reported by the provider for the routing step.

  • created - the transaction has been created
  • processing - the transaction is being processed
  • verify - the transaction is awaiting verification (such as 3DS)
  • success - the transaction completed successfully
  • fail - the transaction failed

Example

success

provider_transaction_error_code string

Description

Error codes Guide returned by the provider for a failed transaction.

Can be null.

Example

3.08

configuration_id string

Description

Identifier of the routing configuration applied to the order.

Example

cfg_01HV9Z2K3M4N5P6Q7R8S9T0U1V

channel_id string

Description

Identifier of the channel the routing configuration is bound to.

Example

ch_01HV9Z2K3M4N5P6Q7R8S9T0U1V

configuration_version_id string

Description

Identifier of the specific configuration version that processed the order.

Example

cfgv_01HV9Z2K3M4N5P6Q7R8S9T0U1V

configuration_name string

Description

Human-readable name of the routing configuration.

Example

EU cards routing

version integer

Description

Sequence number of the configuration version applied to the order.

Example

5

payment_method_group string

Description

Payment method group the routing configuration applies to.

  • card
  • digital_wallet
  • merchant_managed_network_token

Example

card

route_id string

Description

Identifier of the route within the configuration version.

Example

rt_01HV9Z2K3M4N5P6Q7R8S9T0U1V

route_name string

Description

Human-readable name of the route.

Example

Visa EU

analytics_route_id string

Description

Stable analytical route ID.

Persists across versions until the route changes, then regenerates. For merchant analytics over time.

Example

art_01HV9Z2K3M4N5P6Q7R8S9T0U1V

is_default boolean

Description

Indicates whether the order matched the Default branch of the rule preset.

Example

false

precondition_type string

Description

Type of rule preset the route belongs to.

  • block_payments - the route blocks matching payments
  • force_3ds - the route forces 3DS authentication
  • google_pan_only - the route applies to Google Pay PAN payments only
  • any - the route applies to payments not covered by other presets

Example

force_3ds

step_number integer

Description

Sequence number of the step within the route, starting with 1 for the primary step.

Example

1

step_id string

Description

Identifier of the routing step.

Example

stp_01HV9Z2K3M4N5P6Q7R8S9T0U1V

analytics_step_id string

Description

Stable analytical step ID.

Persists across versions until the step changes, then regenerates. For merchant analytics over time.

Example

ars_01HV9Z2K3M4N5P6Q7R8S9T0U1V

analytics_segment_id string

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

step_skip_reason string

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

force_3ds boolean

Description

Indicates whether 3DS authentication was forced for the step.

Example

true

force_3ds_reason string

Description

Reason 3DS was forced. Values follow the Force 3DS preset branches:

  • antifraud
  • sca
  • client
  • external_mpi
  • custom_rule
Empty when force_3ds is false.

Example

sca-regulation

force_3ds_exemption string

Description

Exemption applied to 3DS authentication, such as a low-value or TRA SCA exemption.

Empty when no exemption was applied.

Example

low-value

processing_method string

Description

Processing method applied at the step.

  • card - card payment
  • network_token - network token payment
  • psp_token - PSP token payment
  • cof - card-on-file payment
  • digital_wallet - digital wallet payment

Example

card

descriptor string

Description

Descriptor used for the transaction at the step.

Example

google.com

connector_account_id string

Description

Identifier of the connector account selected for the step.

Example

ca_01HV9Z2K3M4N5P6Q7R8S9T0U1V

connector_account_name string

Description

Human-readable name of the connector account.

Example

Acquirer EU - Visa

connector_id string

Description

Identifier of the connector that processed the step.

Example

solidgate-acquiring

Routing event example
{
  "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"
}