API Reference for Hosted Payment Pages

To communicate with the Adyen API you should submit HTTP POST requests to corresponding endpoints. These endpoints differ for test and live accounts.

This document lists all endpoints available for you to integrate with the Adyen payments platform and run QA checks.

Endpoints

This is an overview of the test and live URL endpoints to communicate with our Hosted Payment Pages (HPP) solution.

Test Live

https://test.adyen.com/hpp/select.shtml

https://live.adyen.com/hpp/select.shtml

https://test.adyen.com/hpp/pay.shtml

https://live.adyen.com/hpp/pay.shtml

This is an overview of the test and live URL endpoints to communicate with our Directory Lookup (DL) solution.

Test Live

https://test.adyen.com/hpp/directory.shtml

https://live.adyen.com/hpp/directory.shtml
https://test.adyen.com/hpp/directory/v2.shtml https://live.adyen.com/hpp/directory/v2.shtml

https://test.adyen.com/hpp/skipDetails.shtml

https://live.adyen.com/hpp/skipDetails.shtml

Payment request

This table lists the fields to be passed in an HPP payment request.

Field Type Required Description
allowedMethods String

(error)

A comma-separated list of the allowed payment methods to filter the payment method options that would normally be available through the skinned HPP.

Only the listed payment methods are shown, if available; all other payment methods are ignored.

Spaces are not allowed.

If you do not include this optional parameter, the corresponding value in the  merchantSignature computation is an empty string.

blockedMethods String

(error)

A comma-separated list of the not allowed payment methods to filter the payment method options that would normally be available through the skinned HPP.

The listed payment methods are not made available on the HPP.

Spaces are not allowed.

If you do not include this optional parameter, the corresponding value in the  merchantSignature computation is an empty string.

brandCode String

(error)

Defines the specific payment method used to process the payment.

This field is required in a payment request call to skipDetails.shtml to skip the payment method selection.

The brandCode values are case sensitive. For information on available brandCode values, refer to Payment methods overview .
captureDelayHours Int (error) The delay between the authorisation and scheduled auto capture, specified in hours.
countryCode String

(error)

By default, the payment methods offered to a shopper are filtered based on the country the shopper's IP address is mapped to. In this way, shoppers are not offered payment methods that are not available in the country they are carrying out the transaction from.

This IP-to-country mapping is not 100% accurate, so if you have already established the country of the shopper, you can set it explicitly in the countryCode parameter.

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

This field may be required in a payment request call to directory.shtml to perform a directory lookup.

currencyCode String
(tick)

The three-character ISO currency code.

issuerId String

(error)

Defines the specific issuer ID used to process the payment.

This field is required for iDEAL payments.

merchantAccount String
(tick)

The merchant account identifier you want to process the (transaction) request with.

merchantReference String (tick)
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.

merchantReturnData String

(error)

This field value is appended as-is to the return URL when the shopper completes, or abandons, the payment process and is redirected to your web shop.

Typically, this field is used to hold and transmit a session ID.

Maximum allowed character length: 128 characters.

If by including merchantReturnData in a request causes it to exceed the allowed maximum size, the payment can fail.

merchantSig String
(tick)

The signature in Base64 encoded format. It is generated by concatenating the values of payment session fields, and by computing the HMAC using the shared secret, as configured in the skin.

For more information, refer to HMAC signature calculation.

metadata Class

(error)

Metadata consists of entries, each of which includes of key and value.

Limitations: Error "177", "Metadata size exceeds limit"

  Key String (error)

Key for the information to be provided. Example: key = 'storeCountry'

Limitations: Error "178", "Metadata key size exceeds limit"

  value String (error)

Information value. Example: value = 'US'

Limitations: Maximum length: 80 characters, the value is truncated to 80 characters with '...' appended to it.

offset Int (error)

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

The value can be either a positive or negative integer.

orderData String

(error)

An HTML fragment containing the order details to display to the shopper on the payment review page, just before the shopper proceeds to the final order confirmation.

Data is compressed and encoded in the session to prevent data corruption, for example in case the locale is set to non-Latin character sets.

  • Compression: GZIP
  • Encoding: Base64
paymentAmount

Int

(tick)

The payable amount that can be charged for the transaction, in minor units.

The transaction amount needs to be represented in minor units according to the Currency codes table. Some currencies do not have decimal points, such as JPY, and some have 3 decimal points, such as BHD.
For example, 10 GBP is submitted as 1000, whereas 10 JPY is submitted as 10.

resURL String

(error)

Defines the result URL, i.e. the default result landing page shoppers are redirected to when they complete a payment on the HPP.

We recommend setting a fixed resultURL in the skin configuration.

However, sometimes it may be preferable to set the result URL on a per-payment basis: to override the resultURL value specified in the skin configuration, you need to set the result URL for the payment session with the resURL parameter.

sessionValidity String

(tick)

The payment deadline; the payment needs to occur within the specified time value.

This is especially useful for tickets and reservations, where you want to hold items for sale for a short, limited period of time.

  • Format: ISO 8601;  YYYY-MM-DDThh:mm:ssTZD
  • Example: 2017-07-17T13:42:40+01:00

shipBeforeDate String (tick)

The date within which the ordered goods or services need to be shipped or provided to the shopper.

This field is also used to set the expiration date of an offline payment like boletos and 7 eleven.

  • Format: ISO 8601;  YYYY-MM-DDThh:mm:ssTZD
  • Example: 2017-07-17T13:42:40+01:00

shopperEmail String

(error)

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.

shopperLocale String (error)
locale = language code + country code

It specifies the language to use during the transaction.

For example: en_GB sets the locale preferences to British English.

When it is not necessary to include the country-specific part, use only the language code.

For example: it instead of it_IT to set the locale preferences to Italian.

If not specified, the locale preference is set to en_GB  by default.

shopperReference String (error)

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.

shopperStatement String (error)

Set this field in your payment request if you want to include a variable shopper statement.

You can include placeholders for the references. For example:

  • ${reference} for the merchant reference
  • ${pspReference} for the PSP reference.

Note:

  • Not all acquirers support dynamic shopper statements.
  • Maximum allowed character length: 135 characters. For Visa/Mastercard: 25/22 respectively.
  • Allowed characters: a-zA-Z0-9.,-?|
  • If you set the shopperStatement field, it is included in the HMAC calculation.
  • Not supported for all payments methods, for further information contact Support Team.
skinCode String

(tick)

A unique code to identify the skin you want to apply to the HPP in use to process the transaction.

Note:

  • You can skin your hosted payment page to make it consistent with your brand look and feel.
  • You can create multiple skins in your merchant account to provide tailored branding experiences to your shoppers.

Payment response

This table lists the fields to be passed in an HPP payment response.

Field
Type
Required
Description
additionalData.acquirerReference String (error)

This field is returned for open invoice in the result URL.

authResult String (tick)

Returns the outcome of the payment. It can take one of the following values:

  • AUTHORISED: The payment authorisation was successfully completed.
  • REFUSED: The payment was refused. Payment authorisation was unsuccessful.
  • CANCELLED: The payment was cancelled by the shopper before completion, or the shopper returned to the merchant's site before completing the transaction.
  • PENDING: It is not possible to obtain the final status of the payment.
    This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.
  • ERROR: An error occurred during the payment processing.
merchantReference String (tick) The reference you assigned to the original payment.

merchantReturnData

String (error)

If you define this field in the payment session setup, the value is returned as is. This information is useful to build a custom result page, and it integrates seamlessly with the shopper's session on your server.

When the payment status is defined, we send you a server-to-server notification. This notification is the recommended way to update the payment status in your back office. The notification system is more reliable in its delivery because the resultURL parameter relies on the shopper's browser/computer/Internet connection, any of which could fail at any time.

We recommend setting a fixed resultURL in the skin configuration. However, sometimes it may be preferable to set the result URL on a per-payment basis: to override the resultURL value specified in the skin configuration, you need to set the result URL for the payment session with the resURL parameter.

merchantSig

String (tick)

The signature in Base64 encoded format. It is generated by concatenating the values of payment session fields, and by computing the HMAC using the shared secret, as configured in the skin.

For more information, refer to HMAC signature calculation.

paymentMethod String (error)

The payment method used in the transaction.

When authResult equals CANCELLED, the payment method may not be known – in this case, it is not included.

pspReference String (error)
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.

When authResult equals PENDINGERROR or CANCELLED, the pspReference may not yet be known; therefore, it may be empty or not included.

reason String (error)
Only applicable for iDEAL payment method.

If a shopper cancels a payment, this field returns a random number.

If the transaction results in an error, this field returns either of the possible following values:

  • authentication_error
  • format_error
  • invalid_field
  • invalid_request
  • invalid_amount
  • system_failure
  • unknown_account
  • unknown_error
  • unknown_id
shopperLocale String (tick)

The shopperLocale value provided in the payment request.

If no value is specified in the request, the default value en_GB is returned.
skinCode String (tick) The code that identifies the skin used to process the payment.

Recurring details request

This table lists data that should be passed in an HPP payment request to create a recurring contract.

Field
Type
Required
Description
recurringContract String (tick)

The type of recurring contract to be used. Possible values:

  • ONECLICK – Payment details can be used to initiate a one-click payment, where the shopper enters the card security code (CVC/CVV).
  • RECURRING – Payment details can be used without the card security code to initiate card-not-present transactions.
  • ONECLICK,RECURRING – Payment details can be used regardless of whether the shopper is on your site or not.
  • PAYOUT – Payment details can be used to make a payout.
shopperEmail String (tick) The shopper's email address.
shopperReference String (tick) The shopper's reference for the payment transaction.

Directory request

This table lists parameters that should be passed to the https://test.adyen.com/hpp/directory.shtml or https://test.adyen.com/hpp/directory/v2.shtml endpoint.

Field
Type
Required
Description
countryCode String (error)

By default, the payment methods offered to a shopper are filtered based on the country the shopper's IP address is mapped to. In this way, shoppers are not offered payment methods that are not available in the country they are carrying out the transaction from.

This IP-to-country mapping is not 100% accurate, so if you have already established the country of the shopper, you can set it explicitly in the countryCode parameter.

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

It is recommended that you provide the countryCode field, to accurately state the actual location of the payment so that the correct payment methods for that location are retrieved.

currencyCode String (tick)

The three-character ISO currency code.
 

merchantAccount String (tick)

The merchant account identifier you want to process the (transaction) request with.

merchantReference String (tick)

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.

merchantSig String (tick)

The signature in Base64 encoded format. It is generated by concatenating the values of payment session fields, and by computing the HMAC using the shared secret, as configured in the skin.

For more information, refer to HMAC signature calculation.

paymentAmount Int (tick)

The payable amount that can be charged for the transaction, in minor units.

The transaction amount needs to be represented in minor units according to the Currency codes table. Some currencies do not have decimal points, such as JPY, and some have 3 decimal points, such as BHD.
For example, 10 GBP is submitted as 1000, whereas 10 JPY is submitted as 10.

sessionValidity String (tick)

The payment deadline; the payment needs to occur within the specified time value.

This is especially useful for tickets and reservations, where you want to hold items for sale for a short, limited period of time.

  • Format: ISO 8601;  YYYY-MM-DDThh:mm:ssTZD
  • Example: 2017-07-17T13:42:40+01:00

shopperLocale String (error)
locale = language code + country code

Specifies the language to use during the transaction.

For example: en_GB sets the locale preferences to British English.

When it is not necessary to include the country-specific part, use only the language code.

For example: it instead of it_IT to set the locale preferences to Italian.

If not specified, the locale preference is set to en_GB  by default.

skinCode String (tick)

A unique code to identify the skin you want to apply to the HPP in use to process the transaction.

Note:

  • You can skin your hosted payment page to make it consistent with your brand look and feel.
  • You can create multiple skins in your merchant account to provide tailored branding experiences to your shoppers.

Directory response

This table lists fields returned in a response to the https://test.adyen.com/hpp/directory.shtml and https://test.adyen.com/hpp/directory/v2.shtml calls.

Field Type Required Description
paymentMethods Array (tick)

Contains the information about the available payment methods.

  brandCode String (tick)

Code of the payment method brand.

  issuers Array

(error)

Returned only in case of bank payments.

    issuerId String (tick) ID of the issuer.
    name String (tick) Name of the issuer.
  logos Object (tick)

NEW IN V2 The payment method's logo of different sizes.

    normal String (tick) The URL pointing to the payment method logo of the normal size.
    small String (tick) The URL pointing to the payment method logo of the small size.
    tiny String (tick) The URL pointing to the payment method logo of the tiny size.
  name String (tick) Name of the payment method.

SkipDetails request

This table lists parameters that should be passed to the https://test.adyen.com/hpp/skipDetails.shtml endpoint.

Field
Type
Required
Description
allowedMethods String (error)

A comma-separated list of the allowed payment methods to filter the payment method options that would normally be available through the skinned HPP.

Only the listed payment methods are shown, if available; all other payment methods are ignored.

Spaces are not allowed.

If you do not include this optional parameter, the corresponding value in the  merchantSignature computation is an empty string.

blockedMethods String (error)

A comma-separated list of the not allowed payment methods to filter the payment method options that would normally be available through the skinned HPP.

The listed payment methods are not made available on the HPP.

Spaces are not allowed.

If you do not include this optional parameter, the corresponding value in the  merchantSignature computation is an empty string.

brandCode String (tick)

Defines the specific payment method used to process the payment.

This field is required in a payment request call to skipDetails.shtml to skip the payment method selection.

The brandCode values are case sensitive. For information on available brandCode values, refer to Payment methods.

countryCode String (error)

By default, the payment methods offered to a shopper are filtered based on the country the shopper's IP address is mapped to. In this way, shoppers are not offered payment methods that are not available in the country they are carrying out the transaction from.

This IP-to-country mapping is not 100% accurate, so if you have already established the country of the shopper, you can set it explicitly in the countryCode parameter.

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

This field may be required in a payment request call to directory.shtml to perform a directory lookup.

currencyCode String (tick)
The three-character ISO currency code.
issuerId String (tick)

Defines the specific issuer ID used to process the payment.

This field is required in a payment request call to skipDetails.shtml to skip the payment method selection.

merchantAccount String (tick)

The merchant account identifier you want to process the (transaction) request with.

merchantReference String (tick)
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.

merchantReturnData String (error)

This field value is appended as-is to the return URL when the shopper completes, or abandons, the payment process and is redirected to your web shop.

Typically, this field is used to hold and transmit a session ID.

Maximum allowed character length: 128 characters.

If by including merchantReturnData in a request causes it to exceed the allowed maximum size, the payment can fail.

merchantSig String (tick)

The signature in Base64 encoded format. It is generated by concatenating the values of payment session fields, and by computing the HMAC using the shared secret, as configured in the skin.

For more information, refer to HMAC signature calculation.

offset Int (error)

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

The value can be either a positive or negative integer.

orderData String (error)

An HTML fragment containing the order details to display to the shopper on the payment review page, just before the shopper proceeds to the final order confirmation.

Data is compressed and encoded in the session to prevent data corruption, for example in case the locale is set to non-Latin character sets.

  • Compression: GZIP
  • Encoding: Base64
paymentAmount

Int
(long)

(tick)

The payable amount that can be charged for the transaction, in minor units.

The transaction amount needs to be represented in minor units according to the Currency codes table. Some currencies do not have decimal points, such as JPY, and some have 3 decimal points, such as BHD.
For example, 10 GBP is submitted as 1000, whereas 10 JPY is submitted as 10.

resURL String (error)

Defines the result URL, i.e. the default result landing page shoppers are redirected to when they complete a payment on the HPP.

We recommend setting a fixed resultURL in the skin configuration.

However, sometimes it may be preferable to set the result URL on a per-payment basis: to override the resultURL value specified in the skin configuration, you need to set the result URL for the payment session with the resURL parameter.

sessionValidity String (tick)

The payment deadline; the payment needs to occur within the specified time value.

This is especially useful for tickets and reservations, where you want to hold items for sale for a short, limited period of time.

  • Format: ISO 8601;  YYYY-MM-DDThh:mm:ssTZD
  • Example: 2017-07-17T13:42:40+01:00

shipBeforeDate String (tick)

The date within which the ordered goods or services need to be shipped or provided to the shopper.

This field is also used to set the expiration date of an offline payment like boletos, oxxo and 7 eleven.

  • Format: ISO 8601;  YYYY-MM-DDThh:mm:ssTZD
  • Example: 2017-07-17T13:42:40+01:00

shopperEmail String (error)

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.

shopperLocale String (error)
locale = language code + country code

It specifies the language to use during the transaction.

For example: en_GB sets the locale preferences to British English.

When it is not necessary to include the country-specific part, use only the language code.

For example: it instead of it_IT to set the locale preferences to Italian.

If not specified, the locale preference is set to  en_GB by default.

shopperReference String (error)

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.

shopperStatement String (error)

Set this field in your payment request if you want to include a variable shopper statement.

You can include placeholders for the references. For example:

  • ${reference} for the merchant reference
  • ${pspReference} for the PSP reference.

Note:

  • Not all acquirers support dynamic shopper statements.
  • Maximum allowed character length: 135 characters. For Visa/Mastercard: 25/22 respectively.
  • Allowed characters: a-zA-Z0-9.,-?|
  • If you set the shopperStatement field, it is included in the HMAC calculation.
  • Not supported for all payments methods, for further information contact Support Team.
skinCode String (tick)

A unique code to identify the skin you want to apply to the HPP in use to process the transaction.

Note:

  • You can skin your hosted payment page to make it consistent with your brand look and feel.
  • You can create multiple skins in your merchant account to provide tailored branding experiences to your shoppers.

SkipDetails response

This table lists fields returned in a response to the https://test.adyen.com/hpp/skipDetails.shtml call.

Field
Type
Required
Description
additionalData.acquirerReference String (error)

This field is returned for open invoice in the result URL.

authResult String (tick)

Returns the outcome of the payment. It can take one of the following values:

  • AUTHORISED: The payment authorisation was successfully completed.
  • REFUSED: The payment was refused. Payment authorisation was unsuccessful.
  • CANCELLED: The payment was cancelled by the shopper before completion, or the shopper returned to the merchant's site before completing the transaction.
  • PENDING: It is not possible to obtain the final status of the payment.
    This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.
  • ERROR: An error occurred during the payment processing.
merchantReference String (tick) The reference you assigned to the original payment.

merchantReturnData

String (error)

If you define this field in the payment session setup, the value is returned as is. This information is useful to build a custom result page, and it integrates seamlessly with the shopper's session on your server.

When the payment status is defined, we send you a server-to-server notification. This notification is the recommended way to update the payment status in your back office. The notification system is more reliable in its delivery because the resultURL parameter relies on the shopper's browser/computer/Internet connection, any of which could fail at any time.

 We recommend setting a fixed resultURL in the skin configuration. However, sometimes it may be preferable to set the result URL on a per-payment basis: to override the resultURL value specified in the skin configuration, you need to set the result URL for the payment session with the  resURL parameter.

merchantSig

String (tick)
The signature in Base64 encoded format. It is generated by concatenating the values of payment session fields, and by computing the HMAC using the shared secret, as configured in the skin.

For more information, refer to HMAC signature calculation.

paymentMethod String (error)

The payment method used in the transaction.

When authResult equals CANCELLED, the payment method may not be known; in this case, it is not included.

pspReference String (error)

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.

When authResult equals PENDINGERROR or CANCELLED, the pspReference may not yet be known; therefore, it may be empty or not included.

shopperLocale String (tick)

The shopperLocale value provided in the payment request.

If no value is specified in the request, the default value  en_GB  is returned.
skinCode String (tick) The code that identifies the skin used to process the payment.

HPP additional fields

ACH payment fields

Initiate a payment request with the given fields:

Field Type Required Description
bankAccount Object (tick)

A container for bank account data.

It contains the following elements:

  • bankAccountNumber
  • bankLocationId
  • bankName
  • bic
  • countryCode
  • ownerName
  bankAccountNumber String (tick)

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.

  bankLocationId String (tick)

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

Format: 9-digit number.

Do not remove any leading zeroes in it.

  bankName String (error)

The name of the bank where the account is held.

  bic String (error)

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

  countryCode String (tick)

The country code for the transaction.

For ACH transactions, set its value to US .

  ownerName String (tick) The bank account holder name.
billingAddress Object (tick)

A container for the billing address information.

It contains the following elements:

  • city
  • country
  • houseNumberOrName
  • postalCode
  • stateOrProvince
  • street
  city String (tick)

Name of the city.

  country String (tick)

The country identifier.

For ACH payments, set its value to US.

  houseNumberOrName String (tick)

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

  postalCode String (tick)

Zip/Post code.

  stateOrProvince String (tick)

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

  street String (tick)

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.

The table below lists parameters returned in an ACH payment response.

Field Type Required Description
additionalData Object (tick)
The additionalData object is a generic container that can hold extra fields.
  achdirectdebit.dateOfSignature String (tick) Transaction signature date.
Format: yyyy-MM-dd
  achdirectdebit.mandateId String (tick) Its value corresponds to the pspReference value for the transaction.
  achdirectdebit.sequenceType String (tick)
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.
pspReference String (tick)
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.
refusalReason String (error) When the payment is not authorised and it is refused, this field holds Adyen's mapped reason for the refusal.
resultCode String (tick)

The outcome of the payment. The possible values are:

  • Authorised
  • Received
  • Refused

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.

Field
Type
Required
Description
billingAddress.city String (tick) The city.
billingAddress.country String (tick)

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 web site.
 
billingAddress.houseNumberOrName String (tick) The house number (or name).
billingAddress.postalCode String (tick) The postal/zip code.
billingAddress.stateOrProvince String (tick) The state or province.
billingAddress.street String (tick) The street name.
billingAddressType String (tick)

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.

Field
Required
Description
billingAddress (error)

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 (error) 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.
deliveryAddress (error)

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:

deliveryAddressType (tick)

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.

deliveryDate (error)

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

Used in the following risk checks:

dfValue (error)

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 (error) A reference that merchants can use to link multiple transactions to each other.
merchantReference (tick)

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.

offset (error)

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

The value can be either a positive or negative integer.

riskdata.deliveryMethod (error)

The method to deliver the goods to the shopper.

Used in Delivery Method Check.

riskdata.externalRiskScore (error)

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

Used in External Risk Score Check.

riskdata.shopperAccountCreationDate (error)

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

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

Used in Shopper Account Age check.

shopper (error)

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:

shopperEmail

(error)

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:

shopperReference (error)

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:

Field
Type
Required
Description
shopper.dateOfBirthDayOfMonth String (tick) The day of the month of the shopper's birth.
shopper.dateOfBirthMonth String (tick) The month of the shopper's birth.
shopper.dateOfBirthYear String (tick) The year of the shopper's birth.
shopper.firstName String (tick) The shopper's first name.
shopper.gender String (tick) The shopper's gender.
shopper.infix String (tick)

The shopper infix.

shopper.lastName String (tick) The shopper's last name.
shopper.telephoneNumber String (tick)

The shopper's telephone number.

 

This field is mandatory in case of SecurePlus authorise requests.

shopperType String (tick)

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

(tick) – mandatory (this field must be sent);   (error) – optional (this field can be sent); blank – this field shouldn't be sent. 
Field Type Level 2 Level 3 Max. length Description
enhancedSchemeData
  customerReference String (tick) (tick) 25

Customer code, if supplied by a customer.

Encoding: ASCII.

  totalTaxAmount Numeric (tick) (tick) 12

Total tax amount, in minor units.

For example, 2000 means USD 20.00

  freightAmount Numeric (error) (error) 12

Shipping amount, in minor units.

For example, 2000 means USD 20.00

  dutyAmount Numeric (error) (error) 12

Duty amount, in minor units.

For example, 2000 means USD 20.00

  destinationPostalCode String (error) (error) 10

The postal code of a destination address.

Encoding: ASCII.

Required for American Express.

  destinationStateProvinceCode String (error) (error) 3

Destination state or province code.

Encoding: ASCII.

  shipFromPostalCode String (error) (error) 10

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

Encoding: ASCII.

  destinationCountryCode String (error) (error) 3

Destination country code.

Encoding: ASCII.

  orderDate String (error) (error) 6

Order date.

Format: ddMMyy

Encoding: ASCII.

enhancedSchemeData.itemDetailLine<Nr>

You can submit a maximum of 9 line items.

  commodityCode String (error) (tick) 12

Item commodity code.

Encoding: ASCII.

  description String (error) (tick) 26

Item description.

Encoding: ASCII.

  productCode String (error) (tick) 12

Product code.

Encoding: ASCII.

  quantity Numeric (error) (tick) 12

Quantity, specified as an integer value.

Value must be greater than 0.

  unitOfMeasure   (error) (tick) 3

Item unit of measurement.

Encoding: ASCII.

  unitPrice Numeric (error) (tick) 12 Unit price, specified in minor units.
  discountAmount Numeric (error) (error) 12

Discount amount, in minor units.

For example, 2000 means USD 20.00

  totalAmount Numeric (error) (tick) 12

Total amount, in minor units.

For example, 2000 means USD 20.00