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