Files
adyen-openapi/yaml/PaymentsAppService-v1.yaml
Adyen Automation 07c5486049 spec release
2025-02-12 10:54:14 +01:00

535 lines
18 KiB
YAML

openapi: 3.1.0
servers:
- url: https://management-live.adyen.com/v1
description: Live Environment
- url: https://management-test.adyen.com/v1
description: Test Environment
info:
title: Payments App API
description: 'Board and manage the Adyen Payments App on your Android mobile devices.
## Authentication
Each request to the Payments App API must be signed with an API key. [Generate
your API key](https://docs.adyen.com/development-resources/api-credentials#generate-api-key)
in the Customer Area and then set this key to the `X-API-Key` header value.
## Versioning
Payments App API handles versioning as part of the endpoint URL. For example,
to send a request to this version of the `/merchants/{merchantId}/generatePaymentsAppBoardingToken`
endpoint, use:
```text
https://management-test.adyen.com/v1/merchants/{merchantId}/generatePaymentsAppBoardingToken
```
## Going live
To access the live endpoints, you need an API key from your live Customer Area.
Use this API key to make requests to:
```text
https://management-live.adyen.com/v{version}
```
'
termsOfService: https://www.adyen.com/legal/terms-and-conditions
contact:
name: Adyen Developer Experience team
url: https://github.com/Adyen/adyen-openapi
version: '1'
x-timestamp: '2025-02-11T15:31:29Z'
tags:
- name: Payments App
paths:
/merchants/{merchantId}/generatePaymentsAppBoardingToken:
post:
tags:
- Payments App
summary: Create a boarding token - merchant level
description: "Creates a boarding token used to authenticate the installation\
\ of a Payments App instance on an Android device. The boarding token is created\
\ for the `boardingRequestToken` of the Payments App for the merchant account\
\ identified in the path. \n\nTo make this request, your API credential must\
\ have the following [role](https://docs.adyen.com/development-resources/api-credentials#api-permissions):\n\
* Adyen Payments App role\n"
operationId: post-merchants-merchantId-generatePaymentsAppBoardingToken
parameters:
- name: merchantId
in: path
description: The unique identifier of the merchant account.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BoardingTokenRequest'
required: true
responses:
'200':
description: OK - the request has succeeded.
content:
application/json:
schema:
$ref: '#/components/schemas/BoardingTokenResponse'
'400':
description: Bad Request - a problem reading or understanding the request.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
'401':
description: Unauthorized - authentication required.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
'403':
description: Forbidden - insufficient permissions to process the request.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
'422':
description: Unprocessable Entity - a request validation error.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
'500':
description: Internal Server Error - the server could not process the request.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
x-methodName: generatePaymentsAppBoardingTokenForMerchant
x-sortIndex: 0
/merchants/{merchantId}/stores/{storeId}/generatePaymentsAppBoardingToken:
post:
tags:
- Payments App
summary: Create a boarding token - store level
description: 'Creates a boarding token used to authenticate the installation
of a Payments App instance on an Android device. The boarding token is created
for the `boardingRequestToken` of the Payments App for the store identified
in the path.
To make this request, your API credential must have the following [role](https://docs.adyen.com/development-resources/api-credentials#api-permissions):
* Adyen Payments App role
'
operationId: post-merchants-merchantId-stores-storeId-generatePaymentsAppBoardingToken
parameters:
- name: merchantId
in: path
description: The unique identifier of the merchant account.
required: true
schema:
type: string
- name: storeId
in: path
description: The unique identifier of the store.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BoardingTokenRequest'
required: true
responses:
'200':
description: OK - the request has succeeded.
content:
application/json:
schema:
$ref: '#/components/schemas/BoardingTokenResponse'
'400':
description: Bad Request - a problem reading or understanding the request.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
'401':
description: Unauthorized - authentication required.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
'403':
description: Forbidden - insufficient permissions to process the request.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
'422':
description: Unprocessable Entity - a request validation error.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
'500':
description: Internal Server Error - the server could not process the request.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
x-methodName: generatePaymentsAppBoardingTokenForStore
x-sortIndex: 0
/merchants/{merchantId}/paymentsApps:
get:
tags:
- Payments App
summary: Get a list of Payments Apps - merchant level
description: 'Returns the list of Payments App instances for the merchant account
identified in the path.
To make this request, your API credential must have the following [role](https://docs.adyen.com/development-resources/api-credentials#api-permissions):
* Adyen Payments App role
'
operationId: get-merchants-merchantId-paymentsApps
parameters:
- name: merchantId
in: path
description: The unique identifier of the merchant account.
required: true
schema:
type: string
- name: statuses
in: query
description: "The status of the Payments App. Comma-separated list of one\
\ or more values. If no value is provided, the list returns all statuses.\
\ \n\nPossible values:\n\n* **BOARDING**\n\n * **BOARDED**\n\n * **REVOKED**"
schema:
type: string
- name: limit
in: query
description: The number of items to return.
schema:
maximum: 100
type: integer
format: int32
default: 10
- name: offset
in: query
description: The number of items to skip.
schema:
type: integer
format: int64
default: 0
responses:
'200':
description: OK - the request has succeeded.
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentsAppResponse'
'400':
description: Bad Request - a problem reading or understanding the request.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
'401':
description: Unauthorized - authentication required.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
'403':
description: Forbidden - insufficient permissions to process the request.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
'422':
description: Unprocessable Entity - a request validation error.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
'500':
description: Internal Server Error - the server could not process the request.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
x-methodName: listPaymentsAppForMerchant
x-sortIndex: 0
/merchants/{merchantId}/stores/{storeId}/paymentsApps:
get:
tags:
- Payments App
summary: Get a list of Payments Apps - store level
description: 'Returns the list of Payments App instances for the store identified
in the path.
To make this request, your API credential must have the following [role](https://docs.adyen.com/development-resources/api-credentials#api-permissions):
* Adyen Payments App role
'
operationId: get-merchants-merchantId-stores-storeId-paymentsApps
parameters:
- name: merchantId
in: path
description: The unique identifier of the merchant account.
required: true
schema:
type: string
- name: storeId
in: path
description: The unique identifier of the store.
required: true
schema:
type: string
- name: statuses
in: query
description: "The status of the Payments App. Comma-separated list of one\
\ or more values. If no value is provided, the list returns all statuses.\
\ \n\nPossible values:\n\n* **BOARDING**\n\n * **BOARDED**\n\n * **REVOKED**"
schema:
type: string
- name: limit
in: query
description: The number of items to return.
schema:
maximum: 100
type: integer
format: int32
default: 10
- name: offset
in: query
description: The number of items to skip.
schema:
type: integer
format: int64
default: 0
responses:
'200':
description: OK - the request has succeeded.
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentsAppResponse'
'400':
description: Bad Request - a problem reading or understanding the request.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
'401':
description: Unauthorized - authentication required.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
'403':
description: Forbidden - insufficient permissions to process the request.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
'422':
description: Unprocessable Entity - a request validation error.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
'500':
description: Internal Server Error - the server could not process the request.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
x-methodName: listPaymentsAppForStore
x-sortIndex: 0
/merchants/{merchantId}/paymentsApps/{installationId}/revoke:
post:
tags:
- Payments App
summary: Revoke Payments App instance authentication
description: 'Revokes the authentication of the Payments App instance for the
`installationId` and merchant account identified in the path. This call revokes
the authentication of the Payments App instance with the `installationId`
identified in the path for both merchant accounts and stores.
To make this request, your API credential must have the following [role](https://docs.adyen.com/development-resources/api-credentials#api-permissions):
* Adyen Payments App role
'
operationId: post-merchants-merchantId-paymentsApps-installationId-revoke
parameters:
- name: merchantId
in: path
description: The unique identifier of the merchant account.
required: true
schema:
type: string
- name: installationId
in: path
description: The unique identifier of the Payments App instance on a device.
required: true
schema:
type: string
responses:
'200':
description: OK - the request has succeeded.
content:
application/json: {}
'400':
description: Bad Request - a problem reading or understanding the request.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
'401':
description: Unauthorized - authentication required.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
'500':
description: Internal Server Error - the server could not process the request.
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultErrorResponseEntity'
x-methodName: revokePaymentsApp
x-sortIndex: 0
components:
schemas:
BoardingTokenResponse:
required:
- boardingToken
- installationId
type: object
properties:
boardingToken:
type: string
description: The boarding token that allows the Payments App to board.
installationId:
type: string
description: The unique identifier of the Payments App instance.
DefaultErrorResponseEntity:
type: object
properties:
detail:
type: string
description: A human-readable explanation specific to this occurrence of
the problem.
errorCode:
type: string
description: Unique business error code.
instance:
type: string
description: A URI that identifies the specific occurrence of the problem
if applicable.
invalidFields:
type: array
description: Array of fields with validation errors when applicable.
items:
$ref: '#/components/schemas/InvalidField'
requestId:
type: string
description: The unique reference for the request.
status:
type: integer
description: The HTTP status code.
format: int32
title:
type: string
description: A short, human-readable summary of the problem type.
type:
type: string
description: A URI that identifies the validation error type. It points
to human-readable documentation for the problem type.
description: Standardized error response following RFC-7807 format
externalDocs:
url: https://www.rfc-editor.org/rfc/rfc7807
InvalidField:
required:
- message
- name
- value
type: object
properties:
name:
type: string
description: The field that has an invalid value.
value:
type: string
description: The invalid value.
message:
type: string
description: Description of the validation error.
BoardingTokenRequest:
required:
- boardingRequestToken
type: object
properties:
boardingRequestToken:
type: string
description: The boardingToken request token.
PaymentsAppDto:
required:
- installationId
- merchantAccountCode
- status
type: object
properties:
installationId:
type: string
description: The unique identifier of the Payments App instance.
merchantAccountCode:
type: string
description: The account code associated with the Payments App instance.
merchantStoreCode:
type: string
description: The store code associated with the Payments App instance.
status:
type: string
description: The status of the Payments App instance.
PaymentsAppResponse:
required:
- paymentsApps
type: object
properties:
paymentsApps:
type: array
description: List of Payments Apps.
items:
$ref: '#/components/schemas/PaymentsAppDto'
securitySchemes:
ApiKeyAuth:
type: apiKey
name: X-API-Key
in: header
BasicAuth:
type: http
scheme: basic
jsonSchemaDialect: https://spec.openapis.org/oas/3.1/dialect/base