Skip to content

AVS/CVC verification

It is possible in some countries to verify card address and get in response the verification result and CVC match result.

The merchant can submit sets of AVS/CVC values which should fail a transaction if AVS/CVC check result codes are in the given sets.

AVS codes

These codes will be used in AVS responses, and they will be mapped to codes of any external payment provider.

Code Description
0 AVS result is unknown.
1 AVS is not supported for this processor or card type.
A Street address matches, ZIP code does not match.
B Street address matches, but postal code is not verified.
E A system error prevented any verification of street address or postal code.
M Street address and postal code match.
N Street address and postal code do not match.
O Address does not match.
P Postal code matches, but street address is not verified.
W Street address does not match, ZIP code matches.
U Address information is unavailable.
AE1 Cardholder name is incorrect, but ZIP code matches.
AE2 Cardholder name is incorrect, but street and ZIP code match.
AE3 Cardholder name is incorrect, but street matches.
AE4 Cardholder name matches.
AE5 Cardholder name and ZIP code match.
AE6 Cardholder name, street, and ZIP code match.
AE7 Cardholder name and street match.

CVC codes

These codes will be used in CVC responses, and they will be mapped to codes of any external payment provider.

Code Description
0 CVC result is unknown.
1 Card verification is not supported for this processor or card type.
D Card verification is performed, and CVD was invalid.
E A system error prevented any CVC verification.
M Card verification code matches.
N Card verification code is not matched.
P Card verification is not performed, CVD was not on the card. Not all cards have a CVD value encoded.
S Should have been present.
U Card verification is not supported by the issuing bank.
X No CVV2 information is available.
Y Card verification is performed, and CVD was valid.

Cancel transactions based on AVS/ CVC check results

These cancellation codes must be sent in the request parameters for payment, authorization and payment token, so that transactions are automatically canceled in case of match of AVS/CVC verification results to one of these codes.

Request example
{
    ...
    "amount":100,
    "currency":"USD",
    ...
    "additional_data": {
      "avs_cvc_verification": {
        "cvc_verification" : {
          "reject_codes": ["N"]
        },
        "avs_verification" : {
          "reject_codes": ["N","B","P"]
        }
      }
    }
    ...
}

Get AVS/ CVC check result

Look for the avs_cvc_verification section in a Demo PSP response to know AVS/CVC verification result.

Response example
{
    ...
    "uid":"1-2d4b20c72a",
    "status":"failed",
    "amount":100,
    ...
    "avs_cvc_verification": {
      "cvc_verification" : {
        "result_code": "N"
      },
      "avs_verification" : {
        "result_code": "N"
      }
    }
    ...
}

Testing

To test different AVS/CVC response codes you should send in requests data as follows:

AVS verification testing

To emulate different AVS codes, send a digit (at any position) listed in the table in billing_address.address and billing_address.zip.

Address digit Zip digit AVS response code
0 0 0
2 2 A
3 3 B
4 4 E
5 5 M
6 6 N
7 7 O
8 8 P
9 9 W
10 10 U
11 11 AE1
12 12 AE2
13 13 AE3
14 14 AE4
15 15 AE5
16 16 AE6
17 17 AE7
18 18 AE7
19 19 AE7
20 20 AE7
Any other data Any other data 1

CVC verification testing

To emulate CVC verification codes, submit CVC codes from the table below.

CVC CVC response code
000 0
111 Y
222 D
333 E
444 M
555 N
666 P
777 S
888 U
999 X
Any other data 1