Files
adyen-openapi/yaml/SessionService-v68.yaml
Adyen Automation 586d75ae5d spec release
2024-05-16 09:36:05 +02:00

146 lines
6.3 KiB
YAML

openapi: 3.1.0
servers:
- url: https://checkout-test.adyen.com/checkout/possdk/v68
info:
version: '68'
x-publicVersion: true
title: POS Mobile API
description: "The POS Mobile API is used in the mutual authentication flow between\
\ an Adyen Android or iOS [POS Mobile SDK](https://docs.adyen.com/point-of-sale/ipp-mobile/)\
\ and the Adyen payments platform.\nThe POS Mobile SDK for Android or iOS devices\
\ enables businesses to accept in-person payments using a commercial off-the-shelf\
\ (COTS) device like a phone. For example, Tap to Pay transactions, or transactions\
\ on a mobile device in combination with a card reader.\n\n## Authentication\n\
Each request to the POS Mobile 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.\n\
You also need to have a [client key](https://docs.adyen.com/development-resources/client-side-authentication/).\
\ The client key is part of the setup but you won't need to use it in your integration\
\ later. Therefore, you don't need to specify allowed origins, and you don't need\
\ to store the key in your system. \nTo access the live endpoints, you need to\
\ generate a new API key and client key in your live Customer Area.\n## Versioning\n\
\nThe POS Mobile API handles versioning as part of the endpoint URL.\n\nFor example:\n\
```\nhttps://checkout-test.adyen.com/checkout/possdk/v68/sessions\n```\n\n## Going\
\ live\n\nTo access the live endpoints, you need an API key and client key from\
\ your live Customer Area.\n\nThe live endpoint URLs contain a prefix which is\
\ unique to your company account, for example:\n```\nhttps://{PREFIX}-checkout-live.adyenpayments.com/checkout/possdk/v68/sessions\n\
```\n\n\n\n\n\n"
termsOfService: https://www.adyen.com/legal/terms-and-conditions
contact:
name: Adyen Developer Experience team
url: https://github.com/Adyen/adyen-openapi
tags:
- name: General
paths:
/sessions:
post:
tags:
- General
summary: Create a communication session
description: "Establishes a secure communications session between the POS Mobile\
\ SDK and the Adyen payments platform, through mutual authentication. \nThe\
\ request sends a setup token that identifies the SDK and the device. The\
\ response returns a session token that the SDK can use to authenticate responses\
\ received from the Adyen payments platform.\n>This request applies to **mobile\
\ in-person** transactions. You cannot use this request to create online payments\
\ sessions. \n\n"
x-addedInVersion: '68'
operationId: post-sessions
x-sortIndex: 0
x-methodName: createCommunicationSession
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
createAuthSession:
$ref: '#/components/examples/post-sessions-createAuthSession'
schema:
$ref: '#/components/schemas/CreateSessionRequest'
responses:
'201':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/post-sessions-generic-201'
schema:
$ref: '#/components/schemas/CreateSessionResponse'
description: Created - the request has been fulfilled and has resulted in
one or more new resources being created.
components:
schemas:
CreateSessionRequest:
additionalProperties: false
properties:
merchantAccount:
description: The unique identifier of your merchant account.
type: string
setupToken:
description: "The setup token provided by the POS Mobile SDK. \n- When using\
\ the Android POS Mobile SDK, obtain the token through the `AuthenticationService.authenticate(setupToken)`\
\ callback of `AuthenticationService`. \n- When using the iOS POS Mobile\
\ SDK, obtain the token through the `PaymentServiceDelegate.register(with:)`\
\ callback of `PaymentServiceDelegate`."
maxLength: 50000
type: string
store:
description: The unique identifier of the store that you want to process
transactions for.
type: string
required:
- merchantAccount
- setupToken
type: object
CreateSessionResponse:
additionalProperties: false
properties:
id:
description: The unique identifier of the session.
type: string
installationId:
description: The unique identifier of the SDK installation. If you create
the [Terminal API](https://docs.adyen.com/point-of-sale/design-your-integration/terminal-api/)
transaction request on your backend, use this as the `POIID` in the `MessageHeader`
of the request.
type: string
merchantAccount:
description: The unique identifier of your merchant account.
type: string
sdkData:
description: The data that the SDK uses to authenticate responses from the
Adyen payments platform. Pass this value to your POS app.
type: string
store:
description: The unique identifier of the store that you want to process
transactions for.
type: string
type: object
securitySchemes:
ApiKeyAuth:
in: header
name: X-API-Key
type: apiKey
BasicAuth:
scheme: basic
type: http
examples:
post-sessions-createAuthSession:
summary: Create a communication session
description: Establish a communication session between the POS Mobile SDK and
the Adyen payments platform
value:
merchantAccount: YOUR_MERCHANT_ACCOUNT
setupToken: SETUP_TOKEN
store: YOUR_STORE_ID
post-sessions-generic-201:
summary: Example response for request 'createAuthSession'
value:
id: APP_SESSION_ID
installationId: INSTALLATION_ID
merchantAccount: YOUR_MERCHANT_ACCOUNT
store: YOUR_STORE_ID
sdkData: SDK_DATA_BLOB