Spree Commerce Adyen API
The Adyen API from Spree Commerce — 3 operation(s) for adyen.
The Adyen API from Spree Commerce — 3 operation(s) for adyen.
openapi: 3.0.3
info:
title: Admin Account / Address Adyen API
contact:
name: Spree Commerce
url: https://spreecommerce.org
email: hello@spreecommerce.org
description: "Spree Admin API v3 - Administrative API for managing products, orders, and store settings.\n\n## Authentication\n\nThe Admin API requires a secret API key passed in the `x-spree-api-key` header.\nSecret API keys can be generated in the Spree admin dashboard.\n\n## Response Format\n\nAll responses are JSON. List endpoints return paginated responses with `data` and `meta` keys.\nSingle resource endpoints return a flat JSON object.\n\n## Resource IDs\n\nEvery resource is identified by an opaque string ID (e.g. `prod_86Rf07xd4z`,\n`variant_k5nR8xLq`, `or_UkLWZg9DAJ`). Use these IDs everywhere — URL paths,\nrequest bodies, and Ransack filters all accept them directly.\n\n## Error Handling\n\nErrors return a consistent format:\n```json\n{\n \"error\": {\n \"code\": \"validation_error\",\n \"message\": \"Validation failed\",\n \"details\": { \"name\": [\"can't be blank\"] }\n }\n}\n```\n"
version: v3
servers:
- url: http://{defaultHost}
variables:
defaultHost:
default: localhost:3000
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:
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.
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.
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:
nullable: true
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
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
schemas:
Error:
x-internal: false
title: Error
type: object
properties:
error:
type: string
securitySchemes:
api_key:
type: apiKey
name: x-spree-api-key
in: header
description: Secret API key for admin access
bearer_auth:
type: http
scheme: bearer
bearerFormat: JWT
description: JWT token for admin user authentication
x-tagGroups:
- name: Authentication
tags:
- Authentication
- name: Products & Catalog
tags:
- Products
- Variants
- Option Types
- Custom Fields
- Channels
- name: Pricing
tags:
- Pricing
- Markets
- name: Orders & Fulfillment
tags:
- Orders
- Payments
- Fulfillments
- Refunds
- name: Customers
tags:
- Customers
- Customer Groups
- name: Promotions & Gift Cards
tags:
- Promotions
- Gift Cards
- name: Data
tags:
- Exports
- name: Configuration
tags:
- Settings
- Stock Locations
- Payment Methods
- Staff
- API Keys
- Allowed Origins
- Webhooks