Adyen

Adyen Direct is a direct merchant payment processor connection for stand-alone merchants.

Supported Features

  • Credit Card Transactions
  • ACH / Bank Transactions

Configuration

Live URL Prefix

In order for Preczn to appropriately route production transactions to your Adyen Live environment, you must include your Adyen Live URL Prefix with your merchant credentials.

To find your Live URL Prefix:

  1. Log in to your Live Adyen Customer Area and switch to your merchant account
  2. Go to Developers > API URLs - Select the Prefix tab
  3. Click the copy Icon
  4. Paste your Live URL Prefix into the Live URL Prefix field on your merchant's credentials in Preczn

For more information on this process, please check Adyen's documentation:

Receiving Raw Responses

In order for Preczn to appropriately provide AVS and CVV results for transactions at Adyen, you must enable the Receiving Raw Responses feature on your Adyen account:

To enable the Adyen raw response for declined payments:

  1. Log in to your Adyen Customer Area and switch to your merchant account
  2. Go to Developers > API URLs - Select the Additional data settings tab
  3. Select the Raw acquirer result checkbox
  4. Select Save configuration

When a payment request is declined, you will now receive the refusalReasonRaw field in the response from Adyen.

This will allow Preczn to observe your Adyen response data for CVV and AVS results.
Failure to enable this will prevent Preczn from receiving CVV and AVS data regarding your transaction's responses.

ย 
For more information on this process, please check Adyen's documentation:


Enabling Adyen Raw Responses

Receiving Raw Responses

In order for Preczn to appropriately provide AVS and CVV results for transactions at Adyen, you must enable the Receiving Raw Responses feature on your Adyen account:

To enable the Adyen raw response for declined payments:

  1. Log in to your Adyen Customer Area and switch to your merchant account
  2. Go to Developers > API URLs - Select the Additional data settings tab
  3. Select the Raw acquirer result checkbox
  4. Select Save configuration

ย 

When a payment request is declined, you will now receive the refusalReasonRaw field in the response from Adyen.

This will allow Preczn to observe your Adyen response data for CVV and AVS results.
Failure to enable this will prevent Preczn from receiving CVV and AVS data regarding your transaction's responses.

ย 
For more information on this process, please view Adyen's documentation


ACH Transactions

๐Ÿ“˜

Adyen strongly recommends verifying ( Verify ) all ACH transactions ahead of an actual Sale transaction to verify the provided bank accounts. This is good practice and should be leveraged.

A Verify call on Preczn with an Adyen connection, the bank account and routing number are sent to Adyen's GIACT infrastructure: https://docs.adyen.com/payment-methods/ach-direct-debit/verification-with-giact/
This must be enabled in your Adyen account in order to successfully return giact/gVerify results as part of your Verify transaction request.

Be sure to leverage Tokenization to then use the token for the follow on Sale

Example of a ACH Verify Call:

{
    "merchantId": "{{PrecznAdyenMerchant}}",
    "type": "verify",
    "ipCreated": "1.1.1.1",
    "firstName": "{{$randomFirstName}}",
    "lastName": "{{$randomLastName}}",
    "payment": {
        "bankAccount": {
          "type": "corporateChecking",
          "account" : "1234567890",
          "routing" : "021000021",
          "bankCountry" : "USA"
        }
    },
    "billingAddress": {
        "address": "{{$randomStreetAddress}}",
        "address2": "Suite 1",
        "city": "{{$randomCity}}",
        "region": "NY",
        "postal": "85555",
        "country": "USA"
    },
}
{
    "authorization": {
        "avs": "U",
        "cvv": "U",
        "processorTransactionId": "######",
        "status": "A"
    },
    "billingAddress": {
        "address": "1421 Jaskolski Junction",
        "address2": "Suite 1",
        "city": "Cieloville",
        "country": "USA",
        "postal": "85555",
        "region": "NY"
    },
    "createdOn": "2024-02-27T21:18:02Z",
    "currency": "USD",
    "fee": 0,
    "firstName": "JABARI",
    "id": "#######",
    "ipCreated": "1.1.1.1",
    "lastName": "ABBOTT",
    "merchantId": "###########",
    "payment": {
        "bin": "#########",
        "last4": "7890",
        "token": "tkn_test_#######",
        "type": "corporateChecking"
    },
    "plan": {
        "id": "plan_test_########",
        "name": "Adyen"
    },
    "platformId": "######",
    "processor": {
        "id": "#####",
        "name": "Adyen"
    },
    "type": "verify"
}

Once a token has been created from a verify transaction, it can be subsequently used to process a Sale transaction.

{
    "merchantId": "{{PrecznAdyenMerchant}}",
    "type": "sale",
    "ipCreated": "1.1.1.1",
    "firstName": "{{$randomFirstName}}",
    "lastName": "{{$randomLastName}}",
    "payment": {
        "token":"tkn_test_#######"
     },
    "billingAddress": {
        "address": "{{$randomStreetAddress}}",
        "address2": "Suite 1",
        "city": "{{$randomCity}}",
        "region": "NY",
        "postal": "85555",
        "country": "USA"
    },
    "amount": 20000
}
{
    "amount": 2000,
    "authorization": {
        "avs": "U",
        "cvv": "U",
        "processorTransactionId": "######",
        "status": "A"
    },
    "billingAddress": {
        "address": "1421 Jaskolski Junction",
        "address2": "Suite 1",
        "city": "Cieloville",
        "country": "USA",
        "postal": "85555",
        "region": "NY"
    },
    "createdOn": "2024-02-27T21:18:02Z",
    "currency": "USD",
    "fee": 0,
    "firstName": "JABARI",
    "id": "#######",
    "ipCreated": "1.1.1.1",
    "lastName": "ABBOTT",
    "merchantId": "###########",
    "payment": {
        "bin": "#########",
        "last4": "7890",
        "token": "tkn_test_#######",
        "type": "corporateChecking"
    },
    "plan": {
        "id": "plan_test_########",
        "name": "Adyen"
    },
    "platformId": "######",
    "processor": {
        "id": "#####",
        "name": "Adyen"
    },
    "type": "sale"
}