Skip to main content
Version: 11.7.x

Adyen

In this page you will find the required information to perform REST calls related to the Adyen payment provider.

Payment MethodPaymentRefundAutomatic SubscriptionManual Subscription
credit-cards
Enabled
Pay By Link
danger

At this moment, only the Adyen Automatic Capture mode is supported. Remember to set it in the Adyen Customer Area.

Endpoints

Every Adyen endpoint has the prefix path /v3/adyen.

Pay

POST /{payment-method}/pay

In addition to the common mandatory fields, has four provider specific required ones:

{
"amount": "...",
"shopTransactionId": "...",
"providerData": {
"encryptedCardNumber": "...",
"encryptedExpiryMonth": "...",
"encryptedExpiryYear": "...",
"encryptedSecurityCode": "..."
}
}

All these four fields are related to the shopper credit/debit card details and must be encrypted by Adyen system first.

Refund

POST /refund

This endpoint allows to refund, fully or partially, an already executed payment via the Adyen provider.

The request body does not require any provider-specific data.

The refund request is asynchronous, so /refund endpoint doesn't return the outcome of the operation but a generic PENDING code. In order to verify if a refund has been performed or not, a notification must be received through the /callback endpoint.

Subscription

Start

POST /subscription/start

This endpoint allows to create a new subscription and the related first payment via the Adyen provider.

It required the same fields inside providerData object as the pay request. Below an example of the providerData object needed:

{
[...]
"providerData": {
"paymentMethod": {
"encryptedCardNumber": "string",
"encryptedExpiryMonth": "string",
"encryptedExpiryYear": "string",
"encryptedSecurityCode": "string"
},
"shopperReference": "string"
}
}

Pay

POST /subscription/pay

This endpoint allows to create a new payment related to the subscription defined by the subscriptionToken via the Adyen provider.

It required the token field inside the subscriptionInfo object.

Below an example of the providerData object needed:

{
[...]
"providerData": {
"shopperReference": "string"
}
}

Expire

POST /subscription/expire/{subscriptionToken}?reference={{shopperReference}}

This endpoint allows to expire a subscription.

POST /pay-by-link

The request body does not require any provider-specific data.

Callback

POST /callback

This endpoint should only be called by Adyen.

danger

The /status and /check endpoints are not implemented.