Account Validation

Account Validation Testing Guide

This guide explains how to test Account Validation in a controlled environment. You can simulate various responses using different mock card IDs for the Account Validation endpoint and the expected responses for each.

General Setup

  • Content-Type Header: application/vnd.api+json

  • HTTP Method: POST

Base URL:

https://gw-01-sandbox.vgsapi.com/3ds-mocks

Initialize API Endpoint:

POST /cards/{cardID}/validations

Example Request:

curl -X POST "https://gw-01-sandbox.vgsapi.com/3ds-mocks/cards/CRallValidationsApprAbCdE/validations" \
-H "Content-Type: application/vnd.api+json"

Account Validation API - Mock Card Testing

Test different Account Validation scenarios without using real cards. Each static cardID returns a predefined response (matched, not_matched, approved, declined, partially_matched). When using these mock card IDs, you do not need Account Validation enabled on your account and you do not need to generate a JWT auth token. Simply replace {cardID} with one of the static mock values.

Single Validation Tests

CVC Only

Card ID
CVC Status
Description

CRcvcMatchedOnlyAbCdEfGh

matched

CVC matched

CRcvcNotMatchedAbCdEfGhI

not_matched

CVC did not match

CRcvcNotVerifiedAbCdEfGh

not_verified

CVC could not be verified

CRcvcNotSupportedAbCdEfG

not_supported

CVC validation not supported

Address (AVS) Only

Card ID
Address Status
Description

CRavsMatchedOnlyAbCdEfGh

matched

Address fully matched

CRavsNotMatchedAbCdEfGhI

not_matched

Address did not match

CRavsPartialMatchAbCdEfG

partially_matched

Address partially matched

CRavsNotVerifiedAbCdEfGh

not_verified

Address could not be verified

CRavsNotSupportedAbCdEfG

not_supported

AVS not supported

Name Only

Card ID
Name Status
Description

CRnameMatchedOnlyAbCdEfG

matched

Name matched

CRnameNotMatchedAbCdEfGh

not_matched

Name did not match

CRnamePartialMatchAbCdEf

partially_matched

Name partially matched

CRnameNotVerifiedAbCdEfG

not_verified

Name could not be verified

CRnameNotSupportedAbCdEf

not_supported

Name validation not supported

Account Validation Only

Card ID
Account Validation Status
Description

CRacctApprovedOnlyAbCdEfG

approved

Account validation approved

CRacctDeclinedOnlyAbCdEfG

declined

Account validation declined

CRacctPartialApprAbCdEfGh

partial_approval

Account validation partially approval

CRacctNotVerifiedAbCdEfGh

not_verified

Account validation not verified

CRacctNotSupportedAbCdEfG

not_supported

Account validation not supported

Two Validation Combinations

CVC + Address

Card ID
CVC Status
Address Status
Description

CRcvcAvsMatchedAbCdEfGhI

matched

matched

Both matched

CRcvcMatchAvsNotAbCdEfGh

matched

not_matched

CVC matched, address didn't

CRcvcNotAvsMatchAbCdEfGh

not_matched

matched

CVC didn't match, address did

CRcvcAvsPartialAbCdEfGhI

matched

partially_matched

CVC matched, address partial

CVC + Name

Card ID
CVC Status
Name Status
Description

CRcvcNameMatchedAbCdEfGh

matched

matched

Both matched

CRcvcMatchNameNotAbCdEfG

matched

not_matched

CVC matched, name didn't

CRcvcNotNameMatchAbCdEfG

not_matched

matched

CVC didn't match, name did

CVC + Account Validation

Card ID
CVC Status
Account Validation Status
Description

CRcvcAcctApprovedAbCdEfGh

matched

approved

CVC matched, account approved

CRcvcMatchAcctDecAbCdEfGh

matched

declined

CVC matched, account declined

CRcvcNotAcctApprAbCdEfGhI

not_matched

approved

CVC didn't match, account approved

Address + Name

Card ID
Address Status
Name Status
Description

CRavsNameMatchedAbCdEfGh

matched

matched

Both matched

CRavsMatchNameNotAbCdEfG

matched

not_matched

Address matched, name didn't

CRavsNotNameMatchAbCdEfG

not_matched

matched

Address didn't match, name did

CRavsPartialNameAbCdEfGh

partially_matched

matched

Address partial, name matched

Address + Account Validation

Card ID
Address Status
Account Validation Status
Description

CRavsAcctApprovedAbCdEfGh

matched

approved

Address matched, account approved

CRavsMatchAcctDecAbCdEfGh

matched

declined

Address matched, account declined

CRavsNotAcctApprAbCdEfGhI

not_matched

approved

Address didn't match, account approved

Name + Account Validation

Card ID
Name Status
Account Validation Status
Description

CRnameAcctApprovedAbCdEfG

matched

approved

Name matched, account approved

CRnameMatchAcctDecAbCdEfG

matched

declined

Name matched, account declined

CRnameNotAcctApprAbCdEfGh

not_matched

approved

Name didn't match, account approved

Three Validation Combinations

CVC + Address + Name

Card ID
CVC Status
Address Status
Name Status
Description

CRcvcAvsNameAllMatchAbCd

matched

matched

matched

All three matched

CRcvcAvsMatchNameNotAbCd

matched

matched

not_matched

CVC+Address matched, name didn't

CRcvcNameMatchAvsNotAbCd

matched

not_matched

matched

CVC+Name matched, address didn't

CRavsNameMatchCvcNotAbCd

not_matched

matched

matched

Address+Name matched, CVC didn't

CRcvcAvsPartialNameAbCdE

matched

partially_matched

matched

CVC+Name matched, address partial

CVC + Address + Account Validation

Card ID
CVC Status
Address Status
Account Validation Status
Description

CRcvcAvsAcctAllApprAbCdE

matched

matched

approved

All three successful

CRcvcAvsMatchAcctDecAbCdE

matched

matched

declined

CVC+Address matched, account declined

CRcvcAcctApprAvsNotAbCdEf

matched

not_matched

approved

CVC+Account good, address didn't match

CRavsAcctApprCvcNotAbCdEf

not_matched

matched

approved

Address+Account good, CVC didn't match

CVC + Name + Account Validation

Card ID
CVC Status
Name Status
Account Validation Status
Description

CRcvcNameAcctAllApprAbCd

matched

matched

approved

All three successful

CRcvcNameMatchAcctDecAbCd

matched

matched

declined

CVC+Name matched, account declined

CRcvcAcctApprNameNotAbCdE

matched

not_matched

approved

CVC+Account good, name didn't match

CRnameAcctApprCvcNotAbCdE

not_matched

matched

approved

Name+Account good, CVC didn't match

Address + Name + Account Validation

Card ID
Address Status
Name Status
Account Validation Status
Description

CRavsNameAcctAllApprAbCd

matched

matched

approved

All three successful

CRavsNameMatchAcctDecAbCd

matched

matched

declined

Address+Name matched, account declined

CRavsAcctApprNameNotAbCdE

matched

not_matched

approved

Address+Account good, name didn't match

CRnameAcctApprAvsNotAbCdE

not_matched

matched

approved

Name+Account good, address didn't match

CRavsPartialNameAcctAbCdE

partially_matched

matched

approved

Address partial, name+account good

Four Validation Combination (All)

CVC + Address + Name + Account Validation

Card ID
CVC
Address
Name
Account Validation
Description

CRallValidationsApprAbCdE

matched

matched

matched

approved

All validations successful

CRallMatchAcctDeclinedAbC

matched

matched

matched

declined

All matched but account declined

CRcvcNotOthersMatchAbCdE

not_matched

matched

matched

approved

Only CVC failed

CRavsNotOthersMatchAbCdE

matched

not_matched

matched

approved

Only address failed

CRnameNotOthersMatchAbCd

matched

matched

not_matched

approved

Only name failed

CRacctDecOthersMatchAbCdE

matched

matched

matched

declined

Only account declined

CRavsPartialOthersAbCdEf

matched

partially_matched

matched

approved

Address partial, others good

CRcvcAvsNotOthersAbCdEfG

not_matched

not_matched

matched

approved

CVC+Address failed

CRcvcNameNotOthersAbCdEf

not_matched

matched

not_matched

approved

CVC+Name failed

CRavsNameNotOthersAbCdEf

matched

not_matched

not_matched

approved

Address+Name failed

Error Response Card IDs

These card IDs trigger specific HTTP error responses:

Card ID
HTTP Status
Description

CRaZcXeVtBrNnMpLoKjIhUgYt

400

Bad Request

CRdFhJkLmNoPqRsTuVwXyZ012

401

Unauthorized

CRpOiUytRewQAzXswEdcRfVtB

403

Forbidden

CRuYtRewQAzWsXeDcRfVtGbYh

404

Not Found

CRiKoLpMnBvCxZaQsWeRdTfYg

422

Unprocessable Entity

CRzXaScVbNmLkJhgFdSaQwErT

500

Internal Server Error

CRbNtMvCxZlKjHgFdSaQwErTy

503

Service Unavailable

Default Success Card ID

Card ID
Response

canary (or any other card ID not listed above)

Returns 200 with all requested validations showing matched status (or approved for account validation)

Usage

To test a specific validation scenario, use the corresponding card ID in your request to /cards/{card_id}/validations.

The fields you include in the request body determine which validations are performed:

  • Include card_cvc to trigger CVC validation

  • Include cardholder_address to trigger address validation

  • Include cardholder_name to trigger name validation

  • Include account_validation: true to trigger account validation (zero-dollar auth)

Example request for CVC + Address validation with both matched:

Response Structure

The response will include a validation_results object with the following possible fields:

  • cvc_result - CVC validation result (if card_cvc was provided)

  • address_result - Address validation result (if cardholder_address was provided)

  • name_result - Name validation result (if cardholder_name was provided)

  • account_validation_result - Account validation result (if account_validation: true was provided)

Each result object contains:

  • status - The validation status (see statuses above)

  • network_response_code - The network response code

  • network_response_description - Human-readable description

Last updated