Files
adyen-openapi/yaml/HopService-v5.yaml
2022-02-15 16:18:13 +01:00

535 lines
19 KiB
YAML

openapi: 3.1.0
servers:
- url: https://cal-test.adyen.com/cal/services/Hop/v5
info:
version: '5'
x-publicVersion: true
title: 'Adyen for Platforms: Hosted Onboarding'
description: 'The Hosted onboarding API provides endpoints that you can use to generate
links to Adyen-hosted pages, such as an [onboarding page](https://docs.adyen.com/platforms/hosted-onboarding-page)
or a [PCI compliance questionnaire](https://docs.adyen.com/platforms/platforms-for-partners).
Then you can provide the link to your account holder so they can complete their
onboarding.
## Authentication
To connect to the Hosted onboarding API, you must use basic authentication credentials
of your web service user. If you don''t have one, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).
Then use your credentials to authenticate your request, for example:
```
curl
-U "ws@MarketPlace.YourMarketPlace":"YourWsPassword" \
-H "Content-Type: application/json" \
...
```
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).
## Versioning
The Hosted onboarding 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.
For example:
```
https://cal-test.adyen.com/cal/services/Hop/v5/getOnboardingUrl
```'
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
tags:
- name: Hosted Onboarding Page
- name: PCI Compliance Questionnaire Page
paths:
/getOnboardingUrl:
post:
tags:
- Hosted Onboarding Page
summary: Get a link to a Adyen-hosted onboarding page.
description: 'Returns a link to an Adyen-hosted onboarding page (HOP) that you
can send to your account holder. For more information on how to use HOP, refer
to [Hosted onboarding](https://docs.adyen.com/platforms/hosted-onboarding-page). '
operationId: post-getOnboardingUrl
x-groupName: Hosted Onboarding Page
x-sortIndex: 1
security:
- BasicAuth: []
- ApiKeyAuth: []
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:
tags:
- PCI Compliance Questionnaire Page
summary: Get a link to a PCI compliance questionnaire.
description: "Returns a link to a PCI compliance questionnaire that you can\
\ send to your account holder.\n > You should only use this endpoint if you\
\ have a [partner platform setup](https://docs.adyen.com/platforms/platforms-for-partners)."
operationId: post-getPciQuestionnaireUrl
x-groupName: PCI Compliance Questionnaire Page
x-sortIndex: 1
security:
- BasicAuth: []
- ApiKeyAuth: []
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. Default is **true**.
type: boolean
businessDetails:
description: Indicates whether [business details](https://docs.adyen.com/platforms/verification-checks/company-check)
must be collected. Default is **true**.
type: boolean
individualDetails:
description: Indicates whether [individual details](https://docs.adyen.com/platforms/verification-checks/identity-check)
must be collected. Default is **true**.
type: boolean
legalArrangementDetails:
description: Indicates whether [legal arrangement details](https://docs.adyen.com/platforms/verification-checks/legal-arrangements)
must be collected. Default is **true**.
type: boolean
pciQuestionnaire:
description: Indicates whether answers to a [PCI questionnaire](https://docs.adyen.com/platforms/platforms-for-partners#onboard-partner-platform)
must be collected. Applies only to partner platforms. Default is **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
- documentContent
- documentExpirationDate
- documentIssuerCountry
- documentIssuerState
- documentName
- documentNumber
- documentType
- doingBusinessAs
- drivingLicence
- drivingLicenceBack
- drivingLicense
- email
- firstName
- formType
- fullPhoneNumber
- gender
- hopWebserviceUser
- houseNumberOrName
- iban
- idCard
- idCardBack
- idCardFront
- idNumber
- identityDocument
- individualDetails
- infix
- jobTitle
- lastName
- lastReviewDate
- legalArrangement
- legalArrangementCode
- legalArrangementEntity
- legalArrangementEntityCode
- legalArrangementLegalForm
- legalArrangementMember
- legalArrangementMembers
- legalArrangementName
- legalArrangementReference
- legalArrangementRegistrationNumber
- legalArrangementTaxNumber
- legalArrangementType
- legalBusinessName
- legalEntity
- legalEntityType
- merchantAccount
- merchantCategoryCode
- merchantReference
- microDeposit
- name
- nationality
- originalReference
- ownerCity
- ownerCountryCode
- ownerDateOfBirth
- ownerHouseNumberOrName
- ownerName
- ownerPostalCode
- ownerState
- ownerStreet
- passport
- passportNumber
- payoutMethodCode
- payoutSchedule
- pciSelfAssessment
- personalData
- phoneCountryCode
- phoneNumber
- postalCode
- primaryCurrency
- reason
- registrationNumber
- returnUrl
- schedule
- shareholder
- shareholderCode
- shareholderCodeAndSignatoryCode
- shareholderCodeOrSignatoryCode
- shareholderType
- shopperInteraction
- signatory
- signatoryCode
- socialSecurityNumber
- sourceAccountCode
- splitAccount
- splitConfigurationUUID
- splitCurrency
- splitValue
- splits
- stateOrProvince
- status
- stockExchange
- stockNumber
- stockTicker
- store
- storeDetail
- storeName
- storeReference
- street
- taxId
- tier
- tierNumber
- transferCode
- ultimateParentCompany
- ultimateParentCompanyAddressDetails
- ultimateParentCompanyAddressDetailsCountry
- ultimateParentCompanyBusinessDetails
- ultimateParentCompanyBusinessDetailsLegalBusinessName
- ultimateParentCompanyBusinessDetailsRegistrationNumber
- ultimateParentCompanyCode
- ultimateParentCompanyStockExchange
- ultimateParentCompanyStockNumber
- ultimateParentCompanyStockNumberOrStockTicker
- ultimateParentCompanyStockTicker
- 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 account holder 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 account holder
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/customize-experience#change-page-language)."
type: string
showPages:
description: Contains indicators whether specific pages must be shown to
the account holder.
$ref: '#/components/schemas/ShowPages'
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 account holder will be redirected back to
after they fill out the questionnaire, 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 where you should
redirect your account holder. 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
ShowPages:
properties:
bankDetailsSummaryPage:
description: Indicates whether the page with bank account details must be
shown. Defaults to **true**.
type: boolean
bankVerificationPage:
description: Indicates whether the bank check instant verification' details
must be shown. Defaults to **true**.
type: boolean
businessDetailsSummaryPage:
description: Indicates whether the page with the company's or organization's
details must be shown. Defaults to **true**.
type: boolean
checksOverviewPage:
description: Indicates whether the checks overview page must be shown. Defaults
to **false**.
type: boolean
individualDetailsSummaryPage:
description: Indicates whether the page with the individual's details must
be shown. Defaults to **true**.
type: boolean
legalArrangementsDetailsSummaryPage:
description: Indicates whether the page with the legal arrangements' details
must be shown. Defaults to **true**.
type: boolean
shareholderDetailsSummaryPage:
description: Indicates whether the page with the shareholders' details must
be shown. Defaults to **true**.
type: boolean
welcomePage:
description: Indicates whether the welcome page must be shown. Defaults
to **false**.
type: boolean
securitySchemes:
ApiKeyAuth:
in: header
name: X-API-Key
type: apiKey
BasicAuth:
scheme: basic
type: http
examples: {}