Skip to main content
Marqeta provides Address Verification Service (AVS) to enable merchants to verify the ownership of a card. AVS is a component of an authorization request for ecommerce transactions. Marqeta can confirm the billing address provided by the cardholder by checking the merchant’s records and reporting back to the merchant, who then decides whether or not to proceed with the transaction. AVS is available in a number of countries including the United States, Canada, and the United Kingdom. AVS generally verifies only the numeric part of the cardholder’s billing address, not the full address. Marqeta allows customers to configure the AVS service at the card product level, which enables AVS wherever it is available. For the US, UK, and Canada, AVS is mandated. Issuers must validate the AVS data passed to Marqeta and return the validated data to the merchant. Marqeta validates the cardholder address, then returns the necessary response code back to the merchant, indicating whether or not the address matches. The cardholder address under validation can either be on file or returned through the customer’s JIT gateway. Though AVS is mandated in the US, UK, and Canada, Marqeta recommends that AVS be enabled in validate-only mode. Marqeta recommends that you validate AVS data when provided, then return the result to the merchant. The merchant will then make a decision about processing the transaction. Another option is to decline the transaction when the address is mismatched. In some instances, merchants will reverse authorizations that do not have AVS validation. Enabling AVS can therefore reduce authorization reversals.

Card product configuration

Marqeta’s configuration allows you to select which behaviors of AVS you would like to activate for your program. Enabling AVS allows Marqeta to validate and respond to the merchant when AVS data is provided.
  • av_messages – Account verification (AV) messages are zero-amount authorizations that allow merchants to validate the address before adding a card to their records.
  • auth_messages – Authorization messages are purchase transactions in which the merchant provides AVS data during the transaction and Marqeta returns the validation during the authorization response. Merchants then have the option to reverse transactions based on address validation.
Optionally, you can enable decline_on_address_number_mismatch and/or decline_on_postal_code_mismatch if declining such transactions is required, for example, when the address data does not match the data from the merchant. Use the following request body to enable AVS in the countries that support it:

Enabling AVS

JSON
{
  "config": {
    "transaction_controls": {
      "address_verification": {
        "av_messages": {
          "validate": true,
          "decline_on_address_number_mismatch": false,
          "decline_on_postal_code_mismatch": false
        },
        "auth_messages": {
          "validate": true,
          "decline_on_address_number_mismatch": false,
          "decline_on_postal_code_mismatch": false
        }
      }
    }
  }
}

Transaction data

As part of the transaction payload that Marqeta provides in both JIT Funding and webhooks, AVS validation compares the values that the merchant has provided in the request with the values in Marqeta’s records. See the following code sample for reference.

Validating AVS

JSON
{
  "transactions": [
  {
	  "address_verification" : {
	    "request" : {
	      "street_address" : "300 Romford Avenue",
	      "postal_code" : "AB7 9CD"
	    },
	    "on_file" : {
	      "street_address" : "300 Romford Avenue",
	      "postal_code" : "AB7 9CD"
	    },
	    "response" : {
	      "code" : "0000",
	      "memo" : "Address and zip code match"
	    }
	  }
  }]
}

JIT validation

You can also choose to provide AVS validation using a JIT gateway response. JIT validation is useful when storing the address data on your own servers instead of Marqeta’s platform. Using the transaction payload described in Transaction data, you can either override or return validation from the address that Marqeta provides. See the following code sample for reference.

JIT validation

JSON
{
  "jit_funding": {
    "token": "4e32c8ed-48f4-4414-bb91-87712fc42e24",
    "method": "pgfs.authorization",
    "user_token": "bf64b52a-4691-4101-94f6-d901fc148876",
    "amount": 8.99,
    "address_verification": {
      "gateway": {
        "on_file": {
          "street_address": "180 Grand Avenue",
          "postal_code": "64212"
        },
        "response": {
          "code": "0000",
          "memo": "Address and postal code match"
        }
      }
    }
  }
}