Payment-method icon

BIN data and card verification

You may want to verify card validity and BIN data, for example before applying credit/debit surcharges or promotional offers based on BIN codes.

Submit a BIN or card verification request

Submit an authorisation request with a currency value amounting to 0 (zero-value auth). The currency should match the eventual transaction currency.

A zero-value auth requests the Adyen payments platform to submit a card verification call to the acquirer. The call returns a resultCode whose value can be AuthorisedRefused, or Error.

Not all acquirers and issuers support card verification through zero-value auth. When your transactions are routed to an acquirer or issuer that does not support this feature, the Adyen payments platform automatically submits a EUR 1 authorisation, which is immediately followed by an automatic authorisation cancellation. For other currencies, an approximate value equivalent to EUR 1 is used. For example, 1000 Korean Won (KRW), as 1 KRW is too low an amount to be authorised. In this case, the webhook you receive after the authorisation request includes the additionalAmount field to notify the amount used for the card verification (for example, 1000 Korean Won).

If you want to force a card verification request to use a non-zero value, you need to include the additionalAmount field to specify the amount to use. The standard amount field value still needs to be 0 (zero) to allow the Adyen payments platform to recognize the transaction as a non-zero amount validation, instead of an actual low-value transaction authorisation. This action triggers an automatic cancellation by the Adyen payments platform, following the authorisation. To be accepted by the schemes, the value specified in the additionalAmount field needs to be higher than the currency equivalent of USD 0.02.

If a card issuer always requires 3D Secure to confirm every payment and also doesn't support zero-value authorisations (for example, Bancontact), Adyen can not automatically submit a EUR 1 authorisation instead of zero-value auth. In this case, you need to submit a non-zero value authorisation request.

Examples of BIN data/card verification request (zero value authorisation):

Examples of BIN data/card verification request (non-zero value authorisation) with additionalAmount:

Receive a BIN or card verification response

A zero-value auth response includes, among others, the following details:

  • The authorisation request outcome (successful/failed).
  • If the authorisation request failed, an error message is included in the response.

An additionalData container object can also be included. This can contain information such as the: 

  • cardBin field holding BIN information.
  • authorisedAmountValue and authorisedAmountCurrency fields which hold the amount and currency of the authorisation.

The additionalData object needs to be configured to include this data in the response. For more information, refer to this FAQ article.

After enabling it, you will be able to receive the  PaymentResult.additionalData fields as child elements of the additionalData container object.

The system sends the information as a webhook following a zero-value auth request.

Examples of JSON BIN data/card verification response (non-zero value authorisation):