Classic-integration icon

Testing Hosted Payment Pages

Hosted Payment Pages are no longer available

To accept payments through an Adyen-hosted page, use our Hosted Checkout.

This page is for the classic Hosted Payment Pages (HPP) integration, which has reached end-of-life. We are no longer processing transactions though HPP.


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="" 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="CA" />
<input type="hidden" name="" value="US" />
<input type="hidden" name="billingAddressType" value="0" />
<input type="hidden" name="billingAddressSig" value="m+fDzztb/oMEO4BEGc4mvedlKHU=" />

 Test AVS result codes

AVS Response codeDescription




Address matches, but the postal code does not match.


Neither postal code nor address match.


AVS unavailable.


AVS not supported for this card type.


No AVS data provided.


Postal code matches, but the address does not match.


Both postal code and address match.


Address not checked, postal code unknown.


Address matches, postal code unknown.


Address doesn't match, postal code unknown.


Postal code not checked, address unknown.


Address matches, postal code not checked.


Address doesn't match, postal code not checked.


Postal code matches, address unknown.


Postal code matches, address not checked.


Postal code doesn't match, address unknown.


Postal code doesn't match, address not checked.


Neither postal code nor address were checked.


Name and postal code matches.


Name, address and postal code matches.


Name and address matches.


Name matches.


Postal code matches, name doesn't match.


Both postal code and address matches, name doesn't match.


Address matches, name doesn't match.


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:

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
  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.

CVC-CVV result codes

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

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.


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

  • 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.

Testing 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.