Files
adyen-openapi/yaml/RecurringService-v40.yaml
Adyen Automation 3755fe13ac spec release
2025-02-28 16:28:14 +01:00

1092 lines
41 KiB
YAML

openapi: 3.1.0
servers:
- url: https://pal-test.adyen.com/pal/servlet/Recurring/v40
info:
version: '40'
x-publicVersion: true
title: Adyen Recurring API (deprecated)
description: "> **The Recurring API is deprecated**. Use the [Checkout API recurring\
\ endpoints](https://docs.adyen.com/api-explorer/Checkout/71/post/storedPaymentMethods)\
\ instead.The Recurring APIs allow you to manage and remove your tokens or saved\
\ payment details. Tokens should be created with validation during a payment request.\n\
\nFor more information, refer to our [Tokenization documentation](https://docs.adyen.com/online-payments/tokenization).\n\
## Authentication\nYou need an [API credential](https://docs.adyen.com/development-resources/api-credentials)\
\ to authenticate to the API.\n\nIf using an API key, add an `X-API-Key` header\
\ with the API key as the value, for example:\n\n ```\ncurl\n-H \"Content-Type:\
\ application/json\" \\\n-H \"X-API-Key: YOUR_API_KEY\" \\\n...\n```\n\nAlternatively,\
\ you can use the username and password to connect to the API using basic authentication,\
\ for example:\n\n```\ncurl\n-U \"ws@Company.YOUR_COMPANY_ACCOUNT\":\"YOUR_BASIC_AUTHENTICATION_PASSWORD\"\
\ \\\n-H \"Content-Type: application/json\" \\\n...\n```\n\n## Versioning\nRecurring\
\ API supports [versioning](https://docs.adyen.com/development-resources/versioning)\
\ using a version suffix in the endpoint URL. This suffix has the following format:\
\ \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Recurring/v40/disable\n\
```\n\n## Going live\n\nTo authenticate to the live endpoints, you need an [API\
\ credential](https://docs.adyen.com/development-resources/api-credentials) from\
\ your live Customer Area.\n\nThe live endpoint URLs contain a prefix which is\
\ unique to your company account:\n```\n\nhttps://{PREFIX}-pal-live.adyenpayments.com/pal/servlet/Recurring/v40/disable\n\
```\n\nGet your `{PREFIX}` from your live Customer Area under **Developers** >\
\ **API URLs** > **Prefix**."
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:
/createPermit:
post:
tags:
- General
summary: Create new permits linked to a recurring contract.
description: Create permits for a recurring contract, including support for
defining restrictions.
x-addedInVersion: '40'
operationId: post-createPermit
x-sortIndex: 0
x-methodName: createPermit
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePermitRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePermitResult'
description: OK - the request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Bad Request - a problem reading or understanding the request.
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Unauthorized - authentication required.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Unprocessable Entity - a request validation error.
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Internal Server Error - the server could not process the request.
/disable:
post:
tags:
- General
summary: Disable stored payment details
description: 'Disables stored payment details to stop charging a shopper with
this particular recurring detail ID.
For more information, refer to [Disable stored details](https://docs.adyen.com/classic-integration/recurring-payments/disable-stored-details/).'
operationId: post-disable
x-sortIndex: 2
x-methodName: disable
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
disableARecurringContract:
$ref: '#/components/examples/post-disable-disableARecurringContract'
schema:
$ref: '#/components/schemas/DisableRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DisableResult'
description: OK - the request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Bad Request - a problem reading or understanding the request.
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Unauthorized - authentication required.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Unprocessable Entity - a request validation error.
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Internal Server Error - the server could not process the request.
/listRecurringDetails:
post:
tags:
- General
summary: Get stored payment details
description: 'Lists the stored payment details for a shopper, if there are any
available. The recurring detail ID can be used with a regular authorisation
request to charge the shopper. A summary of the payment detail is returned
for presentation to the shopper.
For more information, refer to [Retrieve stored details](https://docs.adyen.com/classic-integration/recurring-payments/retrieve-stored-details/).'
operationId: post-listRecurringDetails
x-sortIndex: 1
x-methodName: listRecurringDetails
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
listAllRecurringDetails:
$ref: '#/components/examples/post-listRecurringDetails-listAllRecurringDetails'
schema:
$ref: '#/components/schemas/RecurringDetailsRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RecurringDetailsResult'
description: OK - the request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Bad Request - a problem reading or understanding the request.
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Unauthorized - authentication required.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Unprocessable Entity - a request validation error.
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Internal Server Error - the server could not process the request.
/notifyShopper:
post:
tags:
- General
summary: Ask issuer to notify the shopper
description: Sends a request to the issuer so they can inform the shopper about
the upcoming recurring payment. This endpoint is used only for local acquiring
in India. For more information, refer to [Recurring card payments in India](https://docs.adyen.com/payment-methods/cards/cards-recurring-india).
operationId: post-notifyShopper
x-sortIndex: 4
x-methodName: notifyShopper
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
notifyShopperOfUpcomingRecurringPayment:
$ref: '#/components/examples/post-notifyShopper-notifyShopperOfUpcomingRecurringPayment'
schema:
$ref: '#/components/schemas/NotifyShopperRequest'
responses:
'200':
content:
application/json:
examples:
notifyShopperOfUpcomingRecurringPayment:
$ref: '#/components/examples/post-notifyShopper-notifyShopperOfUpcomingRecurringPayment-200'
schema:
$ref: '#/components/schemas/NotifyShopperResult'
description: OK - the request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Bad Request - a problem reading or understanding the request.
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Unauthorized - authentication required.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Unprocessable Entity - a request validation error.
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Internal Server Error - the server could not process the request.
/scheduleAccountUpdater:
post:
tags:
- General
summary: Schedule running the Account Updater
description: 'When making the API call, you can submit either the credit card
information, or the recurring detail reference and the shopper reference:
* If the card information is provided, all the sub-fields for `card` are mandatory.
* If the recurring detail reference is provided, the fields for `shopperReference`
and `selectedRecurringDetailReference` are mandatory.'
x-addedInVersion: '4'
operationId: post-scheduleAccountUpdater
x-sortIndex: 3
x-methodName: scheduleAccountUpdater
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
scheduleAccountUpdaterWithCardData:
$ref: '#/components/examples/post-scheduleAccountUpdater-scheduleAccountUpdaterWithCardData'
scheduleAccountUpdaterWithTokenData:
$ref: '#/components/examples/post-scheduleAccountUpdater-scheduleAccountUpdaterWithTokenData'
schema:
$ref: '#/components/schemas/ScheduleAccountUpdaterRequest'
responses:
'200':
content:
application/json:
examples:
scheduleAccountUpdaterWithCardData:
$ref: '#/components/examples/post-scheduleAccountUpdater-scheduleAccountUpdaterWithCardData-200'
scheduleAccountUpdaterWithTokenData:
$ref: '#/components/examples/post-scheduleAccountUpdater-scheduleAccountUpdaterWithTokenData-200'
schema:
$ref: '#/components/schemas/ScheduleAccountUpdaterResult'
description: OK - the request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Bad Request - a problem reading or understanding the request.
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Unauthorized - authentication required.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
examples:
scheduleAccountUpdaterWithTokenData:
$ref: '#/components/examples/post-scheduleAccountUpdater-scheduleAccountUpdaterWithTokenData-422'
schema:
$ref: '#/components/schemas/ServiceError'
description: Unprocessable Entity - a request validation error.
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Internal Server Error - the server could not process the request.
components:
schemas:
Address:
additionalProperties: false
properties:
city:
description: 'The name of the city. Maximum length: 3000 characters.'
maxLength: 3000
type: string
country:
description: 'The two-character ISO-3166-1 alpha-2 country code. For example,
**US**.
> If you don''t know the country or are not collecting the country from
the shopper, provide `country` as `ZZ`.'
type: string
houseNumberOrName:
description: 'The number or name of the house. Maximum length: 3000 characters.'
maxLength: 3000
type: string
postalCode:
description: A maximum of five digits for an address in the US, or a maximum
of ten characters for an address in all other countries.
type: string
stateOrProvince:
description: 'The two-character ISO 3166-2 state or province code. For example,
**CA** in the US or **ON** in Canada.
> Required for the US and Canada.'
type: string
street:
description: 'The name of the street. Maximum length: 3000 characters.
> The house number should not be included in this field; it should be
separately provided via `houseNumberOrName`.'
maxLength: 3000
type: string
required:
- street
- houseNumberOrName
- city
- postalCode
- country
type: object
Amount:
additionalProperties: false
properties:
currency:
description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes).
maxLength: 3
minLength: 3
type: string
value:
description: The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units).
format: int64
type: integer
required:
- value
- currency
type: object
BankAccount:
additionalProperties: false
properties:
bankAccountNumber:
description: The bank account number (without separators).
type: string
bankCity:
x-addedInVersion: '18'
description: The bank city.
type: string
bankLocationId:
description: The location id of the bank. The field value is `nil` in most
cases.
type: string
bankName:
description: The name of the bank.
type: string
bic:
description: The [Business Identifier Code](https://en.wikipedia.org/wiki/ISO_9362)
(BIC) is the SWIFT address assigned to a bank. The field value is `nil`
in most cases.
type: string
countryCode:
description: 'Country code where the bank is located.
A valid value is an ISO two-character country code (e.g. ''NL'').'
type: string
iban:
description: The [International Bank Account Number](https://en.wikipedia.org/wiki/International_Bank_Account_Number)
(IBAN).
type: string
ownerName:
description: "The name of the bank account holder.\nIf you submit a name\
\ with non-Latin characters, we automatically replace some of them with\
\ corresponding Latin characters to meet the FATF recommendations. For\
\ example:\n* \u03C712 is converted to ch12.\n* \xFCA is converted to\
\ euA.\n* Peter M\xF8ller is converted to Peter Mller, because banks don't\
\ accept '\xF8'.\nAfter replacement, the ownerName must have at least\
\ three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them\
\ must be a valid Latin character (A-Z, a-z). For example:\n* John17 -\
\ allowed.\n* J17 - allowed.\n* 171 - not allowed.\n* John-7 - allowed.\n\
> If provided details don't match the required format, the response returns\
\ the error message: 203 'Invalid bank account holder name'."
type: string
taxId:
x-addedInVersion: '18'
description: The bank account holder's tax ID.
type: string
type: object
Card:
additionalProperties: false
properties:
cvc:
description: "The [card verification code](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid)\
\ (1-20 characters). Depending on the card brand, it is known also as:\n\
* CVV2/CVC2 \u2013 length: 3 digits\n* CID \u2013 length: 4 digits\n>\
\ If you are using [Client-Side Encryption](https://docs.adyen.com/classic-integration/cse-integration-ecommerce),\
\ the CVC code is present in the encrypted data. You must never post the\
\ card details to the server.\n> This field must be always present in\
\ a [one-click payment request](https://docs.adyen.com/classic-integration/recurring-payments).\n\
> When this value is returned in a response, it is always empty because\
\ it is not stored."
maxLength: 20
minLength: 1
type: string
expiryMonth:
description: 'The card expiry month.
Format: 2 digits, zero-padded for single digits. For example:
* 03 = March
* 11 = November'
maxLength: 2
minLength: 1
type: string
expiryYear:
description: 'The card expiry year.
Format: 4 digits. For example: 2020'
maxLength: 4
minLength: 4
type: string
holderName:
description: The name of the cardholder, as printed on the card.
maxLength: 50
minLength: 1
type: string
issueNumber:
description: The issue number of the card (for some UK debit cards only).
maxLength: 2
minLength: 1
type: string
number:
description: 'The card number (4-19 characters). Do not use any separators.
When this value is returned in a response, only the last 4 digits of the
card number are returned.'
maxLength: 19
minLength: 4
type: string
startMonth:
description: The month component of the start date (for some UK debit cards
only).
maxLength: 2
minLength: 1
type: string
startYear:
description: The year component of the start date (for some UK debit cards
only).
maxLength: 4
minLength: 4
type: string
type: object
CreatePermitRequest:
additionalProperties: false
properties:
merchantAccount:
description: The merchant account identifier, with which you want to process
the transaction.
type: string
permits:
description: The permits to create for this recurring contract.
items:
$ref: '#/components/schemas/Permit'
type: array
recurringDetailReference:
description: The recurring contract the new permits will use.
type: string
shopperReference:
description: The shopper's reference to uniquely identify this shopper (e.g.
user ID or account ID).
type: string
required:
- merchantAccount
- shopperReference
- recurringDetailReference
- permits
type: object
CreatePermitResult:
additionalProperties: false
properties:
permitResultList:
description: List of new permits.
items:
$ref: '#/components/schemas/PermitResult'
type: array
pspReference:
description: A unique reference associated with the request. This value
is globally unique; quote it when communicating with us about this request.
type: string
type: object
DisableRequest:
additionalProperties: false
properties:
contract:
x-addedInVersion: '3'
description: 'Specify the contract if you only want to disable a specific
use.
This field can be set to one of the following values, or to their combination
(comma-separated):
* ONECLICK
* RECURRING
* PAYOUT'
type: string
merchantAccount:
description: The merchant account identifier with which you want to process
the transaction.
type: string
recurringDetailReference:
description: 'The ID that uniquely identifies the recurring detail reference.
If it is not provided, the whole recurring contract of the `shopperReference`
will be disabled, which includes all recurring details.'
type: string
shopperReference:
description: 'The ID that uniquely identifies the shopper.
This `shopperReference` must be the same as the `shopperReference` used
in the initial payment.'
type: string
required:
- merchantAccount
- shopperReference
type: object
DisableResult:
additionalProperties: false
properties:
response:
description: Depending on whether a specific recurring detail was in the
request, result is either [detail-successfully-disabled] or [all-details-successfully-disabled].
type: string
type: object
Name:
additionalProperties: false
properties:
firstName:
description: The first name.
maxLength: 80
type: string
lastName:
description: The last name.
maxLength: 80
type: string
required:
- firstName
- lastName
type: object
NotifyShopperRequest:
additionalProperties: false
properties:
amount:
description: The amount of the upcoming payment.
$ref: '#/components/schemas/Amount'
billingDate:
description: Date on which the subscription amount will be debited from
the shopper. In YYYY-MM-DD format
type: string
billingSequenceNumber:
description: Sequence of the debit. Depends on Frequency and Billing Attempts
Rule.
type: string
displayedReference:
description: Reference of Pre-debit notification that is displayed to the
shopper. Optional field. Maps to reference if missing
type: string
merchantAccount:
description: The merchant account identifier with which you want to process
the transaction.
type: string
recurringDetailReference:
description: This is the `recurringDetailReference` returned in the response
when you created the token.
type: string
reference:
description: Pre-debit notification reference sent by the merchant. This
is a mandatory field
type: string
shopperReference:
description: 'The ID that uniquely identifies the shopper.
This `shopperReference` must be the same as the `shopperReference` used
in the initial payment.'
type: string
storedPaymentMethodId:
description: This is the `recurringDetailReference` returned in the response
when you created the token.
type: string
required:
- merchantAccount
- shopperReference
- amount
- reference
type: object
NotifyShopperResult:
additionalProperties: false
properties:
displayedReference:
description: Reference of Pre-debit notification that is displayed to the
shopper
type: string
message:
description: A simple description of the `resultCode`.
type: string
pspReference:
description: The unique reference that is associated with the request.
type: string
reference:
description: Reference of Pre-debit notification sent in my the merchant
type: string
resultCode:
description: The code indicating the status of notification.
type: string
shopperNotificationReference:
description: The unique reference for the request sent downstream.
type: string
storedPaymentMethodId:
description: This is the recurringDetailReference returned in the response
when token was created
type: string
type: object
Permit:
additionalProperties: false
properties:
partnerId:
description: Partner ID (when using the permit-per-partner token sharing
model).
type: string
profileReference:
description: The profile to apply to this permit (when using the shared
permits model).
type: string
restriction:
description: Permit level restriction overrides.
$ref: '#/components/schemas/PermitRestriction'
resultKey:
description: The key to link permit requests to permit results.
type: string
validTillDate:
description: The expiry date for this permit.
format: date-time
type: string
type: object
PermitRestriction:
additionalProperties: false
properties:
maxAmount:
description: The total sum amount of one or more payments made using this
permit may not exceed this amount if set.
$ref: '#/components/schemas/Amount'
singleTransactionLimit:
description: The amount of any single payment using this permit may not
exceed this amount if set.
$ref: '#/components/schemas/Amount'
singleUse:
description: Only a single payment can be made using this permit if set
to true, otherwise multiple payments are allowed.
type: boolean
type: object
PermitResult:
additionalProperties: false
properties:
resultKey:
x-addedInVersion: '32'
description: The key to link permit requests to permit results.
type: string
token:
x-addedInVersion: '32'
description: The permit token which is used to make payments by the partner
company.
type: string
type: object
Recurring:
additionalProperties: false
properties:
contract:
description: "The type of recurring contract to be used.\nPossible values:\n\
* `ONECLICK` \u2013 Payment details can be used to initiate a one-click\
\ payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n\
* `RECURRING` \u2013 Payment details can be used without the card security\
\ code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n\
* `ONECLICK,RECURRING` \u2013 Payment details can be used regardless of\
\ whether the shopper is on your site or not.\n* `PAYOUT` \u2013 Payment\
\ details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts)."
enum:
- ONECLICK
- RECURRING
- PAYOUT
type: string
recurringDetailName:
description: A descriptive name for this detail.
type: string
recurringExpiry:
x-addedInVersion: '40'
description: Date after which no further authorisations shall be performed.
Only for 3D Secure 2.
format: date-time
type: string
recurringFrequency:
x-addedInVersion: '40'
description: Minimum number of days between authorisations. Only for 3D
Secure 2.
type: string
tokenService:
x-addedInVersion: '25'
description: The name of the token service.
enum:
- VISATOKENSERVICE
- MCTOKENSERVICE
- AMEXTOKENSERVICE
- TOKEN_SHARING
type: string
type: object
RecurringDetail:
additionalProperties: false
properties:
additionalData:
x-addedInVersion: '5'
additionalProperties:
type: string
description: 'This field contains additional data, which may be returned
in a particular response.
The additionalData object consists of entries, each of which includes
the key and value.'
type: object
alias:
x-addedInVersion: '4'
description: 'The alias of the credit card number.
Applies only to recurring contracts storing credit card details'
type: string
aliasType:
x-addedInVersion: '4'
description: 'The alias type of the credit card number.
Applies only to recurring contracts storing credit card details.'
type: string
bank:
description: A container for bank account data.
$ref: '#/components/schemas/BankAccount'
billingAddress:
x-addedInVersion: '4'
description: The billing address.
$ref: '#/components/schemas/Address'
card:
description: A container for card data.
$ref: '#/components/schemas/Card'
contractTypes:
x-addedInVersion: '12'
description: Types of recurring contracts.
items:
type: string
type: array
creationDate:
description: The date when the recurring details were created.
format: date-time
type: string
firstPspReference:
x-addedInVersion: '4'
description: The `pspReference` of the first recurring payment that created
the recurring detail.
type: string
name:
description: An optional descriptive name for this recurring detail.
type: string
paymentMethodVariant:
x-addedInVersion: '2'
description: The type or sub-brand of a payment method used, e.g. Visa
Debit, Visa Corporate, etc. For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).
type: string
recurringDetailReference:
description: The reference that uniquely identifies the recurring detail.
type: string
shopperName:
x-addedInVersion: '4'
description: The name of the shopper.
$ref: '#/components/schemas/Name'
socialSecurityNumber:
x-addedInVersion: '4'
description: A shopper's social security number (only in countries where
it is legal to collect).
type: string
tokenDetails:
x-addedInVersion: '2'
$ref: '#/components/schemas/TokenDetails'
variant:
description: "The payment method, such as \u201Cmc\", \"visa\", \"ideal\"\
, \"paypal\"."
type: string
required:
- recurringDetailReference
- variant
type: object
RecurringDetailWrapper:
properties:
RecurringDetail:
$ref: '#/components/schemas/RecurringDetail'
RecurringDetailsRequest:
additionalProperties: false
properties:
merchantAccount:
description: The merchant account identifier you want to process the (transaction)
request with.
type: string
recurring:
description: 'A container for the type of a recurring contract to be retrieved.
The contract value needs to match the contract value submitted in the
payment transaction used to create a recurring contract.
However, if `ONECLICK,RECURRING` is the original contract definition in
the initial payment, then `contract` should take either `ONECLICK` or
`RECURRING`, depending on whether or not you want the shopper to enter
their card''s security code when they finalize their purchase.'
$ref: '#/components/schemas/Recurring'
shopperReference:
description: The reference you use to uniquely identify the shopper (e.g.
user ID or account ID).
type: string
required:
- merchantAccount
- shopperReference
type: object
RecurringDetailsResult:
additionalProperties: false
properties:
creationDate:
description: The date when the recurring details were created.
format: date-time
type: string
details:
description: Payment details stored for recurring payments.
items:
$ref: '#/components/schemas/RecurringDetailWrapper'
type: array
lastKnownShopperEmail:
description: The most recent email for this shopper (if available).
type: string
shopperReference:
description: The reference you use to uniquely identify the shopper (e.g.
user ID or account ID).
type: string
type: object
ScheduleAccountUpdaterRequest:
additionalProperties: false
properties:
additionalData:
additionalProperties:
type: string
description: This field contains additional data, which may be required
for a particular request.
type: object
card:
description: 'Credit card data.
Optional if `shopperReference` and `selectedRecurringDetailReference`
are provided.'
$ref: '#/components/schemas/Card'
merchantAccount:
description: Account of the merchant.
type: string
reference:
description: A reference that merchants can apply for the call.
type: string
selectedRecurringDetailReference:
description: 'The selected detail recurring reference.
Optional if `card` is provided.'
type: string
shopperReference:
description: 'The reference of the shopper that owns the recurring contract.
Optional if `card` is provided.'
type: string
required:
- merchantAccount
- reference
type: object
ScheduleAccountUpdaterResult:
additionalProperties: false
properties:
pspReference:
description: Adyen's 16-character unique reference associated with the transaction.
This value is globally unique; quote it when communicating with us about
this request.
type: string
result:
description: The result of scheduling an Account Updater. If scheduling
was successful, this field returns **Success**; otherwise it contains
the error message.
type: string
required:
- pspReference
- result
type: object
ServiceError:
additionalProperties: false
properties:
errorCode:
description: The error code mapped to the error message.
type: string
errorType:
description: The category of the error.
type: string
message:
description: A short explanation of the issue.
type: string
pspReference:
description: The PSP reference of the payment.
type: string
status:
description: The HTTP response status.
format: int32
type: integer
type: object
TokenDetails:
additionalProperties: false
properties:
tokenData:
additionalProperties:
type: string
type: object
tokenDataType:
type: string
type: object
securitySchemes:
ApiKeyAuth:
in: header
name: X-API-Key
type: apiKey
BasicAuth:
scheme: basic
type: http
examples:
post-disable-disableARecurringContract:
summary: Disable a recurring contract
value:
shopperReference: YOUR_SHOPPER_REFERENCE
recurringDetailReference: '8314442372419167'
merchantAccount: YOUR_MERCHANT_ACCOUNT
post-listRecurringDetails-listAllRecurringDetails:
summary: List recurring details of the specified contract value
value:
recurring:
contract: RECURRING
shopperReference: YOUR_SHOPPER_REFERENCE
merchantAccount: YOUR_MERCHANT_ACCOUNT
post-notifyShopper-notifyShopperOfUpcomingRecurringPayment:
summary: Request issuer to notify shopper of upcoming recurring payment
value:
merchantAccount: YOUR_MERCHANT_ACCOUNT
storedPaymentMethodId: '8415995487234100'
shopperReference: YOUR_SHOPPER_REFERENCE
amount:
currency: INR
value: 1000
billingDate: '2021-03-16'
reference: Example reference
displayedReference: exampleDisplayedReference
post-notifyShopper-notifyShopperOfUpcomingRecurringPayment-200:
summary: Example response for request 'notifyShopper'
value:
message: Request Processed Successfully
resultCode: Success
shopperNotificationReference: '9915003646742627'
storedPaymentMethodId: '8415995487234100'
pspReference: M5N7TQ4TG5PFWR50
reference: Example reference
displayedReference: exampleDisplayedReference
post-scheduleAccountUpdater-scheduleAccountUpdaterWithCardData:
summary: Schedule AccountUpdater with card data
value:
merchantAccount: YOUR_MERCHANT_ACCOUNT
reference: YOUR_REFERENCE
card:
expiryMonth: '03'
expiryYear: '2030'
holderName: Adyen Test
number: '4111111111111111'
post-scheduleAccountUpdater-scheduleAccountUpdaterWithCardData-200:
summary: Scheduled Account Updater with card data
value:
pspReference: QFQTPCQ8HXSKGK82
result: Success
post-scheduleAccountUpdater-scheduleAccountUpdaterWithTokenData:
summary: Schedule AccountUpdater with token data
value:
merchantAccount: YOUR_MERCHANT_ACCOUNT
reference: YOUR_REFERENCE
shopperReference: YOUR_SHOPPER_REFERENCE
selectedRecurringDetailReference: '8814232895168272'
post-scheduleAccountUpdater-scheduleAccountUpdaterWithTokenData-200:
summary: Scheduled Account Updater with token data
value:
pspReference: JLCMPCQ8HXSKGK82
result: Success
post-scheduleAccountUpdater-scheduleAccountUpdaterWithTokenData-422:
summary: Error response for RecurringShopper not found
value:
status: 422
errorCode: '000'
message: RecurringShopper not found
errorType: validation