Specifications for Payout and MarketPay services

This commit is contained in:
Aleksei Akimov
2018-05-17 11:21:12 +02:00
committed by GitHub
parent 5584740206
commit 289fdc011d
5 changed files with 6631 additions and 0 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,763 @@
openapi: 3.0.0
servers:
- url: 'https://cal-test.adyen.com/cal/services/Fund/v3'
info:
version: '3'
title: Adyen MarketPay Fund Service
description: |-
The MarketPay Funding API provides endpoints for managing the funds in MarketPay accounts. These management operations include actions such as the transfer of funds from one account to another, the payout of funds to an account holder, and the retrieval of balances in an account.
For further information on MarketPay fund management, please visit the [MarketPay documentation](https://docs.adyen.com/developers/marketpay/marketpay-overview).
## Authentication
To connect to the MarketPay API, you must use basic authentication credentials of your web service user. If you don't have one, please contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:
```
curl
-U "ws@Company.YourCompany":"YourWsPassword" \
-H "Content-Type: application/json" \
...
```
Note that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/developers/api-reference/live-endpoints).
## Versioning
MarketPay API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: "vXX", where XX is the version number.
For example:
```
https://cal-test.adyen.com/cal/services/Fund/v3/accountHolderBalance
```
termsOfService: 'https://docs.adyen.com/legal/terms-conditions'
contact:
name: Adyen Support
url: 'https://support.adyen.com/'
email: support@adyen.com
x-groups:
- General
paths:
/accountHolderBalance:
post:
summary: Retrieve the balance(s) of an account holder.
description: 'This endpoint is used to retrieve the balance(s) of the accounts of an account holder. An account''s balances are on a per-currency basis (i.e., an account may have multiple balances: one per currency).'
x-groupName: General
x-sortIndex: 1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AccountHolderBalanceRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccountHolderBalanceResponse'
description: OK - the request has succeeded.
'400':
description: Bad Request - a problem reading or understanding the request.
'401':
description: Unauthorized - authentication required.
'403':
description: Forbidden - insufficient permissions to process the request.
'422':
description: Unprocessable Entity - a request validation error.
'500':
description: Internal Server Error - the server could not process the request.
/accountHolderTransactionList:
post:
summary: Retrieve a list of transactions.
description: This endpoint is used to retrieve a list of Transactions for an account holder's accounts. The accounts and Transaction Statuses to be included on the list can be specified. Each call will return a maximum of fifty (50) Transactions per account; in order to retrieve the following set of Transactions another call should be made with the 'page' value incremented. Note that Transactions are ordered with most recent first.
x-groupName: General
x-sortIndex: 2
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AccountHolderTransactionListRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccountHolderTransactionListResponse'
description: OK - the request has succeeded.
'400':
description: Bad Request - a problem reading or understanding the request.
'401':
description: Unauthorized - authentication required.
'403':
description: Forbidden - insufficient permissions to process the request.
'422':
description: Unprocessable Entity - a request validation error.
'500':
description: Internal Server Error - the server could not process the request.
/payoutAccountHolder:
post:
summary: Disburse a specified amount from an account to the account holder.
description: This endpoint is used to pay out a specified amount from an account to the bank account of the account's account holder.
x-groupName: General
x-sortIndex: 3
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PayoutAccountHolderRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PayoutAccountHolderResponse'
description: OK - the request has succeeded.
'400':
description: Bad Request - a problem reading or understanding the request.
'401':
description: Unauthorized - authentication required.
'403':
description: Forbidden - insufficient permissions to process the request.
'422':
description: Unprocessable Entity - a request validation error.
'500':
description: Internal Server Error - the server could not process the request.
/refundNotPaidOutTransfers:
post:
summary: Refund all transactions of an account since the most recent payout.
description: 'This endpoint is used to refund all the transactions of an account which have taken place since the most recent payout. This request is on a per-account basis (as opposed to a per-payment basis), so only the portion of the payment which was made to the specified account will be refunded. The commission(s), fee(s), and payment(s) to other account(s), will remain in the accounts to which they were sent as designated by the original payment''s split details.'
x-groupName: General
x-sortIndex: 6
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RefundNotPaidOutTransfersRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RefundNotPaidOutTransfersResponse'
description: OK - the request has succeeded.
'400':
description: Bad Request - a problem reading or understanding the request.
'401':
description: Unauthorized - authentication required.
'403':
description: Forbidden - insufficient permissions to process the request.
'422':
description: Unprocessable Entity - a request validation error.
'500':
description: Internal Server Error - the server could not process the request.
/setupBeneficiary:
post:
summary: Designate an account to be the beneficiary of a separate account and transfer the benefactor's current balance to the beneficiary.
description: 'This endpoint is used to define a benefactor and a beneficiary relationship between two accounts. At the time of benefactor/beneficiary setup, the funds in the benefactor account are transferred to the beneficiary account, and any further payments to the benefactor account are automatically sent to the beneficiary account. Note that a series of benefactor/beneficiaries may not exceed four (4) beneficiaries and may not have a cycle in it.'
x-groupName: General
x-sortIndex: 5
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetupBeneficiaryRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SetupBeneficiaryResponse'
description: OK - the request has succeeded.
'400':
description: Bad Request - a problem reading or understanding the request.
'401':
description: Unauthorized - authentication required.
'403':
description: Forbidden - insufficient permissions to process the request.
'422':
description: Unprocessable Entity - a request validation error.
'500':
description: Internal Server Error - the server could not process the request.
/transferFunds:
post:
summary: Transfer funds from one marketplace account to another.
description: 'This endpoint is used to transfer funds from one account to another account. Both accounts must be in the same marketplace, but can have different account holders. The transfer must include a transfer code, which should be determined by the marketplace, in compliance with local regulations.'
x-groupName: General
x-sortIndex: 4
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransferFundsRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TransferFundsResponse'
description: OK - the request has succeeded.
'400':
description: Bad Request - a problem reading or understanding the request.
'401':
description: Unauthorized - authentication required.
'403':
description: Forbidden - insufficient permissions to process the request.
'422':
description: Unprocessable Entity - a request validation error.
'500':
description: Internal Server Error - the server could not process the request.
components:
schemas:
AccountDetailBalance:
properties:
accountCode:
description: The code of the account that holds the balance.
type: string
detailBalance:
description: Details of the balance held by the account.
$ref: '#/components/schemas/DetailBalance'
AccountHolderBalanceRequest:
properties:
accountHolderCode:
description: The code of the Account Holder of which to retrieve the balance.
type: string
required:
- accountHolderCode
AccountHolderBalanceResponse:
properties:
balancePerAccount:
description: A list of each account and their balances.
items:
$ref: '#/components/schemas/AccountDetailBalance'
type: array
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
resultCode:
description: The result code.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
totalBalance:
description: The total balance of the account holder.
$ref: '#/components/schemas/DetailBalance'
required:
- pspReference
- submittedAsync
- resultCode
AccountHolderTransactionListRequest:
properties:
accountHolderCode:
description: The code of the Account Holder that owns the account(s) of which retrieve the transaction list.
type: string
transactionListsPerAccount:
description: 'A list of accounts to include in the transaction list. If left blank, the last fifty (50) transactions for all accounts of the Account Holder will be included.'
items:
$ref: '#/components/schemas/TransactionListForAccount'
type: array
transactionStatuses:
description: |-
A list of statuses to include in the transaction list. If left blank, all transactions will be included.
>Permitted values: `PendingCredit`, `CreditFailed`, `Credited`, `Converted`, `PendingDebit`, `DebitFailed`, `Debited`, `DebitReversedReceived`, `DebitedReversed`, `ChargebackReceived`, `Chargeback`, `ChargebackReversedReceived`, `ChargebackReversed`, `Payout`, `PayoutReversed`, `FundTransfer`, `PendingFundTransfer`.
>* `PendingCredit`: a pending balance credit.
>* `CreditFailed`: a pending credit failure; the balance will not be credited.
>* `Credited`: a credited balance.
>* `PendingDebit`: a pending balance debit (e.g., a refund).
>* `DebitFailed`: a pending debit failure; the balance will not be debited.
>* `Debited`: a debited balance (e.g., a refund).
>* `DebitReversedReceived`: a pending refund reversal.
>* `DebitedReversed`: a reversed refund.
>* `ChargebackReceived`: a received chargeback request.
>* `Chargeback`: a processed chargeback.
>* `ChargebackReversedReceived`: a pending chargeback reversal.
>* `ChargebackReversed`: a reversed chargeback.
>* `Payout`: a payout.
>* `PayoutReversed`: a reversed payout.
>* `FundTransfer`: the transfer of funds from one account to another.
items:
enum:
- Chargeback
- ChargebackReceived
- ChargebackReversed
- ChargebackReversedReceived
- Converted
- CreditFailed
- Credited
- DebitFailed
- DebitReversedReceived
- Debited
- DebitedReversed
- FundTransfer
- Payout
- PayoutReversed
- PendingCredit
- PendingDebit
- PendingFundTransfer
type: string
type: array
required:
- accountHolderCode
AccountHolderTransactionListResponse:
properties:
accountTransactionLists:
description: A list of the transactions.
items:
$ref: '#/components/schemas/AccountTransactionList'
type: array
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
resultCode:
description: The result code.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
- resultCode
AccountTransactionList:
properties:
accountCode:
description: The code of the account.
type: string
hasNextPage:
description: Indicates whether there is a next page of transactions available.
type: boolean
transactions:
description: The list of transactions.
items:
$ref: '#/components/schemas/Transaction'
type: array
Amount:
properties:
currency:
description: 'The three-character [ISO currency code](https://docs.adyen.com/developers/currency-codes).'
maxLength: 3
minLength: 3
type: string
value:
description: |-
The payable amount that can be charged for the transaction.
The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/developers/currency-codes).
format: int64
type: integer
required:
- value
- currency
BankAccountDetail:
properties:
accountNumber:
description: |-
The bank account number (without separators).
>Please refer to the KYC Verification section for details on field requirements.
type: string
accountType:
description: |-
The type of bank account.
Only applicable to bank accounts held in the USA.
The permitted values are: `checking`, `savings`.
>Please refer to the KYC Verification section for details on field requirements.
type: string
bankAccountName:
description: The name of the bank account.
type: string
bankAccountUUID:
description: |
The unique identifier (UUID) of the Bank Account.
>**If, during an Account Holder create or update request, this field is left blank (but other fields provided), a new Bank Account will be created with a procedurally-generated UUID.**
>**If, during an Account Holder create request, a UUID is provided, the creation of the Bank Account will fail while the creation of the Account Holder will continue.**
>**If, during an Account Holder update request, a UUID that is not correlated with an existing Bank Account is provided, the update of the Account Holder will fail.**
>**If, during an Account Holder update request, a UUID that is correlated with an existing Bank Account is provided, the existing Bank Account will be updated.**
type: string
bankBicSwift:
description: |-
The bank identifier code.
>Please refer to the KYC Verification section for details on field requirements.
type: string
bankCity:
description: |-
The city in which the bank branch is located.
>Please refer to the KYC Verification section for details on field requirements.
type: string
bankCode:
description: |-
The bank code of the banking institution with which the bank account is registered.
>Please refer to the KYC Verification section for details on field requirements.
type: string
bankName:
description: |-
The name of the banking institution with which the bank account is held.
>Please refer to the KYC Verification section for details on field requirements.
type: string
branchCode:
description: |-
The branch code of the branch under which the bank account is registered.
>Please refer to the KYC Verification section for details on field requirements.
type: string
checkCode:
description: |-
The check code of the bank account.
>Please refer to the KYC Verification section for details on field requirements.
type: string
countryCode:
description: |-
The two-letter country code in which the bank account is registered.
>The permitted country codes are defined in ISO-3166-1 alpha-2 (e.g. 'NL').
>Please refer to the KYC Verification section for details on field requirements.
type: string
currencyCode:
description: |-
The currency in which the bank account deals.
>The permitted currency codes are defined in ISO-4217 (e.g. 'EUR').
>Please refer to the KYC Verification section for details on field requirements.
type: string
iban:
description: |-
The international bank account number.
>The IBAN standard is defined in ISO-13616.
>Please refer to the KYC Verification section for details on field requirements.
type: string
ownerCity:
description: |-
The city of residence of the bank account owner.
>Please refer to the KYC Verification section for details on field requirements.
type: string
ownerCountryCode:
description: |-
The country code of the country of residence of the bank account owner.
>The permitted country codes are defined in ISO-3166-1 alpha-2 (e.g. 'NL').
>Please refer to the KYC Verification section for details on field requirements.
type: string
ownerDateOfBirth:
description: |
The date of birth of the bank account owner.
type: string
ownerHouseNumberOrName:
description: |-
The house name or number of the residence of the bank account owner.
>Please refer to the KYC Verification section for details on field requirements.
type: string
ownerName:
description: |-
The name of the bank account owner.
>Please refer to the KYC Verification section for details on field requirements.
type: string
ownerNationality:
description: |-
The country code of the country of nationality of the bank account owner.
>The permitted country codes are defined in ISO-3166-1 alpha-2 (e.g. 'NL').
>Please refer to the KYC Verification section for details on field requirements.
type: string
ownerPostalCode:
description: |-
The postal code of the residence of the bank account owner.
>Please refer to the KYC Verification section for details on field requirements.
type: string
ownerState:
description: |-
The state of residence of the bank account owner.
>Please refer to the KYC Verification section for details on field requirements.
type: string
ownerStreet:
description: |-
The street name of the residence of the bank account owner.
>Please refer to the KYC Verification section for details on field requirements.
type: string
primaryAccount:
description: 'If set to true, the bank account is a primary account.'
type: boolean
taxId:
description: |-
The tax ID number.
>Please refer to the KYC Verification section for details on field requirements.
type: string
urlForVerification:
description: |-
The URL to be used for bank account verification.
This may be generated on bank account creation.
>Please refer to the KYC Verification section for details on field requirements.
type: string
DetailBalance:
properties:
balance:
description: The list of balances held by the account.
items:
$ref: '#/components/schemas/Amount'
type: array
pendingBalance:
description: The list of pending balances held by the account.
items:
$ref: '#/components/schemas/Amount'
type: array
PayoutAccountHolderRequest:
properties:
accountCode:
description: The code of the account from which the payout is to be made.
type: string
accountHolderCode:
description: |-
The code of the Account Holder who owns the account from which the payout is to be made.
The Account Holder is the party to which the payout will be made.
type: string
amount:
description: The amount to pay out.
$ref: '#/components/schemas/Amount'
bankAccountUUID:
description: |-
The unique ID of the Bank Account held by the Account Holder to which the payout is to be made.
If left blank, a bank account is automatically selected.
type: string
description:
description: A description of the payout.
type: string
merchantReference:
description: A value that can be supplied at the discretion of the executing user in order to link multiple transactions to one another.
type: string
required:
- accountHolderCode
- accountCode
- amount
PayoutAccountHolderResponse:
properties:
bankAccountUUID:
description: The unique ID of the Bank Account to which the payout was made.
type: string
merchantReference:
description: The value supplied by the executing user when initiating the transfer; may be used to link multiple transactions.
type: string
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
- bankAccountUUID
RefundNotPaidOutTransfersRequest:
properties:
accountCode:
description: The code of the account from which to perform the refund(s).
type: string
accountHolderCode:
description: The code of the Account Holder which owns the account from which to perform the refund(s).
type: string
required:
- accountHolderCode
- accountCode
RefundNotPaidOutTransfersResponse:
properties:
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
resultCode:
description: The result code.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
- resultCode
SetupBeneficiaryRequest:
properties:
destinationAccountCode:
description: The destination account code.
type: string
merchantReference:
description: A value that can be supplied at the discretion of the executing user.
type: string
sourceAccountCode:
description: The benefactor account.
type: string
required:
- sourceAccountCode
- destinationAccountCode
- merchantReference
SetupBeneficiaryResponse:
properties:
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
resultCode:
description: The result code.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
Transaction:
properties:
amount:
description: The amount of the transaction.
$ref: '#/components/schemas/Amount'
bankAccountDetail:
description: The details of the Bank Account to where a payout was made.
$ref: '#/components/schemas/BankAccountDetail'
captureMerchantReference:
description: The merchant reference of a related capture.
type: string
capturePspReference:
description: The psp reference of a related capture.
type: string
creationDate:
description: The date on which the transaction was performed.
format: date-time
type: string
description:
description: A description of the transaction.
type: string
destinationAccountCode:
description: The code of the account to which funds were credited during an outgoing fund transfer.
type: string
disputePspReference:
description: The psp reference of the related dispute.
type: string
disputeReasonCode:
description: The reason code of a dispute.
type: string
merchantReference:
description: The merchant reference of a transaction.
type: string
paymentPspReference:
description: The psp reference of the related authorisation or transfer.
type: string
payoutPspReference:
description: The psp reference of the related payout.
type: string
pspReference:
description: The psp reference of a transaction.
type: string
sourceAccountCode:
description: The code of the account from which funds were debited during an incoming fund transfer.
type: string
transactionStatus:
description: |-
The status of the transaction.
>Permitted values: `PendingCredit`, `CreditFailed`, `Credited`, `Converted`, `PendingDebit`, `DebitFailed`, `Debited`, `DebitReversedReceived`, `DebitedReversed`, `ChargebackReceived`, `Chargeback`, `ChargebackReversedReceived`, `ChargebackReversed`, `Payout`, `PayoutReversed`, `FundTransfer`, `PendingFundTransfer`.
enum:
- Chargeback
- ChargebackReceived
- ChargebackReversed
- ChargebackReversedReceived
- Converted
- CreditFailed
- Credited
- DebitFailed
- DebitReversedReceived
- Debited
- DebitedReversed
- FundTransfer
- Payout
- PayoutReversed
- PendingCredit
- PendingDebit
- PendingFundTransfer
type: string
transferCode:
description: The transfer code of the transaction.
type: string
TransactionListForAccount:
properties:
accountCode:
description: The account for which to retrieve the transactions.
type: string
page:
description: |-
The page of transactions to retrieve.
Each page lists fifty (50) transactions. The most recent transactions are included on page 1.
format: int32
type: integer
required:
- accountCode
- page
TransferFundsRequest:
properties:
amount:
description: The amount to be transferred.
$ref: '#/components/schemas/Amount'
destinationAccountCode:
description: |-
The code of the account to which the funds are to be credited.
>The state of the Account Holder of this account must be Active.
type: string
merchantReference:
description: A value that can be supplied at the discretion of the executing user in order to link multiple transactions to one another.
type: string
sourceAccountCode:
description: |-
The code of the account from which the funds are to be debited.
>The state of the Account Holder of this account must be Active and allow payouts.
type: string
transferCode:
description: |-
The code related to the type of transfer being performed.
>The permitted codes differ for each Marketplace and are defined in their service level agreement.
type: string
required:
- sourceAccountCode
- destinationAccountCode
- transferCode
- amount
TransferFundsResponse:
properties:
merchantReference:
description: The value supplied by the executing user when initiating the transfer; may be used to link multiple transactions.
type: string
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
resultCode:
description: The result code.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
- resultCode

View File

@@ -0,0 +1,416 @@
openapi: 3.0.0
servers:
- url: 'https://cal-test.adyen.com/cal/services/Notification/v1'
info:
version: '1'
title: Adyen MarketPay Notification Configuration Service
description: |-
The MarketPay Notification Configuration API provides endpoints for configuration a subscription to a marketplace's MarketPay-related notifications. Notifications are sent upon the occurrence of certain events (such as a KYC check completion or a payout completion), and the subscription to these notifications dictates to where they are sent.
For further information on MarketPay notifications, please visit the [MarketPay documentation](https://docs.adyen.com/developers/marketpay/marketpay-overview).
## Authentication
To connect to the MarketPay API, you must use basic authentication credentials of your web service user. If you don't have one, please contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:
```
curl
-U "ws@Company.YourCompany":"YourWsPassword" \
-H "Content-Type: application/json" \
...
```
Note that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/developers/api-reference/live-endpoints).
## Versioning
MarketPay API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: "vXX", where XX is the version number.
For example:
```
https://cal-test.adyen.com/cal/services/Notification/v1/createNotificationConfiguration
```
termsOfService: 'https://docs.adyen.com/legal/terms-conditions'
contact:
name: Adyen Support
url: 'https://support.adyen.com/'
email: support@adyen.com
x-groups:
- General
paths:
/createNotificationConfiguration:
post:
summary: Configure a new subscription to notifications.
description: 'This endpoint is used to create a subscription to MarketPay event notifications. After the subscription is created, the events specified in the configuration will be sent to the URL specified in the configuration. Subscriptions must be configured on a per-event basis (as opposed to, for example, a per-account holder basis), so all event notifications of a marketplace and of a given type will be sent to the same endpoint(s). A marketplace may have multiple endpoints if desired; an event notification may be sent to as many or as few different endpoints as configured.'
x-groupName: General
x-sortIndex: 1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNotificationConfigurationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetNotificationConfigurationResponse'
description: OK - the request has succeeded.
/deleteNotificationConfigurations:
post:
summary: Delete an existing notification subscription configuration.
description: 'This endpoint is used to delete an existing notification subscription configuration. After the subscription is deleted, no further event notifications will be sent to the URL that was in the subscription.'
x-groupName: General
x-sortIndex: 6
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteNotificationConfigurationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
description: OK - the request has succeeded.
/getNotificationConfiguration:
post:
summary: Retrieve an existing notification subscription configuration.
description: This endpoint is used to retrieve the details of the configuration of a notification subscription.
x-groupName: General
x-sortIndex: 2
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GetNotificationConfigurationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetNotificationConfigurationResponse'
description: OK - the request has succeeded.
/getNotificationConfigurationList:
post:
summary: Retrive a list of existing notification subscription configurations.
description: This endpoint is used to retrieve the details of the configurations of all of the notification subscriptions in the marketplace of the executing user.
x-groupName: General
x-sortIndex: 3
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EmptyRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetNotificationConfigurationListResponse'
description: OK - the request has succeeded.
/testNotificationConfiguration:
post:
summary: Test an existing notification configuration.
description: 'This endpoint is used to test an existing notification subscription configuration. For each event type specified, a test notification will be generated and sent to the URL configured in the subscription specified.'
x-groupName: General
x-sortIndex: 4
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TestNotificationConfigurationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TestNotificationConfigurationResponse'
description: OK - the request has succeeded.
/updateNotificationConfiguration:
post:
summary: Update an existing notification subscription configuration.
description: 'This endpoint is used to update an existing notification subscription configuration. If updating the event types, all event types desired must be provided, otherwise the previous event type configuration will be overwritten.'
x-groupName: General
x-sortIndex: 5
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateNotificationConfigurationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetNotificationConfigurationResponse'
description: OK - the request has succeeded.
components:
schemas:
CreateNotificationConfigurationRequest:
properties:
configurationDetails:
description: Details of the prospective notification subscription configuration.
$ref: '#/components/schemas/NotificationConfigurationDetails'
required:
- configurationDetails
DeleteNotificationConfigurationRequest:
properties:
notificationIds:
description: A list of IDs of the notification subscription configurations to be deleted.
items:
format: int64
type: integer
type: array
required:
- notificationIds
EmptyRequest: {}
ExchangeMessage:
properties:
messageCode:
type: string
messageDescription:
type: string
GenericResponse:
properties:
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
GetNotificationConfigurationListResponse:
properties:
configurations:
description: Details of the notification subscription configurations.
items:
$ref: '#/components/schemas/NotificationConfigurationDetails'
type: array
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
- configurations
GetNotificationConfigurationRequest:
properties:
notificationId:
description: The ID of the notification subscription configuration whose details are to be retrieved.
format: int64
type: integer
required:
- notificationId
GetNotificationConfigurationResponse:
properties:
configurationDetails:
description: Details of the notification subscription configuration.
$ref: '#/components/schemas/NotificationConfigurationDetails'
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
- configurationDetails
NotificationConfigurationDetails:
properties:
active:
description: Indicates whether the notification subscription is active.
type: boolean
apiVersion:
description: The API version of the notification to send.
format: int32
type: integer
description:
description: |-
A description of the notification subscription configuration.
>Required when creating a configuration, forbidden when updating a configuration.
type: string
eventConfigs:
description: The types of events whose notifications apply to this configuration.
items:
$ref: '#/components/schemas/NotificationEventConfiguration'
type: array
notificationId:
description: |-
The ID of the configuration.
>Required if updating an existing configuration, ignored during the creation of a configuration.
format: int64
type: integer
notifyPassword:
description: The password to use when accessing the notifyURL with the specified username.
type: string
notifyURL:
description: The URL to which the notifications are to be sent.
type: string
notifyUsername:
description: The username to use when accessing the notifyURL.
type: string
sslProtocol:
description: |-
The SSL protocol employed by the endpoint.
>Permitted values: `SSL`, `SSLv3`, `SSLInsecureCiphers`, `TLS`, `TLSv10`, `TLSv10InsecureCiphers`, `TLSv11`, `TLSv12`.
enum:
- SSL
- SSLInsecureCiphers
- SSLv3
- TLS
- TLSv10
- TLSv10InsecureCiphers
- TLSv11
- TLSv12
type: string
required:
- eventConfigs
- notifyURL
NotificationEventConfiguration:
properties:
eventType:
description: |-
The type of event triggering the notification.
>Permitted values: `ACCOUNT_HOLDER_CREATED`, `ACCOUNT_CREATED`, `ACCOUNT_UPDATED`, `ACCOUNT_HOLDER_UPDATED`, `ACCOUNT_HOLDER_STATUS_CHANGE`, `ACCOUNT_HOLDER_VERIFICATION`, `ACCOUNT_HOLDER_LIMIT_REACHED`, `ACCOUNT_HOLDER_PAYOUT`, `PAYMENT_FAILURE`, `SCHEDULED_REFUNDS`, `REPORT_AVAILABLE`, `TRANSFER_FUNDS`, `BENEFICIARY_SETUP`, `COMPENSATE_NEGATIVE_BALANCE`.
enum:
- ACCOUNT_CREATED
- ACCOUNT_HOLDER_CREATED
- ACCOUNT_HOLDER_LIMIT_REACHED
- ACCOUNT_HOLDER_PAYOUT
- ACCOUNT_HOLDER_STATUS_CHANGE
- ACCOUNT_HOLDER_UPDATED
- ACCOUNT_HOLDER_VERIFICATION
- ACCOUNT_UPDATED
- BENEFICIARY_SETUP
- COMPENSATE_NEGATIVE_BALANCE
- PAYMENT_FAILURE
- REPORT_AVAILABLE
- SCHEDULED_REFUNDS
- TRANSFER_FUNDS
type: string
includeMode:
description: |-
Indicates whether the specified eventType is to be sent to the endpoint or all events other than the specified eventType (and other specified eventTypes) are to be sent.
>Permitted values: `INCLUDE`, `EXCLUDE`.
>- `INCLUDE`: send the specified eventType.
>- `EXCLUDE`: send all eventTypes other than the specified eventType (and other eventTypes marked with `EXCLUDE`).
enum:
- EXCLUDE
- INCLUDE
type: string
required:
- eventType
- includeMode
TestNotificationConfigurationRequest:
properties:
eventTypes:
description: |-
The event types to test. If left blank, then all of the configured event types will be tested.
>Permitted values: `ACCOUNT_HOLDER_CREATED`, `ACCOUNT_CREATED`, `ACCOUNT_UPDATED`, `ACCOUNT_HOLDER_UPDATED`, `ACCOUNT_HOLDER_STATUS_CHANGE`, `ACCOUNT_HOLDER_VERIFICATION`, `ACCOUNT_HOLDER_LIMIT_REACHED`, `ACCOUNT_HOLDER_PAYOUT`, `PAYMENT_FAILURE`, `SCHEDULED_REFUNDS`, `REPORT_AVAILABLE`, `TRANSFER_FUNDS`, `BENEFICIARY_SETUP`, `COMPENSATE_NEGATIVE_BALANCE`.
items:
enum:
- ACCOUNT_CREATED
- ACCOUNT_HOLDER_CREATED
- ACCOUNT_HOLDER_LIMIT_REACHED
- ACCOUNT_HOLDER_PAYOUT
- ACCOUNT_HOLDER_STATUS_CHANGE
- ACCOUNT_HOLDER_UPDATED
- ACCOUNT_HOLDER_VERIFICATION
- ACCOUNT_UPDATED
- BENEFICIARY_SETUP
- COMPENSATE_NEGATIVE_BALANCE
- PAYMENT_FAILURE
- REPORT_AVAILABLE
- SCHEDULED_REFUNDS
- TRANSFER_FUNDS
type: string
type: array
notificationId:
description: The ID of the notification subscription configuration to be tested.
format: int64
type: integer
required:
- notificationId
TestNotificationConfigurationResponse:
properties:
errorMessages:
description: Any error messages encountered.
items:
type: string
type: array
eventTypes:
description: |-
The event types that were tested.
>Permitted values: `ACCOUNT_HOLDER_CREATED`, `ACCOUNT_CREATED`, `ACCOUNT_UPDATED`, `ACCOUNT_HOLDER_UPDATED`, `ACCOUNT_HOLDER_STATUS_CHANGE`, `ACCOUNT_HOLDER_VERIFICATION`, `ACCOUNT_HOLDER_LIMIT_REACHED`, `ACCOUNT_HOLDER_PAYOUT`, `PAYMENT_FAILURE`, `SCHEDULED_REFUNDS`, `REPORT_AVAILABLE`, `TRANSFER_FUNDS`, `BENEFICIARY_SETUP`, `COMPENSATE_NEGATIVE_BALANCE`.
items:
enum:
- ACCOUNT_CREATED
- ACCOUNT_HOLDER_CREATED
- ACCOUNT_HOLDER_LIMIT_REACHED
- ACCOUNT_HOLDER_PAYOUT
- ACCOUNT_HOLDER_STATUS_CHANGE
- ACCOUNT_HOLDER_UPDATED
- ACCOUNT_HOLDER_VERIFICATION
- ACCOUNT_UPDATED
- BENEFICIARY_SETUP
- COMPENSATE_NEGATIVE_BALANCE
- PAYMENT_FAILURE
- REPORT_AVAILABLE
- SCHEDULED_REFUNDS
- TRANSFER_FUNDS
type: string
type: array
exchangeMessages:
description: The notification message and related response messages.
items:
$ref: '#/components/schemas/ExchangeMessage'
type: array
notificationId:
description: The ID of the notification subscription configuration.
format: int64
type: integer
okMessages:
description: A list of messages describing the testing steps.
items:
type: string
type: array
pspReference:
description: The reference of a request. Can be used to uniquely identify the request.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed synchronously or asynchronously. Depending on the request's marketplace settings, the following scenarios may be applied:
* **sync:** The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
* **async:** The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **asyncOnError:** The processing of the request is immediately attempted, but if the providing service is unavailable, the request is scheduled in a queue.
type: boolean
required:
- pspReference
- submittedAsync
- notificationId
- eventTypes
- okMessages
- exchangeMessages
UpdateNotificationConfigurationRequest:
properties:
configurationDetails:
description: Details of the notification subscription configuration to be updated.
$ref: '#/components/schemas/NotificationConfigurationDetails'
required:
- configurationDetails

File diff suppressed because it is too large Load Diff