mirror of
https://github.com/gcatanese/adyen-openapi.git
synced 2026-03-10 08:01:24 +00:00
479 lines
19 KiB
JSON
479 lines
19 KiB
JSON
{
|
||
"swagger" : "2.0",
|
||
"info" : {
|
||
"version" : "25",
|
||
"title" : "Adyen Recurring Service",
|
||
"description" : "Additional methods that allow you to manage payment details stored for recurring payments. For more information, refer to [Recurring payments](https://docs.adyen.com/developers/features/recurring-payments)."
|
||
},
|
||
"host" : "pal-test.adyen.com",
|
||
"basePath" : "/pal/servlet/Recurring/v25",
|
||
"schemes" : [
|
||
"https"
|
||
],
|
||
"produces" : [
|
||
"application/json"
|
||
],
|
||
"consumes" : [
|
||
"application/json"
|
||
],
|
||
"x-groups" : [
|
||
"General"
|
||
],
|
||
"paths" : {
|
||
"/disable" : {
|
||
"post" : {
|
||
"summary" : "Disables stored payment details.",
|
||
"description" : "Disables stored payment details to stop charging a shopper with this particular recurring detail ID.\n\nFor more information, refer to [Disable stored details](https://docs.adyen.com/developers/features/recurring-payments/disable-stored-details).",
|
||
"x-groupName" : "General",
|
||
"x-sortIndex" : 2,
|
||
"parameters" : [
|
||
{
|
||
"name" : "request",
|
||
"in" : "body",
|
||
"schema" : {
|
||
"$ref" : "#/definitions/DisableRequest"
|
||
}
|
||
}
|
||
],
|
||
"responses" : {
|
||
"200" : {
|
||
"description" : "OK - the request has succeeded.",
|
||
"schema" : {
|
||
"$ref" : "#/definitions/DisableResult"
|
||
}
|
||
},
|
||
"400" : {
|
||
"description" : "Bad Request - a problem reading or understanding the request."
|
||
},
|
||
"422" : {
|
||
"description" : "Unprocessable Entity - a request validation error."
|
||
},
|
||
"401" : {
|
||
"description" : "Unauthorized - authentication required."
|
||
},
|
||
"500" : {
|
||
"description" : "Internal Server Error - the server could not process the request."
|
||
},
|
||
"403" : {
|
||
"description" : "Forbidden - insufficient permissions to process the request."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/listRecurringDetails" : {
|
||
"post" : {
|
||
"summary" : "Retrieves stored payment details for a shopper.",
|
||
"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.\n\nFor more information, refer to [Retrieve stored details](https://docs.adyen.com/developers/features/recurring-payments/retrieve-stored-details).",
|
||
"x-groupName" : "General",
|
||
"x-sortIndex" : 1,
|
||
"parameters" : [
|
||
{
|
||
"name" : "request",
|
||
"in" : "body",
|
||
"schema" : {
|
||
"$ref" : "#/definitions/RecurringDetailsRequest"
|
||
}
|
||
}
|
||
],
|
||
"responses" : {
|
||
"200" : {
|
||
"description" : "OK - the request has succeeded.",
|
||
"schema" : {
|
||
"$ref" : "#/definitions/RecurringDetailsResult"
|
||
}
|
||
},
|
||
"400" : {
|
||
"description" : "Bad Request - a problem reading or understanding the request."
|
||
},
|
||
"422" : {
|
||
"description" : "Unprocessable Entity - a request validation error."
|
||
},
|
||
"401" : {
|
||
"description" : "Unauthorized - authentication required."
|
||
},
|
||
"500" : {
|
||
"description" : "Internal Server Error - the server could not process the request."
|
||
},
|
||
"403" : {
|
||
"description" : "Forbidden - insufficient permissions to process the request."
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"definitions" : {
|
||
"Address" : {
|
||
"properties" : {
|
||
"city" : {
|
||
"description" : "The city name.",
|
||
"type" : "string"
|
||
},
|
||
"country" : {
|
||
"description" : "A valid value is an ISO two-character country code (e.g. 'NL').",
|
||
"type" : "string"
|
||
},
|
||
"houseNumberOrName" : {
|
||
"description" : "The house number or name.",
|
||
"type" : "string"
|
||
},
|
||
"postalCode" : {
|
||
"description" : "The postal code with a maximum of 5 characters for USA and maximum of 10 characters for any other country.",
|
||
"type" : "string"
|
||
},
|
||
"stateOrProvince" : {
|
||
"description" : "For USA or Canada, a valid 2-character abbreviation for the state or province respectively. For other countries any abbreviation with maximum 3 characters for the state or province.",
|
||
"type" : "string"
|
||
},
|
||
"street" : {
|
||
"description" : "The street name.\n> Don't append the house number to this field. Instead, pass the house number separately as `houseNumberOrName`.\n",
|
||
"type" : "string"
|
||
}
|
||
},
|
||
"required" : [
|
||
"street",
|
||
"houseNumberOrName",
|
||
"city",
|
||
"country"
|
||
]
|
||
},
|
||
"BankAccount" : {
|
||
"properties" : {
|
||
"bankAccountNumber" : {
|
||
"description" : "The bank account number (without separators).",
|
||
"type" : "string"
|
||
},
|
||
"bankCity" : {
|
||
"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.\n\nA 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* χ12 is converted to ch12.\n* üA is converted to euA.\n* Peter Møller is converted to Peter Mller, because banks don't accept 'ø'.\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" : {
|
||
"description" : "The bank account holder's tax ID.",
|
||
"type" : "string"
|
||
}
|
||
}
|
||
},
|
||
"Card" : {
|
||
"properties" : {
|
||
"cvc" : {
|
||
"description" : "The [card verification code](https://docs.adyen.com/developers/payment-glossary#cardsecuritycodecvccvvcid) (1-20 characters). Depending on the card brand, it is known also as:\n* CVV2/CVC2 – length: 3 digits\n* CID – length: 4 digits\n> If you are using [Client-Side Encryption](https://docs.adyen.com/developers/ecommerce-integration), 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/developers/features/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.\nFormat: 2 digits, zero-padded for single digits. For example:\n* 03 = March\n* 11 = November",
|
||
"maxLength" : 2,
|
||
"minLength" : 1,
|
||
"type" : "string"
|
||
},
|
||
"expiryYear" : {
|
||
"description" : "The card expiry year.\nFormat: 4 digits. For example: 2018",
|
||
"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.\nWhen 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"
|
||
}
|
||
},
|
||
"required" : [
|
||
"number",
|
||
"expiryMonth",
|
||
"expiryYear",
|
||
"holderName"
|
||
]
|
||
},
|
||
"DisableRequest" : {
|
||
"properties" : {
|
||
"contract" : {
|
||
"description" : "Specify the contract if you only want to disable a specific use.\n\nThis field can be set to one of the following values, or to their combination (comma-separated):\n* ONECLICK\n* RECURRING\n* PAYOUT",
|
||
"type" : "string"
|
||
},
|
||
"merchantAccount" : {
|
||
"description" : "Your merchant account.",
|
||
"type" : "string"
|
||
},
|
||
"recurringDetailReference" : {
|
||
"description" : "The ID that uniquely identifies the recurring detail reference.\n\nIf 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.\n\nThis `shopperReference` must be the same as the `shopperReference` used in the initial payment.",
|
||
"type" : "string"
|
||
}
|
||
},
|
||
"required" : [
|
||
"merchantAccount",
|
||
"shopperReference"
|
||
]
|
||
},
|
||
"DisableResult" : {
|
||
"properties" : {
|
||
"details" : {
|
||
"description" : "A list of one or more recurring payment details that were disabled.",
|
||
"items" : {
|
||
"$ref" : "#/definitions/RecurringDetail"
|
||
},
|
||
"type" : "array"
|
||
},
|
||
"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"
|
||
}
|
||
}
|
||
},
|
||
"ELV" : {
|
||
"properties" : {
|
||
"accountHolderName" : {
|
||
"type" : "string"
|
||
},
|
||
"bankAccountNumber" : {
|
||
"type" : "string"
|
||
},
|
||
"bankLocation" : {
|
||
"type" : "string"
|
||
},
|
||
"bankLocationId" : {
|
||
"type" : "string"
|
||
},
|
||
"bankName" : {
|
||
"type" : "string"
|
||
}
|
||
}
|
||
},
|
||
"Name" : {
|
||
"properties" : {
|
||
"firstName" : {
|
||
"description" : "A person's first name.",
|
||
"type" : "string"
|
||
},
|
||
"gender" : {
|
||
"description" : "A person's gender (can be unknown).",
|
||
"enum" : [
|
||
"MALE",
|
||
"FEMALE",
|
||
"UNKNOWN"
|
||
],
|
||
"maxLength" : 1,
|
||
"minLength" : 1,
|
||
"type" : "string"
|
||
},
|
||
"infix" : {
|
||
"description" : "A person name's infix, if applicable. Maximum length: 20 characters.",
|
||
"type" : "string"
|
||
},
|
||
"lastName" : {
|
||
"description" : "A person's last name.",
|
||
"type" : "string"
|
||
}
|
||
},
|
||
"required" : [
|
||
"firstName",
|
||
"lastName",
|
||
"gender"
|
||
]
|
||
},
|
||
"Recurring" : {
|
||
"properties" : {
|
||
"contract" : {
|
||
"description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – The shopper opts to store their card details for future use. The shopper is present for the subsequent transaction, for cards the security code (CVC/CVV) is required.\n* `RECURRING` – Payment details are stored for future use. For cards, the security code (CVC/CVV) is not required for subsequent payments. This is used for shopper not present transactions.\n* `ONECLICK,RECURRING` – Payment details are stored for future use. This allows the use of the stored payment details regardless of whether the shopper is on your site or not.",
|
||
"enum" : [
|
||
"ONECLICK",
|
||
"RECURRING",
|
||
"PAYOUT"
|
||
],
|
||
"type" : "string"
|
||
},
|
||
"recurringDetailName" : {
|
||
"description" : "A descriptive name for this detail.",
|
||
"type" : "string"
|
||
},
|
||
"tokenService" : {
|
||
"description" : "The name of the token service.",
|
||
"enum" : [
|
||
"VISATOKENSERVICE"
|
||
],
|
||
"type" : "string"
|
||
}
|
||
}
|
||
},
|
||
"RecurringDetail" : {
|
||
"properties" : {
|
||
"acquirer" : {
|
||
"type" : "string"
|
||
},
|
||
"acquirerAccount" : {
|
||
"type" : "string"
|
||
},
|
||
"additionalData" : {
|
||
"additionalProperties" : {
|
||
"type" : "string"
|
||
},
|
||
"type" : "object"
|
||
},
|
||
"alias" : {
|
||
"type" : "string"
|
||
},
|
||
"aliasType" : {
|
||
"type" : "string"
|
||
},
|
||
"bank" : {
|
||
"$ref" : "#/definitions/BankAccount"
|
||
},
|
||
"billingAddress" : {
|
||
"$ref" : "#/definitions/Address"
|
||
},
|
||
"card" : {
|
||
"$ref" : "#/definitions/Card"
|
||
},
|
||
"contractTypes" : {
|
||
"items" : {
|
||
"type" : "string"
|
||
},
|
||
"type" : "array"
|
||
},
|
||
"creationDate" : {
|
||
"format" : "date-time",
|
||
"type" : "string"
|
||
},
|
||
"elv" : {
|
||
"$ref" : "#/definitions/ELV"
|
||
},
|
||
"firstPspReference" : {
|
||
"type" : "string"
|
||
},
|
||
"name" : {
|
||
"description" : "An optional descriptive name for this recurring detail",
|
||
"type" : "string"
|
||
},
|
||
"paymentMethodVariant" : {
|
||
"type" : "string"
|
||
},
|
||
"recurringDetailReference" : {
|
||
"description" : "The reference that uniquely identifies the recurring detail",
|
||
"type" : "string"
|
||
},
|
||
"shopperName" : {
|
||
"$ref" : "#/definitions/Name"
|
||
},
|
||
"socialSecurityNumber" : {
|
||
"type" : "string"
|
||
},
|
||
"tokenDetails" : {
|
||
"$ref" : "#/definitions/TokenDetails"
|
||
},
|
||
"variant" : {
|
||
"type" : "string"
|
||
}
|
||
}
|
||
},
|
||
"RecurringDetailsRequest" : {
|
||
"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.\n\nThe contract value needs to match the contract value submitted in the payment transaction used to create a recurring contract.\nHowever, 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" : "#/definitions/Recurring"
|
||
},
|
||
"shopperReference" : {
|
||
"description" : "The reference you use to uniquely identify the shopper (e.g. user ID or account ID).",
|
||
"type" : "string"
|
||
}
|
||
},
|
||
"required" : [
|
||
"merchantAccount",
|
||
"shopperReference"
|
||
]
|
||
},
|
||
"RecurringDetailsResult" : {
|
||
"properties" : {
|
||
"creationDate" : {
|
||
"description" : "The date when the recurring details were created.",
|
||
"format" : "date-time",
|
||
"type" : "string"
|
||
},
|
||
"details" : {
|
||
"description" : "A list of one or more recurring payment details.",
|
||
"items" : {
|
||
"$ref" : "#/definitions/RecurringDetail"
|
||
},
|
||
"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"
|
||
}
|
||
}
|
||
},
|
||
"TokenDetails" : {
|
||
"properties" : {
|
||
"tokenData" : {
|
||
"additionalProperties" : {
|
||
"type" : "string"
|
||
},
|
||
"type" : "object"
|
||
},
|
||
"tokenDataType" : {
|
||
"type" : "string"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
} |