This page explains why certain errors happen, and how to fix them.
Be mindful when setting rules that may lead to
NULL values. If you set a rule such as
:shipping_address_country:, but do not provide either address in your payment request, the values being compared are
NULL, which will be equal to
true. Conversely, if you only provide one of the addresses, this rule will be equal to
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.
The rules for case sensitivity differ, depending on the type of comparison.
- Property-to-property comparison is not case-sensitive. Examples include
[“EUR“, “gbp“, “UsD”]
- Property-to-custom list comparison is case-sensitive. Examples include
For case-sensitive comparisons, currency and country properties expect codes in upper case.
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
"NEW12" are defined in metadata, only
NEW12 is kept. In the rule builder,
"NEW12" will evaluate to true, but
"New12" will evaluate to false.
Metadata values are all considered strings, so mathematical operators (>, <,>=, <=, =) will not work.
Several properties are currently inactive in our fraud and risk management solution:
:shipping_address_is_valid:only check that the values have been provided, not that there is a valid address.
: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.