Are you looking for test card numbers?

Would you like to contact support?

Classic-integration icon

HPP additional fields

Hosted Payment Pages are no longer available
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. If you have any questions, contact our Support Team.

ACH payment fields

Initiate a payment request with the given fields.



The US bank account number from which the payment will be debited.

Format: numeric.

For ACH transactions, the bank account number needs to comply with length restrictions: min. 4, max. 17 digits.


The ABA routing transit number for ACH payments from the bank account.

Format: 9-digit number.

Do not remove any leading zeroes in it.


The name of the bank where the account is held.


The business identifier code (BIC) is the SWIFT address assigned to a bank.


The country code for the transaction.

For ACH transactions, set its value to US.

ownerNameString-white_check_mark-The bank account holder name.



Name of the city.


The country identifier.

For ACH payments, set its value to US.


House number, or house name, or another house identifier.


Zip/Post code.


Name of the state, region or province, where applicable.


Name of the street.

You can append a house number to the street parameter. In this case, houseNumberOrName should be set to an empty string.


An ACH payment response is similar to card payment responses, the only difference being that an ACH response does not include an authorisation code (authCode), because it is not generated in this case.

pspReferenceString-white_check_mark-Adyen's 16-character unique reference associated with the transaction/the request. This value is globally unique; quote it when communicating with us about this request.
refusalReasonString-x-When the payment is not authorised and it is refused, this field holds Adyen's mapped reason for the refusal.

The outcome of the payment. The possible values are:

  • Authorised
  • Received
  • Refused

Response's additionalData

achdirectdebit.dateOfSignatureString-white_check_mark-Transaction signature date.
Format: yyyy-MM-dd
achdirectdebit.mandateIdString-white_check_mark-Its value corresponds to the pspReference value for the transaction.
achdirectdebit.sequenceTypeString-white_check_mark-achdirectdebit.sequenceType can take one of the following values:
  • Final: (FNAL) Last/final collection in a series of direct debit instructions.
  • First(FRST) Initial/first collection in a series of direct debit instructions.
  • OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.
  • Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.

WeChat Pay

To use WeChat Pay on a mobile browser, include the parameter below in your payment request:

Field Type Description
hppAdditional.flowType String Set this parameter to desktop. This parameter enables the desktop flow and presents a QR code to your mobile shoppers instead of redirecting to the mobile app.

Billing address and AVS fields

For more information on Address Verification System (AVS), refer to AVS.

You can choose to have the HPPs collect the billing address and/or pre-populate these values from your own system.

billingAddress.cityString-white_check_mark-The city.

The country code information of the billing address section.

The country value format needs to adhere to the ISO 3166-1 alpha-2 standard. An invalid country code results in a transaction/request rejection. You can look up country codes on the ISO website. 
billingAddress.houseNumberOrNameString-white_check_mark-The house number (or name).
billingAddress.postalCodeString-white_check_mark-The postal/zip code.
billingAddress.stateOrProvinceString-white_check_mark-The state or province.
billingAddress.streetString-white_check_mark-The street name.

You can specify the billingAddressType to define whether the shopper is allowed to view and/or modify these personal details.

The billingAddressType field is part of the merchantSignature, which is used to calculate the HMAC.

The billingAddressType can be:

  • Not supplied - modifiable / visible
  • 1 - unmodifiable / visible
  • 2 - unmodifiable / invisible

If you want the shopper to enter the billing address on the payment pages, you need to select the Billing Address Fields (AVS) checkbox on the skin edit page in the Customer Area, without supplying a billingAddressType value. 

The billing address details are stored with the transaction. They are visible in the Customer Area when either a billingAddressType value is provided, or when Billing Address Fields (AVS) is configured for a skin.

Risk fields

Adyen's API for payment requests contains several optional fields that can be provided by the merchants. Some of these fields are quite important when the merchant uses several risk checks in the Risk System. We recommend the use of the following fields in order to use to its fullest the capabilities of Adyen's Risk system.


The address where the shopper is going to receive the bill. Providing the following detailed information street, houseNumberOrName, city, postalCode, stateOrProvince, country.

Used in the following risk checks:

browserInfo-x-With the browser info data, we can determine if the device is mobile or not, which is used for device fingerprinting and other device logic.

The address where the shopper is going to receive goods/services. Providing the following detailed information street, houseNumberOrName, city, postalCode, stateOrProvince, country.

Used in the following risk checks:


Specifies whether the shopper is allowed to view and/or modify delivery address fields.

It can have the following values:

  • 1: the delivery address fields are visible but unmodifiable.
  • 2: the delivery address fields are not visible, thus fields will be unmodifiable.
  • Not supplied: the delivery address fields are visible and modifiable.

If the field is supplied, the deliveryAddressType field is is part of the merchant signature.


The expected date of delivery or fulfillment of the goods/services to the shopper.

Used in the following risk checks:


Information from the shopper's device and uses the combined value to identify the device of the shopper.

Used in the following risk checks:

merchantOrderReference-x-A reference that merchants can use to link multiple transactions to each other.

A reference to uniquely identify the payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.

If you need to provide multiple references for a transaction, you can enter them in this field. Separate each reference value with a hyphen character ("-").

This field has a length restriction: you can enter max. 80 characters.


An integer value that adds up to the normal fraud score.

The value can be either a positive or negative integer.


The method to deliver the goods to the shopper.

Used in Delivery Method Check.


Used only before authorisation and when external risk provider is used by merchant.

Used in External Risk Score Check.


This specifies the date when the shopper's account was created.

Format: yyyy-MM-dd HH:mm:ss.sssZ

This field can only be used in HPP integrations, and is only used when you have selected the creation date option in the Shopper Account Age check.


Shopper personal information that includes shopper name, date of birth, and so on (only in countries where it is legal to collect). For more information, refer to Shopper information fields.

Used in the following risk checks:



The shopper's email address.

We recommend providing this information, as it is used in velocity fraud checks.

Depending on your integration this field may be mandatory for you, check with the Support Team.

It is not advisable to use a hard-coded email address.

Used in the following risk checks:


A unique identifier for the shopper, for example, a customer ID.

We recommend providing this information, as it is used in velocity fraud checks. It is also the key in recurring payments.

This field is mandatory in recurring payments.

Used in the following risk checks:

Shopper fields

Shopper details can be sent to Adyen. They can also be encrypted using a signature. These are the fields Adyen recognizes as shopper information:

shopper.dateOfBirthDayOfMonthString-white_check_mark-The day of the month of the shopper's birth.
shopper.dateOfBirthMonthString-white_check_mark-The month of the shopper's birth.
shopper.dateOfBirthYearString-white_check_mark-The year of the shopper's birth.
shopper.firstNameString-white_check_mark-The shopper's first name.
shopper.genderString-white_check_mark-The shopper's gender.

The shopper infix.

shopper.lastNameString-white_check_mark-The shopper's last name.

The shopper's telephone number.


This field is mandatory in case of SecurePlus authorise requests.


This field can be used if validation of the shopper fields is desired.

Possible values: 

  • 1 - unmodifiable / visible
  • 2 - unmodifiable / invisible

HPP L2/L3 data

-white_check_mark- – mandatory (this field must be sent);  -x- – optional (this field can be sent); blank – this field shouldn't be sent.


FieldTypeLevel 2Level 3Max. lengthDescription

Customer code, if supplied by a customer.

Encoding: ASCII.


Total tax amount, in minor units.

For example, 2000 means USD 20.00


Shipping amount, in minor units.

For example, 2000 means USD 20.00


Duty amount, in minor units.

For example, 2000 means USD 20.00


The postal code of a destination address.

Encoding: ASCII.

Required for American Express.


Destination state or province code.

Encoding: ASCII.


The postal code of a "ship-from" address.

Encoding: ASCII.


Destination country code.

Encoding: ASCII.


Order date.

Format: ddMMyy

Encoding: ASCII.


You can submit a maximum of 9 line items.

FieldTypeLevel 2Level 3Max. lengthDescription

Item commodity code.

Encoding: ASCII.


Item description.

Encoding: ASCII.


Product code.

Encoding: ASCII.


Quantity, specified as an integer value.

Value must be greater than 0.

unitOfMeasure -x--white_check_mark-3

Item unit of measurement.

Encoding: ASCII.

unitPriceNumeric-x--white_check_mark-12Unit price, specified in minor units.

Discount amount, in minor units.

For example, 2000 means USD 20.00


Total amount, in minor units.

For example, 2000 means USD 20.00