Troubleshooting our fraud and risk management solution
This page explains why certain errors happen, and how to fix them.
Null values
Be mindful when setting rules that may lead to NULL
values. If you set a rule such as :billing_address_country:
= :shipping_address_country:
, but do not provide either address in your payment request, the values being compared are NULL
= NULL
, which will be equal to true
. Conversely, if you only provide one of the addresses, this rule will be equal to false
.
The EXISTS
and IS_MISSING
operators evaluate whether a value is NULL
. A value will only be considered as NULL
if specified information is not provided.
Empty values and white spaces are considered different. So when comparing 2 values that have different white spacing, it will be evaluated as different even if the text is the same.
Case sensitivity
The rules for case sensitivity differ, depending on the type of comparison.
- Property-to-property comparison is not case-sensitive. Examples include
:shipping_address_line1:
=:billing_address_line1:
,:billing_address_city:
='london'
or even:currency:
IN[“EUR“, “gbp“, “UsD”]
- Property-to-custom list comparison is case-sensitive. Examples include
$product_code
IN@high_risk_products
For case-sensitive comparisons, currency and country properties expect codes in upper case.
Metadata
Metadata keys are not case-sensitive, but values are case-sensitive. If 2 values are defined that only differ by case, only the most recently defined one will be saved. Therefore, we recommend give all your metadata pairs distinct keys.
For example, if couponCode
= "NY2018"
and COUPONcode
= "NEW12"
are defined in metadata, only NEW12
is kept. In the rule builder, $couponcode
= "NEW12"
will evaluate to true, but $couponcode
= "New12"
will evaluate to false.
Metadata values are all considered strings, so mathematical operators (>, <,>=, <=, =) will not work.
Inactive properties
Several properties are currently inactive in our fraud and risk management solution:
:has_liability_shift:
:is_3ds_authenticated:
:billing_address_is_valid:
and:shipping_address_is_valid:
only check that the values have been provided, not that there is a valid address.
Post-auth-only properties
The :avs_code:
property is only available at the post-auth stage of the payment lifecycle, because address verification service (AVS) checks are only available from the issuer. The :avs_code:
property checks that the billing address provided matches the one that the issuer has on file.