mirror of
https://github.com/gcatanese/adyen-openapi.git
synced 2026-03-10 08:01:24 +00:00
146 lines
6.3 KiB
YAML
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
|