Stripe

Support

What are street and zip/postal code checks (address verification or AVS), and how should I use them?

Address verification checks (also known as Address Verification System or AVS) provide additional levels of confirmation that the person using the card is the legitimate owner of the card, useful to help identify and avoid fraud.

There are two checks - one based on the numbers contained in the first line of the address, and another on the ZIP/postal code. For each charge where we have an address supplied, Stripe checks whether both of these pieces of information match the address for the customer on file with their bank.

How do I collect my customers’ billing addresses?

You can collect all of the information you need for these checks by using Stripe.js. You’ll just need to include these additional parameters:

  • address_line1: returns address_line1_check (based on the street number)
  • address_zip: returns address_zip_check

You can also enable these fields with the Checkout by including the data-address option. (If you’re using custom buttons, you’ll set address: true.)

Creating a token with Stripe.js doesn’t result in talking to your customer’s bank, so the check values for these fields will be null. The actual results will be available in a charge object in the card hash, or in a customer object in the cards list.

What should I do if the address checks fail?

If either of these checks fail, there’s a higher chance that the person making the payment is not the legitimate owner of the card. However, it’s worth noting that there are situations where these address checks can fail on legitimate transactions, for example if the customer has entered their address incorrectly, or has moved house and not yet updated their address with their bank.

Stripe provides you with all the information available from the banks to tell whether a payment is legitimate, so if you have any doubt we recommend that you contact the customer and ask them to provide additional confirmation to verify their identity. In particular we recommend all users who are shipping physical goods perform additional verification or reject orders where the customer’s address cannot be verified.

If you are uncomfortable accepting a payment, we recommend refunding the payment and canceling any product or shipment. This will prevent you from being liable for the payment and additional chargeback fee if the cardholder later disputes the charge as fraudulent. We return all fees for refunded payments to you, so you never lose out by choosing to cancel and refund a payment.

What if I have to reject lots of payments? Can I enforce an address check?

Yes. If your business is often affected by suspicious payments where you are unable to verify the customer’s identity, you can enable a setting to automatically refuse all payments where the zip check fails. You can enable this setting by heading to your account settings and choosing to “Decline charges that fail zip code verification.“ Note that this setting will only apply to charges where a zip code is provided and the particular bank supports zip code checks.

There is no option to automatically refuse payments where the street address check fails.

What if the address checks show as "unavailable”?

Address checks are primarily used in Canada, the UK, and the US, though banks in other countries can also support them. If a bank supports the check, they’ll return pass or fail (and we’ll decline the latter depending on your account settings). Banks that don’t support verifying the address will return ‘unavailable’, which is never automatically declined.

Was this answer helpful? Yes / No