Skip to main content

Rule conditions

Conditions are the if part of routing rules: each if node of a routing document names a condition in its constraint field and passes condition-specific parameters. This catalogue lists every condition, grouped by what it inspects; the linked pages document each condition's parameters and examples.

Use List routing constraints to discover at runtime which conditions are available to your tenant, together with a JSON Schema for each condition's parameters.

Card

IdentifierPurpose
CreditcardTypeMatch the card brand (Visa, Mastercard, …)
CreditcardCardNetworkMatch the card network (coarser than brand)
CreditCardTokenTypeMatch the token type (Apple Pay, Google Pay, Click-to-Pay, raw card)
CreditcardBinCountryMatch the card issuer country (from the BIN)
CreditcardBinLevelMatch the card level (Platinum, Corporate, …)
CreditcardBinTypeMatch credit vs. debit cards
CreditcardBinSegmentMatch the card segment (Consumer, Commercial, …)
CreditcardBinPrepaidMatch prepaid vs. non-prepaid cards
CreditcardBinReloadableMatch reloadable vs. non-reloadable cards
CreditcardBinLookupStatusMatch by the outcome of the BIN lookup
BinRangeRegexpMatch the BIN against a regular expression
HasReferenceSchemeTransactionIdMatch the presence of a scheme transaction ID

Customer

IdentifierPurpose
CustomerCountryMatch the customer's billing country
CustomerIpCountryMatch the customer's country resolved from the IP address

Transaction

IdentifierPurpose
CurrencyMatch the transaction currency
AmountCurrencyCompare the transaction amount in a chosen currency to a threshold
TransactionTypeMatch the transaction type (debit, preauthorize, …)
IsRecurringMatch recurring vs. one-off transactions
ExtraDataMatch a key/value pair of the transaction's extra data
InitialConnectorMatch the connector that processed the initial transaction
InitialAdapterMatch the adapter and method that processed the initial transaction
RandomLoadBalancerSplit traffic probabilistically for load balancing

Bank account

IdentifierPurpose
IbanRegexpMatch the customer IBAN against a regular expression
IbanRoutingRuleMatch a value at a fixed position within the customer IBAN

Risk

IdentifierPurpose
RiskScoreCompare the risk score of the transaction to a threshold
ChargebackCountOrVolumePerConnectorCompare the chargeback count or volume over a time window
DebitPreauthCountOrVolumePerConnectorCompare the debit/preauthorize count or volume over a time window

Availability

Not every condition is available in every setup:

  • Platform package — not every condition is included out of the box; the catalogue returned by List routing constraints is authoritative for your setup.
  • Multi-method routing accepts at most a fixed subset of the catalogue: CustomerCountry, CustomerIpCountry, Currency, AmountCurrency, RiskScore and ExtraData; the conditions available to your setup apply on top. All other conditions are available for routing meta-connectors only.

Using a condition outside its availability returns error code 1011.

IXOPAY platform Full Version

Additional routing rule conditions are an optional feature which is not automatically available for all IXOPAY platform clients!

If you want to get access to all IXOPAY platform features you need to upgrade your plan. Please contact your Customer Success Manager or our sales team at [email protected] for more information.

Evaluation semantics

  • A condition that cannot be evaluated for a given transaction — for example, a card condition on a transaction without card data — stops rule evaluation entirely, and the transaction is routed to the default connector. The else branch is followed only when a condition evaluates to false. Some conditions instead evaluate to false (or, for notin comparators, to true) when the inspected data is missing — the individual condition pages document these cases.
  • Condition identifiers and parameter values are case-sensitive exactly as documented on each page.
  • The parameter schemas returned by List routing constraints are the authoritative, tenant-aware description of each condition's parameters.