changes in Integration Testing

This commit is contained in:
Carlos_Veloz
2021-12-15 11:47:09 -06:00
parent 693cbc3937
commit 30f04f6eb5
15 changed files with 25527 additions and 23 deletions

View File

@@ -11,6 +11,14 @@ jobs:
- uses: actions/setup-node@v1
with:
node-version: '14.x'
- run: npm install
- run: npm run test-unit
Regression:
needs: Unit-Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: '14.x'
- run: npm run test-system

View File

@@ -146,6 +146,7 @@
"test-unit": "nyc --reporter=text ./node_modules/mocha/bin/mocha \"test/unit/**/**.test.js\"",
"test-lint": "./scripts/test-lint.sh",
"test-system": "./node_modules/mocha/bin/mocha \"test/system/**.test.js\"",
"test-regression": "./node_modules/mocha/bin/mocha test/integration/integration.test.js test/unit/sanity.test.js",
"release": "./scripts/release.sh",
"coverage": "nyc report --reporter=html --reporter=text mocha"
}

File diff suppressed because it is too large Load Diff

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,474 @@
openapi: 3.1.0
servers:
- url: https://cal-test.adyen.com/cal/services/Hop/v5
info:
contact:
email: developer-experience@adyen.com
name: Adyen Developer Experience team
url: https://www.adyen.help/hc/en-us/community/topics
x-twitter: Adyen
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 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/Hop/v5/getOnboardingUrl
```
termsOfService: https://www.adyen.com/legal/terms-and-conditions
title: "Adyen for Platforms: Hosted Onboarding"
version: "5"
x-apisguru-categories:
- payment
x-logo:
url: https://twitter.com/Adyen/profile_image?size=original
x-origin:
- format: openapi
url: https://raw.githubusercontent.com/Adyen/adyen-openapi/master/json/HopService-v5.json
version: "3.1"
x-preferred: false
x-providerName: adyen.com
x-publicVersion: true
x-serviceName: HopService
paths:
/getOnboardingUrl:
post:
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
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.
security:
- BasicAuth: []
- ApiKeyAuth: []
summary: Get a link to a Adyen-hosted onboarding page.
tags:
- Hosted Onboarding Page
x-groupName: Hosted Onboarding Page
x-sortIndex: 1
/getPciQuestionnaireUrl:
post:
description: |-
Returns a link to a PCI compliance questionnaire that you can send to your account holder.
> You should only use this endpoint if you have a [partner platform setup](https://docs.adyen.com/platforms/platforms-for-partners).
operationId: post-getPciQuestionnaireUrl
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.
security:
- BasicAuth: []
- ApiKeyAuth: []
summary: Get a link to a PCI compliance questionnaire.
tags:
- PCI Compliance Questionnaire Page
x-groupName: PCI Compliance Questionnaire Page
x-sortIndex: 1
components:
examples: {}
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:
$ref: "#/components/schemas/FieldType"
description: The type of error field.
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
- legalArrangementMembers
- 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
- 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:
$ref: "#/components/schemas/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).
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**.
If 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.
For 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:
$ref: "#/components/schemas/ShowPages"
description: Contains indicators whether specific pages must be shown to the account holder.
required:
- accountHolderCode
GetOnboardingUrlResponse:
properties:
invalidFields:
description: Information about any invalid fields.
items:
$ref: "#/components/schemas/ErrorFieldType"
type: array
x-addedInVersion: "5"
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:
description: Information about any invalid fields.
items:
$ref: "#/components/schemas/ErrorFieldType"
type: array
x-addedInVersion: "5"
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
businessDetailsSummaryPage:
description: Indicates whether the page with the company's or organization's details must be shown. Defaults to **true**.
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
x-groups:
- Hosted Onboarding Page
- PCI Compliance Questionnaire Page

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,787 @@
openapi: 3.1.0
servers:
- url: https://cal-test.adyen.com/cal/services/Notification/v4
info:
contact:
email: developer-experience@adyen.com
name: Adyen Developer Experience team
url: https://www.adyen.help/hc/en-us/community/topics
x-twitter: Adyen
description: |-
The Notification Configuration API provides endpoints for setting up and testing notifications that inform you of events on your platform, for example when a KYC check or a payout has been completed.
For more information, refer to our [documentation](https://docs.adyen.com/platforms/notifications).
## Authentication
To connect to the Notification Configuration API, you must use basic authentication credentials of your web service user. If you don't have one, contact our [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@MarketPlace.YourMarketPlace":"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/development-resources/live-endpoints).
## Versioning
The Notification Configuration 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/v4/createNotificationConfiguration
```
termsOfService: https://www.adyen.com/legal/terms-and-conditions
title: "Adyen for Platforms: Notification Configuration API"
version: "4"
x-apisguru-categories:
- payment
x-logo:
url: https://twitter.com/Adyen/profile_image?size=original
x-origin:
- format: openapi
url: https://raw.githubusercontent.com/Adyen/adyen-openapi/master/json/NotificationConfigurationService-v4.json
version: "3.1"
x-preferred: false
x-providerName: adyen.com
x-publicVersion: true
x-serviceName: NotificationConfigurationService
paths:
/createNotificationConfiguration:
post:
description: Creates a subscription to notifications informing you of events on your platform. 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.
operationId: post-createNotificationConfiguration
requestBody:
content:
application/json:
examples:
basic:
$ref: "#/components/examples/post-createNotificationConfiguration-basic"
schema:
$ref: "#/components/schemas/CreateNotificationConfigurationRequest"
responses:
"200":
content:
application/json:
examples:
basic:
$ref: "#/components/examples/post-createNotificationConfiguration-basic-200"
schema:
$ref: "#/components/schemas/GetNotificationConfigurationResponse"
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.
security:
- BasicAuth: []
- ApiKeyAuth: []
summary: Subscribe to notifications.
tags:
- General
x-groupName: General
x-sortIndex: 1
/deleteNotificationConfigurations:
post:
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.
operationId: post-deleteNotificationConfigurations
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.
"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.
security:
- BasicAuth: []
- ApiKeyAuth: []
summary: Delete an existing notification subscription configuration.
tags:
- General
x-groupName: General
x-sortIndex: 6
/getNotificationConfiguration:
post:
description: This endpoint is used to retrieve the details of the configuration of a notification subscription.
operationId: post-getNotificationConfiguration
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.
"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.
security:
- BasicAuth: []
- ApiKeyAuth: []
summary: Retrieve an existing notification subscription configuration.
tags:
- General
x-groupName: General
x-sortIndex: 2
/getNotificationConfigurationList:
post:
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.
operationId: post-getNotificationConfigurationList
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.
"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.
security:
- BasicAuth: []
- ApiKeyAuth: []
summary: Retrieve a list of existing notification subscription configurations.
tags:
- General
x-groupName: General
x-sortIndex: 3
/testNotificationConfiguration:
post:
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.
operationId: post-testNotificationConfiguration
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.
"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.
security:
- BasicAuth: []
- ApiKeyAuth: []
summary: Test an existing notification configuration.
tags:
- General
x-groupName: General
x-sortIndex: 4
/updateNotificationConfiguration:
post:
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.
operationId: post-updateNotificationConfiguration
requestBody:
content:
application/json:
examples:
basic:
$ref: "#/components/examples/post-updateNotificationConfiguration-basic"
schema:
$ref: "#/components/schemas/UpdateNotificationConfigurationRequest"
responses:
"200":
content:
application/json:
examples:
basic:
$ref: "#/components/examples/post-updateNotificationConfiguration-basic-200"
schema:
$ref: "#/components/schemas/GetNotificationConfigurationResponse"
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.
security:
- BasicAuth: []
- ApiKeyAuth: []
summary: Update an existing notification subscription configuration.
tags:
- General
x-groupName: General
x-sortIndex: 5
components:
examples:
post-createNotificationConfiguration-basic:
summary: Create a notification configuration
value:
configurationDetails:
active: true
description: Test notification769551
eventConfigs:
- NotificationEventConfiguration:
eventType: ACCOUNT_HOLDER_VERIFICATION
includeMode: INCLUDE
messageFormat: SOAP
notifyPassword: testPassword
notifyURL: https://www.adyen.com/notification-handler
notifyUsername: testUserName
sendActionHeader: true
sslProtocol: SSL
post-createNotificationConfiguration-basic-200:
summary: Example response for request 'basic'
value:
configurationDetails:
active: "true"
description: Test notification769551
eventConfigs:
- NotificationEventConfiguration:
eventType: ACCOUNT_HOLDER_VERIFICATION
includeMode: INCLUDE
messageFormat: SOAP
notificationId: 28467
notifyURL: https://www.adyen.com/notification-handler
sendActionHeader: "true"
sslProtocol: SSLInsecureCiphers
pspReference: "8616178952143018"
submittedAsync: "false"
post-updateNotificationConfiguration-basic:
summary: Update notification configurations
value:
configurationDetails:
active: false
description: new description799847
eventConfigs:
- NotificationEventConfiguration:
eventType: ACCOUNT_HOLDER_CREATED
includeMode: EXCLUDE
- NotificationEventConfiguration:
eventType: ACCOUNT_CREATED
includeMode: INCLUDE
notificationId: 21259
notifyPassword: testPassword2
notifyURL: http://www.adyen.com
notifyUsername: testUserName2
sendActionHeader: false
sslProtocol: TLSv10
post-updateNotificationConfiguration-basic-200:
summary: Example response for request 'basic'
value:
configurationDetails:
active: "false"
description: new description799847
eventConfigs:
- NotificationEventConfiguration:
eventType: ACCOUNT_CREATED
includeMode: INCLUDE
- NotificationEventConfiguration:
eventType: ACCOUNT_HOLDER_CREATED
includeMode: EXCLUDE
messageFormat: JSON
notificationId: 21259
notifyURL: http://www.adyen.com
sendActionHeader: "false"
sslProtocol: TLSv10
pspReference: "8516178951636344"
submittedAsync: "false"
schemas:
CreateNotificationConfigurationRequest:
properties:
configurationDetails:
$ref: "#/components/schemas/NotificationConfigurationDetails"
description: Details of the prospective notification subscription configuration.
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
resultCode:
description: The result code.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed asynchronously. Depending on the request's platform settings, the following scenarios may be applied:
* **true**: The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **false**: The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
type: boolean
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
resultCode:
description: The result code.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed asynchronously. Depending on the request's platform settings, the following scenarios may be applied:
* **true**: The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **false**: The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
type: boolean
required:
- 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:
$ref: "#/components/schemas/NotificationConfigurationDetails"
description: Details of the notification subscription configuration.
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 asynchronously. Depending on the request's platform settings, the following scenarios may be applied:
* **true**: The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **false**: The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
type: boolean
required:
- configurationDetails
NotificationConfigurationDetails:
properties:
active:
description: Indicates whether the notification subscription is active.
type: boolean
apiVersion:
description: The version of the notification to which you are subscribing. To make sure that your integration can properly process the notification, subscribe to the same version as the API that you're using.
format: int32
type: integer
description:
description: A description of the notification subscription configuration.
type: string
eventConfigs:
description: Contains objects that define event types and their subscription settings.
items:
$ref: "#/components/schemas/NotificationEventConfiguration"
type: array
messageFormat:
deprecated: true
description: |-
The data format of the notification to be sent.
>Permitted values: `JSON`, `SOAP`.
enum:
- JSON
- SOAP
type: string
notificationId:
description: Adyen-generated ID for the entry, returned in the response when you create a notification configuration. Required when updating an existing configuration using [`/updateNotificationConfiguration`](https://docs.adyen.com/api-explorer/#/NotificationConfigurationService/latest/post/updateNotificationConfiguration).
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
sendActionHeader:
deprecated: true
description: |-
Indicates whether an action header should be included.
>Only applies to SOAP messages (as specified in messageFormat).
type: boolean
sslProtocol:
description: |-
The SSL protocol employed by the endpoint.
>Permitted values: `SSL`, `SSLInsecureCiphers`, `TLS`, `TLSv10`, `TLSv10InsecureCiphers`, `TLSv11`, `TLSv12`.
enum:
- SSL
- SSLInsecureCiphers
- TLS
- TLSv10
- TLSv10InsecureCiphers
- TLSv11
- TLSv12
type: string
required:
- eventConfigs
- notifyURL
NotificationEventConfiguration:
properties:
eventType:
description: |-
The type of event.
Possible values: **ACCOUNT_CLOSED**, **ACCOUNT_CREATED**, **ACCOUNT_FUNDS_BELOW_THRESHOLD**, **ACCOUNT_HOLDER_CREATED**, **ACCOUNT_HOLDER_LIMIT_REACHED**, **ACCOUNT_HOLDER_PAYOUT**, **ACCOUNT_HOLDER_STATUS_CHANGE**, **ACCOUNT_HOLDER_STORE_STATUS_CHANGE**, **ACCOUNT_HOLDER_UPCOMING_DEADLINE**, **ACCOUNT_HOLDER_UPDATED**, **ACCOUNT_HOLDER_VERIFICATION**, **ACCOUNT_UPDATED**, **BENEFICIARY_SETUP**, **COMPENSATE_NEGATIVE_BALANCE**, **DIRECT_DEBIT_INITIATED**, **PAYMENT_FAILURE**, **REFUND_FUNDS_TRANSFER**, **REPORT_AVAILABLE**, **SCHEDULED_REFUNDS**, **TRANSFER_FUNDS**.
enum:
- ACCOUNT_CLOSED
- ACCOUNT_CREATED
- ACCOUNT_FUNDS_BELOW_THRESHOLD
- ACCOUNT_HOLDER_CREATED
- ACCOUNT_HOLDER_LIMIT_REACHED
- ACCOUNT_HOLDER_PAYOUT
- ACCOUNT_HOLDER_STATUS_CHANGE
- ACCOUNT_HOLDER_STORE_STATUS_CHANGE
- ACCOUNT_HOLDER_UPCOMING_DEADLINE
- ACCOUNT_HOLDER_UPDATED
- ACCOUNT_HOLDER_VERIFICATION
- ACCOUNT_UPDATED
- BENEFICIARY_SETUP
- COMPENSATE_NEGATIVE_BALANCE
- DIRECT_DEBIT_INITIATED
- PAYMENT_FAILURE
- REFUND_FUNDS_TRANSFER
- REPORT_AVAILABLE
- SCHEDULED_REFUNDS
- TRANSFER_FUNDS
- TRANSFER_NOT_PAIDOUT_TRANSFERS
type: string
includeMode:
description: |-
Indicates whether the specified `eventType` is sent to your webhook endpoint.
Possible values:
* **INCLUDE**: Send the specified `eventType`.
* **EXCLUDE**: Send all event types except the specified `eventType` and other event types with the `includeMode` set to **EXCLUDE**.
enum:
- EXCLUDE
- INCLUDE
type: string
required:
- eventType
- includeMode
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
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_STORE_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_CLOSED
- ACCOUNT_CREATED
- ACCOUNT_FUNDS_BELOW_THRESHOLD
- ACCOUNT_HOLDER_CREATED
- ACCOUNT_HOLDER_LIMIT_REACHED
- ACCOUNT_HOLDER_PAYOUT
- ACCOUNT_HOLDER_STATUS_CHANGE
- ACCOUNT_HOLDER_STORE_STATUS_CHANGE
- ACCOUNT_HOLDER_UPCOMING_DEADLINE
- ACCOUNT_HOLDER_UPDATED
- ACCOUNT_HOLDER_VERIFICATION
- ACCOUNT_UPDATED
- BENEFICIARY_SETUP
- COMPENSATE_NEGATIVE_BALANCE
- DIRECT_DEBIT_INITIATED
- PAYMENT_FAILURE
- REFUND_FUNDS_TRANSFER
- REPORT_AVAILABLE
- SCHEDULED_REFUNDS
- TRANSFER_FUNDS
- TRANSFER_NOT_PAIDOUT_TRANSFERS
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_STORE_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_CLOSED
- ACCOUNT_CREATED
- ACCOUNT_FUNDS_BELOW_THRESHOLD
- ACCOUNT_HOLDER_CREATED
- ACCOUNT_HOLDER_LIMIT_REACHED
- ACCOUNT_HOLDER_PAYOUT
- ACCOUNT_HOLDER_STATUS_CHANGE
- ACCOUNT_HOLDER_STORE_STATUS_CHANGE
- ACCOUNT_HOLDER_UPCOMING_DEADLINE
- ACCOUNT_HOLDER_UPDATED
- ACCOUNT_HOLDER_VERIFICATION
- ACCOUNT_UPDATED
- BENEFICIARY_SETUP
- COMPENSATE_NEGATIVE_BALANCE
- DIRECT_DEBIT_INITIATED
- PAYMENT_FAILURE
- REFUND_FUNDS_TRANSFER
- REPORT_AVAILABLE
- SCHEDULED_REFUNDS
- TRANSFER_FUNDS
- TRANSFER_NOT_PAIDOUT_TRANSFERS
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
resultCode:
description: The result code.
type: string
submittedAsync:
description: |-
Indicates whether the request is processed asynchronously. Depending on the request's platform settings, the following scenarios may be applied:
* **true**: The request is queued and will be executed when the providing service is available in the order in which the requests are received.
* **false**: The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
type: boolean
required:
- notificationId
- eventTypes
- okMessages
- exchangeMessages
UpdateNotificationConfigurationRequest:
properties:
configurationDetails:
$ref: "#/components/schemas/NotificationConfigurationDetails"
description: Details of the notification subscription configuration to be updated.
required:
- configurationDetails
securitySchemes:
ApiKeyAuth:
in: header
name: X-API-Key
type: apiKey
BasicAuth:
scheme: basic
type: http
x-groups:
- General

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,20 @@
const expect = require('chai').expect,
Index = require('../../index.js'),
fs = require('fs'),
path = require('path'),
async = require('async'),
valid31xFolder = '../data/valid_openapi31X/yaml',
folderPath = path.join(__dirname, valid31xFolder);
describe('E2E flows to validate the convertion of OpenAPI 3.1 files', function () {
let validYamlFolder = fs.readdirSync(folderPath);
async.each(validYamlFolder, function (file) {
it('Should generate a valid collection from ' + file, function () {
let fileData = fs.readFileSync(path.join(__dirname, valid31xFolder + '/' + file), 'utf8');
Index.convert({ type: 'string', data: fileData }, {}, (error, result) => {
expect(error).to.be.null;
expect(result.result).to.equal(true);
});
});
});
});

View File

@@ -65,7 +65,7 @@ describe('Testing openapi 3.1 schema pack convert', function() {
});
it('Should convert from openapi 3.1 spec to postman collection -- accountService', function() {
const fileSource = path.join(__dirname, OPENAPI_31_FOLDER + '/accountService.yaml'),
const fileSource = path.join(__dirname, OPENAPI_31_FOLDER + '/yaml/accountService.yaml'),
fileData = fs.readFileSync(fileSource, 'utf8'),
input = {
type: 'string',
@@ -79,7 +79,7 @@ describe('Testing openapi 3.1 schema pack convert', function() {
});
it('Should convert from openapi 3.1 spec to postman collection -- binLookupService', function() {
const fileSource = path.join(__dirname, OPENAPI_31_FOLDER + '/binLookupService.yaml'),
const fileSource = path.join(__dirname, OPENAPI_31_FOLDER + '/yaml/binLookupService.yaml'),
fileData = fs.readFileSync(fileSource, 'utf8'),
input = {
type: 'string',

View File

@@ -1,20 +0,0 @@
const expect = require('chai').expect,
Index = require('../../index.js'),
fs = require('fs'),
valid31xFolder = './test/data/valid_openapi31X';
describe('E2E flows to validate the convertion of OpenAPI 3.1 files', function () {
it('Should convert a valid file into a PM Collection', function () {
let fileContent = fs.readFileSync(valid31xFolder + '/petstore.json', 'utf8');
Index.convert({ type: 'json', data: fileContent }, {}, (error, result) => {
expect(error).to.be.null;
expect(result.output[0].data.info.name).to.equal("Swagger Petstore")
expect(result.output[0].data.item[0].name).to.equal("pets");
expect(result.output[0].data.item[0].item.length).to.eql(3);
//console.log(result.output[0].data.item[0].item[0].request.description);
fs.writeFileSync(valid31xFolder + '/' + 'petstoreJson-collection.json',
JSON.stringify(result.output[0].data));
});
});
});