Testing Hosted Payment Pages

AVS

You can use a set of test card numbers and test accounts for QA purposes and to verify that your implementation works as expected.

You can test all available AVS result codes. To do so, you can use the billingAddress.street and the billingAddress.houseNumberOrName fields in a standard payment request form to submit the AVS code data you want to check.

<input type="hidden" name="billingAddress.city" value="Burbank" />
<input type="hidden" name="billingAddress.street" value="Test AVS result" />
<input type="hidden" name="billingAddress.houseNumberOrName" value="4" />
<input type="hidden" name="billingAddress.postalCode" value="91521" />
<input type="hidden" name="billingAddress.stateOrProvince" value="California" />
<input type="hidden" name="billingAddress.country" value="US" />
<input type="hidden" name="billingAddressType" value="0" />
<input type="hidden" name="billingAddressSig" value="m+fDzztb/oMEO4BEGc4mvedlKHU=" />

 Test AVS result codes

Result value Description
0 Unknown.
1

Address matches, but the postal code does not match.

2

Neither postal code nor address match.

3 AVS unavailable.
4 AVS not supported for this card type.
5 No AVS data provided.
6

Postal code matches, but the address does not match.

7

Both postal code and address match.

8 Address not checked, postal code unknown.
9 Address matches, postal code unknown.
10 Address doesn't match, postal code unknown.
11 Postal code not checked, address unknown.
12 Address matches, postal code not checked.
13 Address doesn't match, postal code not checked.
14 Postal code matches, address unknown.
15 Postal code matches, address not checked.
16 Postal code doesn't match, address unknown.
17 Postal code doesn't match, address not checked.
18 Neither postal code nor address were checked.
19 Name and postal code matches.
20 Name, address and postal code matches.
21 Name and address matches.
22 Name matches.
23 Postal code matches, name doesn't match.
24 Both postal code and address matches, name doesn't match.
25 Address matches, name doesn't match.
26 Neither postal code, address nor name matches.

CVV-CVC results

To test CVC/CVV result codes on HPP, you need to prefix the code number you want to test with two padding zeroes: 00<CVCCCVcode>

For example, to test CVC/CVV result code 4 No CVC/CVV provided, enter it as  004 in the CVV field on the HPP.

You can test CCV/CVV result codes. Assign the appropriate values to the child elements of the card element, as described below:

Parent Child Value to test CVC/CVV
card    
  number <specify_here_a_test_card_number>
  cvc <specify_here_the_CVC/CVV_code_to_test>

You still need to include and define all the other card child elements, but their values do not impact the cvc return value you want to test.

You can use a test card number with a CVC from this list to test CVC/CVV results.

Card examples

The following examples show how to use the card element to test specific CVC/CVV result codes.

"card" : {
    "number" : "4111111111111111", // Use a test card number that has a CVC number
    "cvc" : "737", // Use padding zeroes as necessary before the 1- or 2-digit CVC-CVV code you want to test
    "expiryMonth" : "08",
    "expiryYear" : "2018",
    "holderName" : "Adyen Test"
}

&card.cvc=737&card.expiryMonth=08&card.expiryYear=2018&card.holderName=Adyen+Tester&card.number=4111111111111111

<card xmlns="http://payment.services.adyen.com">
    <cvc>737</cvc> // Use padding zeroes as necessary before the 1- or 2-digit CVC-CVV code you want to test
    <expiryMonth>08</expiryMonth>
    <expiryYear>2018</expiryYear>
    <holderName>Adyen Test</holderName>
    <number>4111111111111111</number> // Use a test card number that has a CVC number
</card>

CVC-CVV result codes

0 Unknown
1 Matches
2 Doesn't match
3 Not checked
4 No CVC/CVV provided, but was required
5 Issuer not certified for CVC/CVV
6 No CVC/CVV provided

Result codes

You can test refused transactions and the specific refusal reason that are returned when a transaction fails.

Make an /authorise request, and include the required card fields (you can use one of the test card numbers with a CVC from this list). For the holderName, include a value with the following:

For this value, use the format:

[Adyen Response code] : [Scheme Response code and Refusal reason raw String]

You may need to lower the risk score value to take into account non-alphabetic characters in the cardholder name like a colon (":"). This and other non-alphabetical characters trigger the risk check, which may cause the payment to be declined with a FRAUD reason code.

Example

The following example shows how you test a "Declined" payment result due to an "Error", using the holderName:

DECLINED : 06 : ERROR
  • The holderName field value cannot be longer than 80 characters max.

  • If you specify an incorrect CVC or an invalid expiry date, the payment fails and the operation returns a generic DECLINED refusal reason.


Testing chargebacks

To test a chargeback, create a payment and enter Chargeback in the card.holderName field.

This simulates a flow for a chargeback. The payment goes through the normal process for authorisation and settlement.

After settlement, the chargeback is initiated.

Test chargeback reversed

Create a payment and enter Chargeback Reversed in the card.holderName field. The payment goes through the normal process for authorisation and settlement.

After settlement, the chargeback is reversed.