Address verification system (AVS) is an anti-fraud tool used in the UK, US, and Canada for online payments by Visa, Mastercard, and Amex.

The system checks with the bank if the address of the cardholder matches the billing address (provided via the API in the pay-in call). The acquiring bank provides a score as a result of this verification.

Based on the score provided by the bank, Mangopay provides a specific value in the AVSResult parameter for you to act upon.

AVS ResultDescription
FULL_MATCHThe user Address and the address registered on the bank side are exactly the same.
ADDRESS_MATCH_ONLYOnly the street names are a match (AddressLine1 and AddressLine2). Postal codes don’t match.
POSTAL_CODE_MATCH_ONLYOnly the postal codes are a match (PostalCode). The street names don’t match.
NO_MATCHBoth street names and postal codes don’t match.
NO_CHECK

No check has been done.

This may be due to:

  • A lack of information (no Address provided)
  • A non-compatible card
  • An unavailability of the AVS service on the bank side.

This status is also used for 3DS payments until the payment has been validated on the customer side (AVS check given when status = SUCCEEDED)

Best practice - Implement an AVS result-based payment flow

In order to make the most of this feature:

  • Make the user Address mandatory in your implementation
  • Adapt your flow by adding conditions dependent on the AVS result.

One of the ways to use the AVS feature is to rely on the preauthorized pay-in. Steps would be as follows:

  • Make a preauthorization
  • Check the AVSResult Capture the preauthorized funds based on the AVS result