Skip to content

The parameters of the smart_routing_verification object

Contact the Tech Support Team if you want to receive the complete information about the results of the transaction checks against the Smart Routing rules. By default, only smart_routing_verification.status is returned in the responses and webhook notifications.

object
status
string
The status of the transaction check by Smart Routing service. Possible values:

successful - check passed;
failed - the transaction didn't pass the check.
object
Object with the detailed information of the transaction check results.
status
string
The transaction check status.

Possible values:

rejected - the transaction was rejected by the rule with the action reject or the transaction parameters are included in the black list,
passed - in all other cases.
object
string
The ID of the gateway to which the transaction was sent for processing; null if all gateways were excluded by the check.
object_name
string
The name of the gateway that processed the transaction.
array
An array of flows of object type against which the transaction was checked. Each object contains the following parameters:
name
string
Name of the flow.
system
boolean
Rule type. true if it's a system rule, otherwise, false.
skipped
boolean
Flow check status. true if the check against the flow was skipped, otherwise, false.
array
An array of objects where each object corresponds to a particular rule in the flow.
alias
string
The name of the rule.
state
string
The result of the rule check.
description
string
The rule description.
error_message
string
The error message.
error_code
string
The error code.

Possible values:

precondition_failed - precondition isn't matched;
rule_inactive - the rule is inactive;
rule_unprocessable - the rule is not ready to be used, for example, it has been just created. This error happens in rare cases;
allowed_objects_mismatch - the gateway selected by the rule wasn't available, for example, it was excluded by another rule;
data_mismatch - aggregation rule error, if the transaction doesn't meet the aggregation requirements, it doesn't participate in the aggregation, for example, in calculating the sum of the transactions meeting a particular condition;
not_enough_data - missing data for checking the transaction against the conditions.
object_defined_via
string
The method used to select the gateway for the transaction.

Possible values:

allowed objects - as a result of the Smart Routing checks, no particular gateway was selected, the transaction was sent to one of the available gateways that was selected either randomly or sequentially based on the Smart Routing account settings;
rule - object was selected as a result of the rule.
object
Object with the detailed information on the transaction check against the rules of action type.
object
Object with the detailed information about the rules that are active for the account. The parameter name includes the identifier of the account, on the level of which the rule was created. The name of the parameters of merchant and shop level follow the formats Merchant_{merchant_id}, Shop_{shop_id} respectively.
object
Object with the detailed information about the flow to which the rule belongs.
{rule_name}
string
The status of the transaction check against the rule. Parameter name matches the rule name.

Possible values:

passed - the check was performed, the transaction didn't match the rule conditions;
skipped - the check against the rule wasn't performed, for example, the parameter from the rule condition has null value, or the transaction parameters are in the whitelist;
allow - the check against the rule was performed, as a result the transaction was approved for further checks;
skip 3DS - as a result of the check, the 3D-Secure verification isn't required for the transaction;
notify - as a result of the rule; the notification was sent;
review - as a result of the check the transaction was marked as suspicious and the corresponding email was sent to the anti-fraud email provided in the shop settings;
reject - as a result of the check the transaction was rejected.
object
Object with the actions that were performed for the transaction.
array
An array of rules that resulted in the action. Each rule in the array is an object that includes the following parameters:
alias
string
The name of the rule.
description
string
The description of the rule.
account
string
The name of the corresponding account.
rejected_via
string
The reason why the transaction was rejected.
object
Object with the white and black lists that were applied to the transaction.
{name of the w/b list}
string
If the transaction parameters didn't match the ones in the list, the value will be not_matched. Otherwise, matched.
The example of smart_routing_verification object
{
  "smart_routing_verification": {
    "data": {
      "action_rules": {
        "Merchant_318879_Demo": {},
        "Shop_569_Demo_shop": {
          "Force 3D": {
            "Force 3D": "force_3ds"
          },
          "1_rule_MASTERCARD": {
            "1_rule_MASTERCARD": "skipped"
          },
          "Max transaction amount - 10 000 USD": {
            "Max transaction amount - 10 000 USD": "passed"
          }
        }
      },
      "force_3ds": true,
      "matched_actions": {
        "force_3ds": [
          {
            "account": "Shop_569_Demo_shop",
            "alias": "Force 3D",
            "description": "Force 3D"
          }
        ],
        "passed": [
          {
            "account": "Shop_569_Demo_shop",
            "alias": "Max transaction amount - 10 000 USD",
            "description": "Max transaction amount - 10 000 USD"
          }
        ],
        "skipped": [
          {
            "account": "Shop_569_Demo_shop",
            "alias": "1_rule_MASTERCARD",
            "description": "1_rule_MASTERCARD"
          }
        ]
      },
      "object": "1067",
      "object_defined_via": "allowed objects",
      "object_flows": [
        {
          "name": "Shop_5655",
          "rules": [
            {
              "alias": "rule_1",
              "description": "Allow cards from the list",
              "error_code": "rule_inactive",
              "error_message": "Rule is inactive",
              "state": "skipped"
            }
          ],
          "skipped": false,
          "system": false
        },
        {
          "name": "name",
          "rules": [
            {
              "alias": "rule 2",
              "description": "rule 2",
              "state": "not_matched",
              "use_only_these_objects": true
            }
          ],
          "skipped": false,
          "system": false
        }
      ],
      "object_name": "gw_1067",
      "status": "passed",
      "wb_lists": {}
    },
    "status": "successful"
  }
}