AVS and CVV Responses

Below are the AVS and CVV responses and their descriptions. To test these in the sandbox environment please see this page of our integration documentation.

Auto Decline based on AVS and CVV Results

We do not offer the ability to systematically decline a transaction based on the AVS or CVV result that we get back from the issuer. However, our APIs return the AVS and CVV response in the event you want to decide based on those results. There are a couple of ways to do this which we’ll describe below.

Process a Sale and then void that Sale if certain AVS and/or CVV results are returned

Our recommended option is to process a Sale as normal. And then build some logic that systematically voids the sale if the AVS and/or CVV combination come back as mismatched. Then have your system display a decline message back to the cardholder. This is the most efficient process as in most cases the majority of the AVS and CVV will be matching.

Another option, which is not as efficient, is to run an Auth Only, and then do a Capture only if the AVS and CVV come back as matching - and then Voiding the Auth if the AVS and CVV do not match. This certainly works but it’s not as efficient as it _always _requires at least two API calls - Capture when matching and Void when not matching. Whereas processing a Sale (assuming AVS and CVV match 80% of the time for example) only requires a second API call to Void the Sale 20% of the time (when AVS and CVV do NOT match).

Call the Verify route

Another option is to call the Verify route before processing the Sale. This route processes a $0 transaction on the cardholder’s card and it returns the AVS and CVV results in the response. This still requires two API calls, however, it does eliminate the need to process a Void in the cases where the AVS and CVV come back mismatched.

AVS Responses

The following are AVS Responses found in the “addressVerificationCode“ property of the Sales response.
CodeDescription
AThe street addresses match but the postal/ZIP codes do not, or the request does not include the postal/ZIP code.
BStreet addresses match, but postal/ZIP code not verified due to incompatible formats. (Acquirer sent both street address and postal/ZIP code.)
CStreet address and postal/ZIP code not verified due to incompatible formats. (Acquirer sent both street address and postal/ZIP code)
DStreet addresses and postal/ZIP codes match.
FStreet addresses and postal codes match. Applies to U.K.-domestic transactions only.
GAddress not verified for international transaction. Issuer is not an Address Verification Service (AVS) participant, or AVS data was present in the request but issuer did not return an AVS result, or V.I.P. performed address verification on behalf of the issuer and there was no address record on file for this account.
IAddress information not verified.
MStreet addresses and postal/ZIP codes match.
NNo match. Acquirer sent postal/ZIP code only, or street address only, or both postal/ZIP and street address.
PPostal/ZIP codes match. Acquirer sent both postal/ZIP code and street address, but street address not verified due to incompatible formats.
RRetry: System unavailable or timed out. Issuer ordinarily performs address verification but was unavailable.
SNot applicable. If present, V.I.P. replaces it with U or with G.
UAddress not verified for domestic transaction. Address not verified for international transaction. Issuer is not an AVS participant, or AVS data was present in the request but issuer did not return an AVS result, or V.I.P. performed address verification on behalf of the issuer and there was no address record on file for this account.
WNot applicable. If present, V.I.P. replaces it with Z. Available for U.S. issuers only.
XNot applicable. If present, V.I.P. replaces it with Y. Available for U.S. issuers only.
YStreet address and postal/ZIP match.
ZPostal/ZIP match, street addresses do not match, or street addresses not included in the request.
0Not Available

CVV Responses

The following are the CVV Responses found in the “cvvVerificationCode“ property of the Sales response.
CodeDescription
MCVV2 Match. Indicates that the Funds Transfer API or the issuer was able to verify the CVV2 value provided by the merchant.
NCVV2 No Match. Indicates that the Funds Transfer API or the issuer was not able to verify the CVV2 value provided by the merchant.
PNot processed. Indicates that the Funds Transfer API or the issuer was unable to verify the CVV2 value provided by the merchant because either their verification system was not functioning, or not all of the information needed to verify the CVV2 value (such as the expiration date) was included in the request.
SCVV2 should be on the card. Indicates that the Funds Transfer API or the issuer was unable to perform CVV2 verification, and notifies the merchant that the card should contain a CVV2 value.
UIssuer does not participate in CVV2 service, or participates but has not provided Visa with encryption keys or both. Indicates that the issuer is not participating in the CVV2 service, or has not provided Visa with encryption keys needed to perform verification, or that STIP has responded to an issuer-unavailable response.

FAQs

Does AVS work for cardholders with non US addresses?

Yes, as long as the the card issuer is an Address Verification Service participant. Visa mandates U.S. and UK issuers participate in AVS. Mastercard mandates it for U.S. and Canada. For all others it is optional, for those specific card types.

Will an authorization always be declined if the CVV2 verification fails?

Card issuers have discretion on whether they decline a transaction when the CVV2 doesn’t match. They return the results of the CVV2 validation in the CVV2 results field, and with a "no match" they can still approve the transaction - and may choose to do so based on other attributes of what they see in the authorization request, in which case the issuer is taking liability if it ends up being a fraudulent transaction.