Files
adyen-openapi/yaml/HopService-v5.yaml
2021-04-24 11:54:43 +02:00

430 lines
15 KiB
YAML

openapi: 3.0.3
servers:
- url: https://cal-test.adyen.com/cal/services/Hop/v5
info:
version: '5'
x-publicVersion: true
title: 'Adyen for Platforms: Hosted Onboarding'
description: "Hosted Onboarding provides endpoints for using the Hosted Onboarding\
\ Page. The related entities include account holders only. \nFor more information,\
\ refer to our [documentation](https://docs.adyen.com/platforms/hosted-onboarding-page).\n\
## Authentication\nTo connect to the HOP 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:\n\n```\ncurl\n\
-U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\\n-H \"Content-Type:\
\ application/json\" \\\n...\n```\nNote that when going live, you need to generate\
\ new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\
\n## Versioning\nThe HOP 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.\n\nFor example:\n```\nhttps://cal-test.adyen.com/cal/services/Hop/v5/getOnboardingUrl\n\
```"
termsOfService: https://www.adyen.com/legal/terms-and-conditions
contact:
name: Adyen Developer Experience team
url: https://www.adyen.help/hc/en-us/community/topics
email: developer-experience@adyen.com
x-groups:
- Hosted Onboarding Page
- PCI Compliance Questionnaire Page
paths:
/getOnboardingUrl:
post:
summary: Get a link to a Hosted Onboarding Page.
description: 'Returns a link to a Hosted Onboarding Page (HOP) to be used by
a specific account holder. Each account holder represents a single sub-merchant.
For more information on how to use HOP, refer to [Hosted Onboarding Page](https://docs.adyen.com/platforms/hosted-onboarding-page). '
operationId: post-getOnboardingUrl
x-groupName: Hosted Onboarding Page
x-sortIndex: 1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GetOnboardingUrlRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetOnboardingUrlResponse'
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.
/getPciQuestionnaireUrl:
post:
summary: Get a new PCI compliance questionnaire URL for an account holder.
description: 'This endpoint is used to get a new PCI compliance questionnaire
URL for a specific account holder. Each account holder represents a single
sub-merchant, and each sub-merchant must be represented by an account holder. '
operationId: post-getPciQuestionnaireUrl
x-groupName: PCI Compliance Questionnaire Page
x-sortIndex: 1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GetPciUrlRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetPciUrlResponse'
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.
components:
schemas:
CollectInformation:
properties:
bankDetails:
description: Indicates whether [bank account details](https://docs.adyen.com/platforms/verification-checks/bank-account-check)
must be collected. Defaults to **true**.
type: boolean
businessDetails:
description: Indicates whether [business details](https://docs.adyen.com/platforms/verification-checks/company-check)
must be collected. Defaults to **true**.
type: boolean
individualDetails:
description: Indicates whether [individual details](https://docs.adyen.com/platforms/verification-checks/identity-check)
must be collected. Defaults to **true**.
type: boolean
pciQuestionnaire:
description: Indicates whether answers to a PCI questionnaire must be collected.
Defaults to **true**.
type: boolean
shareholderDetails:
description: Indicates whether [shareholder details](https://docs.adyen.com/platforms/verification-checks/identity-check)
must be collected. Defaults to **true**.
type: boolean
ErrorFieldType:
properties:
errorCode:
description: The validation error code.
format: int32
type: integer
errorDescription:
description: A description of the validation error.
type: string
fieldType:
description: The type of error field.
$ref: '#/components/schemas/FieldType'
FieldType:
properties:
field:
description: The full name of the property.
type: string
fieldName:
description: The type of the field.
enum:
- accountCode
- accountHolderCode
- accountHolderDetails
- accountNumber
- accountStateType
- accountStatus
- accountType
- address
- bankAccount
- bankAccountCode
- bankAccountName
- bankAccountUUID
- bankBicSwift
- bankCity
- bankCode
- bankName
- bankStatement
- branchCode
- businessContact
- cardToken
- checkCode
- city
- companyRegistration
- constitutionalDocument
- country
- countryCode
- currency
- currencyCode
- dateOfBirth
- description
- destinationAccountCode
- document
- documentExpirationDate
- documentIssuerCountry
- documentIssuerState
- documentName
- documentNumber
- documentType
- doingBusinessAs
- drivingLicence
- drivingLicenceBack
- drivingLicense
- email
- firstName
- formType
- fullPhoneNumber
- gender
- hopWebserviceUser
- houseNumberOrName
- iban
- idCard
- idCardBack
- idCardFront
- idNumber
- identityDocument
- individualDetails
- jobTitle
- lastName
- legalArrangement
- legalArrangementCode
- legalArrangementEntity
- legalArrangementEntityCode
- legalArrangementLegalForm
- legalArrangementMember
- legalArrangementName
- legalArrangementReference
- legalArrangementRegistrationNumber
- legalArrangementTaxNumber
- legalArrangementType
- legalBusinessName
- legalEntity
- legalEntityType
- merchantAccount
- merchantCategoryCode
- merchantReference
- microDeposit
- name
- nationality
- originalReference
- ownerCity
- ownerCountryCode
- ownerHouseNumberOrName
- ownerName
- ownerPostalCode
- ownerState
- ownerStreet
- passport
- passportNumber
- payoutMethodCode
- personalData
- phoneCountryCode
- phoneNumber
- postalCode
- primaryCurrency
- reason
- registrationNumber
- returnUrl
- schedule
- shareholder
- shareholderCode
- shareholderType
- shopperInteraction
- signatory
- socialSecurityNumber
- sourceAccountCode
- splitAccount
- splitCurrency
- splitValue
- splits
- stateOrProvince
- status
- stockExchange
- stockNumber
- stockTicker
- store
- storeDetail
- storeName
- storeReference
- street
- taxId
- tier
- tierNumber
- transferCode
- unknown
- value
- verificationType
- virtualAccount
- visaNumber
- webAddress
- year
type: string
shareholderCode:
description: The code of the shareholder that the field belongs to. If empty,
the field belongs to an account holder.
type: string
GetOnboardingUrlRequest:
properties:
accountHolderCode:
description: The account holder code you provided when you created the account
holder.
type: string
collectInformation:
description: Contains indicators whether the page should only collect information
for specific [KYC checks](https://docs.adyen.com/platforms/verification-checks).
By default, the page collects information for all KYC checks that apply
to the [legal entity type](https://docs.adyen.com/platforms/account-holders-and-accounts#legal-entity-types).
$ref: '#/components/schemas/CollectInformation'
editMode:
description: Indicates if editing checks is allowed even if all the checks
have passed.
type: boolean
platformName:
description: The platform name which will show up in the welcome page.
type: string
returnUrl:
description: The URL where the sub-merchant will be redirected back to after
they complete the onboarding, or if their session times out. Maximum length
of 500 characters. If you don't provide this, the sub-merchant will be
redirected back to the default return URL configured in your platform
account.
type: string
shopperLocale:
description: "The language to be used in the page, specified by a combination\
\ of a language and country code. For example, **pt-BR**. \n\nIf not specified\
\ in the request or if the language is not supported, the page uses the\
\ browser language. If the browser language is not supported, the page\
\ uses **en-US** by default.\n\nFor a list supported languages, refer\
\ to [Change the page language](https://docs.adyen.com/platforms/hosted-onboarding-page#change-page-language)."
type: string
required:
- accountHolderCode
GetOnboardingUrlResponse:
properties:
invalidFields:
x-addedInVersion: 5
description: Information about any invalid fields.
items:
$ref: '#/components/schemas/ErrorFieldType'
type: array
pspReference:
description: The reference of a request. Can be used to uniquely identify
the request.
type: string
redirectUrl:
description: The URL to the Hosted Onboarding Page where you should redirect
your sub-merchant. This URL must be used within 30 seconds and can only
be used once.
type: string
resultCode:
description: The result code.
type: string
GetPciUrlRequest:
properties:
accountHolderCode:
description: The account holder code you provided when you created the account
holder.
type: string
returnUrl:
description: The URL where the sub-merchant will be redirected back to after
they complete the onboarding, or if their session times out. Maximum length
of 500 characters.
type: string
required:
- accountHolderCode
GetPciUrlResponse:
properties:
invalidFields:
x-addedInVersion: 5
description: Information about any invalid fields.
items:
$ref: '#/components/schemas/ErrorFieldType'
type: array
pspReference:
description: The reference of a request. Can be used to uniquely identify
the request.
type: string
redirectUrl:
description: The URL to the PCI Compliance Questionnaire Page where you
should redirect your sub-merchant. This URL must be used within 30 seconds
and can only be used once.
type: string
resultCode:
description: The result code.
type: string
ServiceError:
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
securitySchemes:
ApiKeyAuth:
in: header
name: X-API-Key
type: apiKey
BasicAuth:
scheme: basic
type: http
examples: {}