Spree Commerce Adyen API

The Adyen API from Spree Commerce — 3 operation(s) for adyen.

Operations 3

POST /api/v2/storefront/adyen/payment_sessions Create an Adyen Payment Session #
POST /api/v2/storefront/adyen/payment_sessions/{id}/complete Complete an Adyen payment session and order #
GET /api/v2/storefront/adyen/payment_sessions/{id} Get Adyen Payment Session #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/spree-commerce-adyen-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

spree-commerce-adyen-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.0.0
  title: Storefront Adyen API
  description: 'Storefront API is a modern REST API based on the [JSON API spec](https://jsonapi.org/) which provides you with all the necessary endpoints to build amazing user interfaces either in JavaScript frameworks or native mobile libraries.


    Import to [Postman](https://raw.githubusercontent.com/spree/spree/main/docs/api-reference/storefront.yaml)'
  contact:
    name: Vendo Connect Inc.
    url: https://spreecommerce.org
    email: hello@spreecommerce.org
  license:
    name: BSD-3-Clause
    url: https://github.com/spree/spree/blob/main/LICENSE.md
servers:
- url: https://demo.spreecommerce.org
  description: demo
- url: http://localhost:3000
  description: localhost
tags:
- name: Adyen
paths:
  /api/v2/storefront/adyen/payment_sessions:
    post:
      summary: Create an Adyen Payment Session
      description: Create a new Adyen payment session with the specified amount. Adyen support is currently in private beta. [Please contact us](https://spreecommerce.org/contact) to get access.
      tags:
      - Adyen
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                payment_session:
                  type: object
                  properties:
                    amount:
                      type: number
                      description: The payment amount
                      example: 80.99
                    channel:
                      type: string
                      default: Web
                      enum:
                      - Web
                      - Android
                      - iOS
                    return_url:
                      type: string
                      default: https://{host}/adyen/payment_sessions/redirect
                      description: URL to return back to store after payment with redirect flow like Klarna or iDEAL. The URL must not include personally identifiable information (PII), for example name or email address.
                  required:
                  - amount
              required:
              - payment_session
            example:
              payment_session:
                amount: 80.99
                channel: Android
                return_url: my-app://your.package.name
      operationId: create-adyen-payment-session
      responses:
        '200':
          $ref: '#/components/responses/AdyenPaymentSession'
        '422':
          $ref: '#/components/responses/422UnprocessableEntity'
      security:
      - orderToken: []
  /api/v2/storefront/adyen/payment_sessions/{id}/complete:
    post:
      summary: Complete an Adyen payment session and order
      description: Complete an Adyen payment session and order. Adyen support is currently in private beta. [Please contact us](https://spreecommerce.org/contact) to get access.
      tags:
      - Adyen
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                session_result:
                  type: string
                  description: The Adyen payment session result
              required:
              - session_result
            example:
              session_result: AdyenResultData
      operationId: complete-adyen-payment-session
      responses:
        '200':
          $ref: '#/components/responses/AdyenPaymentSession'
        '422':
          $ref: '#/components/responses/422UnprocessableEntity'
      security:
      - orderToken: []
  /api/v2/storefront/adyen/payment_sessions/{id}:
    get:
      summary: Get Adyen Payment Session
      description: Retrieve An Adyen payment session information. Adyen support is currently in private beta. [Please contact us](https://spreecommerce.org/contact) to get access.
      tags:
      - Adyen
      operationId: get-adyen-payment-session
      responses:
        '200':
          $ref: '#/components/responses/AdyenPaymentSession'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
      security:
      - orderToken: []
components:
  schemas:
    Error:
      x-internal: false
      title: Error
      type: object
      properties:
        error:
          type: string
  responses:
    403Forbidden:
      description: 403 Forbidden - You are not authorized to access this page.
      content:
        application/vnd.api+json:
          schema:
            properties:
              error:
                type: string
                example: You are not authorized to access this page.
                default: You are not authorized to access this page.
          examples:
            403 Example:
              value:
                error: You are not authorized to access this page.
    AdyenPaymentSession:
      description: 200 Success - Returns the Adyen Payment Session with session data and payment amount.
      content:
        application/vnd.api+json:
          schema:
            type: object
            properties:
              data:
                type: object
                properties:
                  id:
                    type: string
                    example: '3'
                  type:
                    type: string
                    default: adyen_payment_session
                  attributes:
                    type: object
                    properties:
                      adyen_id:
                        type: string
                        description: The Adyen session ID
                        example: CS3E6B43783787E79B
                      amount:
                        type: string
                        description: The payment amount
                        example: '80.99'
                      currency:
                        type: string
                        description: The payment currency
                        example: USD
                      client_key:
                        type: string
                        description: The Adyen client key
                        example: your_client_key
                      adyen_data:
                        type: string
                        description: The Adyen session data required for payment processing
                      channel:
                        type: string
                        default: Web
                        enum:
                        - Web
                        - Android
                        - iOS
                        description: The channel of the payment session
                        example: Android
                      return_url:
                        type: string
                        description: URL to return back to store after payment with redirect flow like Klarna or iDEAL. The URL must not include personally identifiable information (PII), for example name or email address.
                        example: https://{host}/adyen/payment_sessions/redirect
                      status:
                        type: string
                        description: The status of the payment session
                        example: initial
                      expires_at:
                        type: string
                        format: date-time
                        description: The expiration date and time of the payment session
                        example: '2025-07-24T14:40:45.000Z'
                  relationships:
                    type: object
                    properties:
                      order:
                        type: object
                        properties:
                          data:
                            type: object
                            properties:
                              id:
                                type: string
                                example: '4'
                              type:
                                type: string
                                example: cart
                      payment_method:
                        type: object
                        properties:
                          data:
                            type: object
                            properties:
                              id:
                                type: string
                                example: '4'
                              type:
                                type: string
                                example: payment_method
                      user:
                        type: object
                        properties:
                          data: {}
          examples:
            Adyen Payment Session:
              value:
                data:
                  id: '3'
                  type: adyen_payment_session
                  attributes:
                    adyen_id: CS3E6B43783787E79B
                    amount: '80.99'
                    currency: USD
                    channel: iOS
                    adyen_data: Ab02b4c0!BQABAgCNxadId3f9NXF6OMYGXsZAoAwcnOdgINKAypoyo8GUq8UqjnT/7J8K4kNhl6tjWOpGY6t+r+4QQVVfo4IHFWtjzNkj2k9dnTS4932UyCznLC+gHbzPHcfN6rNiHBIpQo523a94EvV2Sq1Gh/3j6N2aNCjfV2TDWynQJU11uOhalgwhAnVrD3HmFtbVqM60kGiPRBfE4LwLuQ7f+7S/cdVx8HzWizvafndeRnx5lM3RQNibNRbimJ3G6YZh/HI9FwZYbxkUoq8dQl8dgdquNKAxsSO0BcC6UpTU2Z8d/z3lAsm0UlX1+YiryRut4Ipg9YqJbVt3gnj7Kh4kZFRO1hZM8NDeD9PshE8riBXDpUwJ84m+9I+cfbnwYWgfZaGuxfGG+IiiliQBWIjHefd6ukUATLWsPX6ufUL7BT3rSMx/5QMmdNrE/zMA9B1tFg5Tm8t88S6WQcSZ/vIgOv+peDml5j44OcEth6iEqxRwsmT3T0nZUhYwYUSTEykrpY9+Ly2+NWpTE+sgvXhld6SZubbbG9gIBad6TIwaKkUO0kJOx6Zvk37uU2D0z8mnWIktimBZIqhegsdBXutVyUe93xSighf/C41n69COSjALE3KCcXGCmR4NsdwJ7LesJMYLu1S4gDOObvkuW5IY2k8r6pptUWgsOxcyUvbpPMlQrjRTHAwRPxcnk0SJrSL29HwASnsia2V5IjoiQUYwQUFBMTAzQ0E1MzdFQUVEODdDMjRERDUzOTA5QjgwQTc4QTkyM0UzODIzRDY4REFDQzk0QjlGRjgzMDVEQyJ9JcDZ7NsVaMwwHpvV0vX/5b7P9FS/1TfuFbQRmlFX4vCQOLxSiyAf5P4uN7Hb2Zw4dplBl4oSEBBUvrKk5TCqjGoS1azHS8Fv5LCcl2yCDH6WBtQKzJnT6NmXl29+ILYCxETtyF9K8LwgJyu8sHs2jQnnLujLBqqjIZqDFa8TORtGiwvhtS3UMtagkkg0SkCaaaOjqtZdWrTy7C9Gy9nFZNYEfmurFZmgLRROTB3jRNwmveWvayFJl4TTtub14l+RZJDx2VgjAwqRU8btN/0xnrT9m2kg6LOyW4F9TkauPgAzY3Gu//HQOGW7VDBPq6y83mzP7iNp8Whe14NQSu29i9rBricl0f6RoWin87jRD7AtZx0MxlhNxUF579COCwNHAMhs310nntoSY5U8s13of9Wn2lDcBcg2QmSNOixMMIcBkjHpEQEZAeGzfi8OvJtjoi9TVY0VzrpSbR1dcx8MNjOUeY37H+XlWkdEkd3457zbeOuSlEbjvuDYW7tYHYWipsd4fNllXiMzKW+w6YxL2Kqj0M5B+3ihuEKg7VS3b/XKs+OS7eHGZSImAt9e4tGltEqYzdRHzm4S6pnJytaoPp7+OswEm+JQTi739w4CJeNWxr1t9dot2k9OQw3vZabeI7OTrwBc2IwtUYZ9oPlBVOibMoUwCIVmSPrSgF8nCj9S2RdZgamLNnyg1srQmWnNxtOLMnvTnWedICtoE48rMG2Q+cDrEjy11TCGK3R+LHE+LaqPv96yk3ztsHomOF7XstAvLvUAIH3Z/X5+ePNcDzV7OZkS9xcLkqGqeqR04iHGZZfLw3q4rauZMWLyxb+NkGKfgTtGhe7nq+Z7bGXWxzQh694dJf+59oGCslmfJ44cd8SX3o2JjSZ7Ew7LgQt7fj6z+yif1Bs8SH3QNZN9POsfxJggCwRIhvaPmZR7hsV75+b4jC+wU2LAHik8Nr1pt48NpCxULtKNw6ZPUbJwMVWK7gmZtqa39l7OmIs2PE54vgeZk38XBi6K1UFqoZlV667GrnwOgscob3DFPMcjZhCBYOWJNLjxjqP6pw3zf7OB/ZA1m4F6yv4LVka19rlQk0esAqfTy36KbJggRYNJdGYgDr6u2zz3NblMfZpys5mtpW8ncoBdsOeWlL+cspDGig9HINHT2CnrL9+N7oU=
                    client_key: test_ECRHWDLSER123456HMT57VW7XGOUDA23
                    status: initial
                    expires_at: '2025-07-24T14:40:45.000Z'
                    return_url: https://example.com/adyen/payment_sessions/redirect
                  relationships:
                    order:
                      data:
                        id: '4'
                        type: cart
                    payment_method:
                      data:
                        id: '4'
                        type: payment_method
                    user:
                      data: null
    404NotFound:
      description: 404 Not Found - Resource not found.
      content:
        application/vnd.api+json:
          schema:
            properties:
              error:
                type: string
                example: The resource you were looking for could not be found.
                default: The resource you were looking for could not be found.
          examples:
            404 Example:
              value:
                error: The resource you were looking for could not be found.
    422UnprocessableEntity:
      description: 422 Unprocessable Entity
      content:
        application/vnd.api+json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            422 Example:
              value:
                error: Example is invalid
                errors:
                  example:
                  - Example is invalid
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'User token to authorize Cart and Checkout requests.


        It is required to associate Cart with the User.'
    orderToken:
      type: apiKey
      in: header
      description: 'Order token to authorize Cart and Checkout requests.


        [How to obtain X-Spree-Order-Token](../authentication#for-guest-users)'
      name: X-Spree-Order-Token