From f2d67714063ffc02fcd16a7e16432c69f14091ac Mon Sep 17 00:00:00 2001 From: Adyen Automation Date: Wed, 21 May 2025 13:52:46 +0200 Subject: [PATCH] spec release --- ...BalancePlatformBalanceNotification-v1.json | 7 +- ...ePlatformConfigurationNotification-v1.json | 276 +++++++++++++++++- ...ePlatformConfigurationNotification-v2.json | 276 +++++++++++++++++- json/BalancePlatformService-v2.json | 28 +- ...BalancePlatformBalanceNotification-v1.yaml | 8 +- ...ePlatformConfigurationNotification-v1.yaml | 248 +++++++++++++++- ...ePlatformConfigurationNotification-v2.yaml | 248 +++++++++++++++- yaml/BalancePlatformService-v2.yaml | 57 +++- 8 files changed, 1132 insertions(+), 16 deletions(-) diff --git a/json/BalancePlatformBalanceNotification-v1.json b/json/BalancePlatformBalanceNotification-v1.json index ff3a754..2b83620 100644 --- a/json/BalancePlatformBalanceNotification-v1.json +++ b/json/BalancePlatformBalanceNotification-v1.json @@ -9,11 +9,9 @@ "url" : "https://github.com/Adyen/adyen-openapi" }, "version" : "1", - "x-timestamp" : "2025-03-20T15:36:19Z" + "x-timestamp" : "2025-05-15T18:31:46Z" }, "tags" : [ { - "name" : "balancePlatform.balanceAccount.balance.updated" - }, { "name" : "Balances" } ], "webhooks" : { @@ -35,9 +33,10 @@ "description" : "Balance changed", "value" : { "data" : { - "settingIds" : "BWHS00000000000000000000000001", + "settingIds" : [ "BWHS00000000000000000000000001", "BWHS00000000000000000000000002" ], "creationDate" : "2025-01-19T13:37:38+02:00", "balancePlatform" : "YOUR_BALANCE_PLATFORM", + "balanceAccountId" : "BA00000000000000000000000001", "currency" : "USD", "balances" : { "available" : 499900, diff --git a/json/BalancePlatformConfigurationNotification-v1.json b/json/BalancePlatformConfigurationNotification-v1.json index 5d53f3e..8da13d1 100644 --- a/json/BalancePlatformConfigurationNotification-v1.json +++ b/json/BalancePlatformConfigurationNotification-v1.json @@ -23,6 +23,9 @@ }, { "name" : "Card order" + }, + { + "name" : "Network token" } ], "webhooks" : { @@ -418,6 +421,84 @@ } } }, + "balancePlatform.networkToken.created" : { + "post" : { + "tags" : [ + "Network token" + ], + "summary" : "Network token created", + "description" : "Adyen sends this webhook when you initiate a request for provisioning a network token.", + "operationId" : "post-balancePlatform.networkToken.created", + "x-sortIndex" : 1, + "x-methodName" : "networkTokenCreated", + "security" : [ + { + "BasicAuth" : [ + ] + } + ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/NetworkTokenNotificationRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/BalancePlatformNotificationResponse" + } + } + }, + "description" : "OK - the request has succeeded." + } + } + } + }, + "balancePlatform.networkToken.updated" : { + "post" : { + "tags" : [ + "Network token" + ], + "summary" : "Network token updated", + "description" : "Adyen sends this webhook when there is an internal status update for the network token during the provisioning process.", + "operationId" : "post-balancePlatform.networkToken.updated", + "x-sortIndex" : 2, + "x-methodName" : "networkTokenUpdated", + "security" : [ + { + "BasicAuth" : [ + ] + } + ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/NetworkTokenNotificationRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/BalancePlatformNotificationResponse" + } + } + }, + "description" : "OK - the request has succeeded." + } + } + } + }, "balancePlatform.paymentInstrument.created" : { "post" : { "tags" : [ @@ -1268,7 +1349,7 @@ "type" : "string" }, "threeDSecure" : { - "description" : "Allocates a specific product range for either a physical or a virtual card. Possible values: **fullySupported**, **secureCorporate**.\n>Reach out to your Adyen contact to get the values relevant for your integration.", + "description" : "Allocates a specific product range for either a physical or a virtual card. Possible values: **fullySupported**, **secureCorporate**.\n> Reach out to your Adyen contact to get the values relevant for your integration.", "type" : "string" } }, @@ -1508,6 +1589,20 @@ ], "type" : "object" }, + "Device" : { + "additionalProperties" : false, + "properties" : { + "formFactor" : { + "description" : "The form factor of the device used for provisioning the network token.\n\nPossible values: **virtual**, **physical**.", + "type" : "string" + }, + "osName" : { + "description" : "The operating system of the device used for provisioning the network token.", + "type" : "string" + } + }, + "type" : "object" + }, "Expiry" : { "additionalProperties" : false, "properties" : { @@ -1564,6 +1659,91 @@ ], "type" : "object" }, + "NetworkTokenNotificationDataV2" : { + "additionalProperties" : false, + "properties" : { + "authentication" : { + "description" : "Contains information about the authentication process triggered during token provisioning.", + "$ref" : "#/components/schemas/TokenAuthentication" + }, + "authenticationApplied" : { + "description" : "Specifies whether the authentication process was triggered during token provisioning.", + "type" : "boolean" + }, + "balancePlatform" : { + "description" : "The unique identifier of the balance platform.", + "type" : "string" + }, + "decision" : { + "description" : "The decision about the network token provisioning.\n\nPossible values: **approved**, **declined**, **requiresAuthentication**.", + "type" : "string" + }, + "id" : { + "description" : "The unique identifier of the network token.", + "type" : "string" + }, + "paymentInstrumentId" : { + "description" : "The unique identifier of the payment instrument to which the network token is associated.", + "type" : "string" + }, + "status" : { + "description" : "The status of the network token.", + "type" : "string" + }, + "tokenLastFour" : { + "description" : "The last four digits of the network token. Use this value to help your user to identify their network token.", + "type" : "string" + }, + "type" : { + "description" : "The type of network token.", + "type" : "string" + }, + "validationFacts" : { + "description" : "The rules used to validate the request for provisioning the network token.", + "items" : { + "$ref" : "#/components/schemas/ValidationFacts" + }, + "type" : "array" + }, + "wallet" : { + "description" : "Contains information about the wallet for which the network token is provisioned.", + "$ref" : "#/components/schemas/Wallet" + } + }, + "type" : "object" + }, + "NetworkTokenNotificationRequest" : { + "additionalProperties" : false, + "properties" : { + "data" : { + "description" : "Contains event details.", + "$ref" : "#/components/schemas/NetworkTokenNotificationDataV2" + }, + "environment" : { + "description" : "The environment from which the webhook originated.\n\nPossible values: **test**, **live**.", + "type" : "string" + }, + "timestamp" : { + "description" : "When the event was queued.", + "format" : "date-time", + "type" : "string" + }, + "type" : { + "description" : "The type of webhook.", + "enum" : [ + "balancePlatform.networkToken.created", + "balancePlatform.networkToken.updated" + ], + "type" : "string" + } + }, + "required" : [ + "environment", + "type", + "data" + ], + "type" : "object" + }, "PaymentInstrument" : { "additionalProperties" : false, "properties" : { @@ -2024,6 +2204,47 @@ ], "type" : "object" }, + "TokenAuthentication" : { + "additionalProperties" : false, + "properties" : { + "method" : { + "description" : "The method used to complete the authentication process.\n\nPossible values: **sms_OTP**, **email_OTP**.", + "type" : "string" + }, + "result" : { + "description" : "The result of the authentication process.", + "type" : "string" + } + }, + "type" : "object" + }, + "ValidationFacts" : { + "additionalProperties" : false, + "properties" : { + "reasons" : { + "description" : "The reason for the `result` of the validations. For example: **walletValidation**, **paymentInstrument**.\n\nSent only when `result` is **invalid**.", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "result" : { + "description" : "The evaluation result of the validation facts.\n\nPossible values: **valid**, **invalid**, **notValidated**, **notApplicable**.", + "enum" : [ + "invalid", + "notApplicable", + "notValidated", + "valid" + ], + "type" : "string" + }, + "type" : { + "description" : "The type of the validation fact.", + "type" : "string" + } + }, + "type" : "object" + }, "VerificationDeadline" : { "additionalProperties" : false, "properties" : { @@ -2306,6 +2527,59 @@ "required" : [ ], "type" : "object" + }, + "Wallet" : { + "additionalProperties" : false, + "properties" : { + "accountScore" : { + "description" : "The confidence score of the wallet account, calculated by the wallet provider.\n\nA high score means that account is considered trustworthy. A low score means that the account is considered suspicious.\n\nPossible values: **1** to **5**.", + "type" : "string" + }, + "device" : { + "description" : "Contains information about the device used for provisioning the network token.", + "$ref" : "#/components/schemas/Device" + }, + "deviceScore" : { + "description" : "The confidence score of the device, calculated by the wallet provider.\n\nA high score means that device is considered trustworthy. A low score means that the device is considered suspicious.\n\nPossible values: **1** to **5**.", + "type" : "string" + }, + "provisioningMethod" : { + "description" : "The method used for provisioning the network token.\n\nPossible values: **push**, **manual**.", + "type" : "string" + }, + "recommendationReasons" : { + "description" : "A list of codes that specify the reasons for the provided scores.", + "items" : { + "enum" : [ + "accountCardTooNew", + "accountHighRisk", + "accountRecentlyChanged", + "accountTooNew", + "accountTooNewSinceLaunch", + "deviceRecentlyLost", + "hasSuspendedTokens", + "inactiveAccount", + "lowAccountScore", + "lowDeviceScore", + "lowPhoneNumberScore", + "outSideHomeTerritory", + "suspiciousActivity", + "tooManyDifferentCardholders", + "tooManyRecentAttempts", + "tooManyRecentTokens", + "unableToAssess", + "unknown" + ], + "type" : "string" + }, + "type" : "array" + }, + "type" : { + "description" : "The type of wallet that the network token is associated with.\n\nPossible values: **applePay**, **googlePay**, **garminPay**.", + "type" : "string" + } + }, + "type" : "object" } }, "securitySchemes" : { diff --git a/json/BalancePlatformConfigurationNotification-v2.json b/json/BalancePlatformConfigurationNotification-v2.json index 10d4eff..55ad900 100644 --- a/json/BalancePlatformConfigurationNotification-v2.json +++ b/json/BalancePlatformConfigurationNotification-v2.json @@ -23,6 +23,9 @@ }, { "name" : "Card order" + }, + { + "name" : "Network token" } ], "webhooks" : { @@ -437,6 +440,84 @@ } } }, + "balancePlatform.networkToken.created" : { + "post" : { + "tags" : [ + "Network token" + ], + "summary" : "Network token created", + "description" : "Adyen sends this webhook when you initiate a request for provisioning a network token.", + "operationId" : "post-balancePlatform.networkToken.created", + "x-sortIndex" : 1, + "x-methodName" : "networkTokenCreated", + "security" : [ + { + "BasicAuth" : [ + ] + } + ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/NetworkTokenNotificationRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/BalancePlatformNotificationResponse" + } + } + }, + "description" : "OK - the request has succeeded." + } + } + } + }, + "balancePlatform.networkToken.updated" : { + "post" : { + "tags" : [ + "Network token" + ], + "summary" : "Network token updated", + "description" : "Adyen sends this webhook when there is an internal status update for the network token during the provisioning process.", + "operationId" : "post-balancePlatform.networkToken.updated", + "x-sortIndex" : 2, + "x-methodName" : "networkTokenUpdated", + "security" : [ + { + "BasicAuth" : [ + ] + } + ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/NetworkTokenNotificationRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/BalancePlatformNotificationResponse" + } + } + }, + "description" : "OK - the request has succeeded." + } + } + } + }, "balancePlatform.paymentInstrument.created" : { "post" : { "tags" : [ @@ -1280,7 +1361,7 @@ "type" : "string" }, "threeDSecure" : { - "description" : "Allocates a specific product range for either a physical or a virtual card. Possible values: **fullySupported**, **secureCorporate**.\n>Reach out to your Adyen contact to get the values relevant for your integration.", + "description" : "Allocates a specific product range for either a physical or a virtual card. Possible values: **fullySupported**, **secureCorporate**.\n> Reach out to your Adyen contact to get the values relevant for your integration.", "type" : "string" } }, @@ -1562,6 +1643,20 @@ ], "type" : "object" }, + "Device" : { + "additionalProperties" : false, + "properties" : { + "formFactor" : { + "description" : "The form factor of the device used for provisioning the network token.\n\nPossible values: **virtual**, **physical**.", + "type" : "string" + }, + "osName" : { + "description" : "The operating system of the device used for provisioning the network token.", + "type" : "string" + } + }, + "type" : "object" + }, "Expiry" : { "additionalProperties" : false, "properties" : { @@ -1618,6 +1713,91 @@ ], "type" : "object" }, + "NetworkTokenNotificationDataV2" : { + "additionalProperties" : false, + "properties" : { + "authentication" : { + "description" : "Contains information about the authentication process triggered during token provisioning.", + "$ref" : "#/components/schemas/TokenAuthentication" + }, + "authenticationApplied" : { + "description" : "Specifies whether the authentication process was triggered during token provisioning.", + "type" : "boolean" + }, + "balancePlatform" : { + "description" : "The unique identifier of the balance platform.", + "type" : "string" + }, + "decision" : { + "description" : "The decision about the network token provisioning.\n\nPossible values: **approved**, **declined**, **requiresAuthentication**.", + "type" : "string" + }, + "id" : { + "description" : "The unique identifier of the network token.", + "type" : "string" + }, + "paymentInstrumentId" : { + "description" : "The unique identifier of the payment instrument to which the network token is associated.", + "type" : "string" + }, + "status" : { + "description" : "The status of the network token.", + "type" : "string" + }, + "tokenLastFour" : { + "description" : "The last four digits of the network token. Use this value to help your user to identify their network token.", + "type" : "string" + }, + "type" : { + "description" : "The type of network token.", + "type" : "string" + }, + "validationFacts" : { + "description" : "The rules used to validate the request for provisioning the network token.", + "items" : { + "$ref" : "#/components/schemas/ValidationFacts" + }, + "type" : "array" + }, + "wallet" : { + "description" : "Contains information about the wallet for which the network token is provisioned.", + "$ref" : "#/components/schemas/Wallet" + } + }, + "type" : "object" + }, + "NetworkTokenNotificationRequest" : { + "additionalProperties" : false, + "properties" : { + "data" : { + "description" : "Contains event details.", + "$ref" : "#/components/schemas/NetworkTokenNotificationDataV2" + }, + "environment" : { + "description" : "The environment from which the webhook originated.\n\nPossible values: **test**, **live**.", + "type" : "string" + }, + "timestamp" : { + "description" : "When the event was queued.", + "format" : "date-time", + "type" : "string" + }, + "type" : { + "description" : "The type of webhook.", + "enum" : [ + "balancePlatform.networkToken.created", + "balancePlatform.networkToken.updated" + ], + "type" : "string" + } + }, + "required" : [ + "environment", + "type", + "data" + ], + "type" : "object" + }, "PaymentInstrument" : { "additionalProperties" : false, "properties" : { @@ -2090,6 +2270,47 @@ ], "type" : "object" }, + "TokenAuthentication" : { + "additionalProperties" : false, + "properties" : { + "method" : { + "description" : "The method used to complete the authentication process.\n\nPossible values: **sms_OTP**, **email_OTP**.", + "type" : "string" + }, + "result" : { + "description" : "The result of the authentication process.", + "type" : "string" + } + }, + "type" : "object" + }, + "ValidationFacts" : { + "additionalProperties" : false, + "properties" : { + "reasons" : { + "description" : "The reason for the `result` of the validations. For example: **walletValidation**, **paymentInstrument**.\n\nSent only when `result` is **invalid**.", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "result" : { + "description" : "The evaluation result of the validation facts.\n\nPossible values: **valid**, **invalid**, **notValidated**, **notApplicable**.", + "enum" : [ + "invalid", + "notApplicable", + "notValidated", + "valid" + ], + "type" : "string" + }, + "type" : { + "description" : "The type of the validation fact.", + "type" : "string" + } + }, + "type" : "object" + }, "VerificationDeadline" : { "additionalProperties" : false, "properties" : { @@ -2372,6 +2593,59 @@ "required" : [ ], "type" : "object" + }, + "Wallet" : { + "additionalProperties" : false, + "properties" : { + "accountScore" : { + "description" : "The confidence score of the wallet account, calculated by the wallet provider.\n\nA high score means that account is considered trustworthy. A low score means that the account is considered suspicious.\n\nPossible values: **1** to **5**.", + "type" : "string" + }, + "device" : { + "description" : "Contains information about the device used for provisioning the network token.", + "$ref" : "#/components/schemas/Device" + }, + "deviceScore" : { + "description" : "The confidence score of the device, calculated by the wallet provider.\n\nA high score means that device is considered trustworthy. A low score means that the device is considered suspicious.\n\nPossible values: **1** to **5**.", + "type" : "string" + }, + "provisioningMethod" : { + "description" : "The method used for provisioning the network token.\n\nPossible values: **push**, **manual**.", + "type" : "string" + }, + "recommendationReasons" : { + "description" : "A list of codes that specify the reasons for the provided scores.", + "items" : { + "enum" : [ + "accountCardTooNew", + "accountHighRisk", + "accountRecentlyChanged", + "accountTooNew", + "accountTooNewSinceLaunch", + "deviceRecentlyLost", + "hasSuspendedTokens", + "inactiveAccount", + "lowAccountScore", + "lowDeviceScore", + "lowPhoneNumberScore", + "outSideHomeTerritory", + "suspiciousActivity", + "tooManyDifferentCardholders", + "tooManyRecentAttempts", + "tooManyRecentTokens", + "unableToAssess", + "unknown" + ], + "type" : "string" + }, + "type" : "array" + }, + "type" : { + "description" : "The type of wallet that the network token is associated with.\n\nPossible values: **applePay**, **googlePay**, **garminPay**.", + "type" : "string" + } + }, + "type" : "object" } }, "securitySchemes" : { diff --git a/json/BalancePlatformService-v2.json b/json/BalancePlatformService-v2.json index d3c05f3..e76b4b5 100644 --- a/json/BalancePlatformService-v2.json +++ b/json/BalancePlatformService-v2.json @@ -8673,7 +8673,7 @@ }, "threeDSecure" : { "type" : "string", - "description" : "Allocates a specific product range for either a physical or a virtual card. Possible values: **fullySupported**, **secureCorporate**.\n>Reach out to your Adyen contact to get the values relevant for your integration." + "description" : "Allocates a specific product range for either a physical or a virtual card. Possible values: **fullySupported**, **secureCorporate**.\n> Reach out to your Adyen contact to get the values relevant for your integration." } }, "required" : [ "brand", "brandVariant", "cardholderName", "formFactor", "number" ] @@ -8779,7 +8779,7 @@ }, "threeDSecure" : { "type" : "string", - "description" : "Allocates a specific product range for either a physical or a virtual card. Possible values: **fullySupported**, **secureCorporate**.\n>Reach out to your Adyen contact to get the values relevant for your integration." + "description" : "Allocates a specific product range for either a physical or a virtual card. Possible values: **fullySupported**, **secureCorporate**.\n> Reach out to your Adyen contact to get the values relevant for your integration." } }, "required" : [ "brand", "brandVariant", "cardholderName", "formFactor" ] @@ -11245,6 +11245,10 @@ "walletProviderDeviceScore" : { "$ref" : "#/components/schemas/WalletProviderDeviceScore", "description" : "Wallet Provider Device Score and the operation.\n\nSupported operations: **equals**, **notEquals**, **greaterThanOrEqualTo**, **greaterThan**, **lessThanOrEqualTo**, **lessThan**." + }, + "walletProviderDeviceType" : { + "$ref" : "#/components/schemas/WalletProviderDeviceType", + "description" : "Wallet Provider Device Type and the operation.\n\nSupported operations: **anyMatch**, **noneMatch**.\n\nSupported value inputs:\n- **MOBILE_PHONE**\n- **TABLET_OR_EREADER**\n- **WATCH_OR_WRISTBAND**\n- **WEARABLE**\n\n- **CARD**\n- **PC**\n- **OTHER**\n- **UNKNOWN**\n" } } }, @@ -11268,7 +11272,7 @@ "category" : { "type" : "string", "description" : " The type of transfer.\n\n Possible values:\n\n - **bank**: Transfer to a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account.\n", - "enum" : [ "bank", "card", "grants", "internal", "issuedCard", "migration", "platformPayment", "topUp", "upgrade" ] + "enum" : [ "bank", "card", "grants", "interest", "internal", "issuedCard", "migration", "platformPayment", "topUp", "upgrade" ] }, "country" : { "type" : "string", @@ -11765,6 +11769,24 @@ }, "required" : [ "operation" ] }, + "WalletProviderDeviceType" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "operation" : { + "type" : "string", + "description" : "Defines how the condition must be evaluated." + }, + "value" : { + "type" : "array", + "items" : { + "type" : "string", + "enum" : [ "CARD", "MOBILE_PHONE", "OTHER", "PC", "TABLET_OR_EREADER", "UNKNOWN", "WATCH_OR_WRISTBAND", "WEARABLE" ] + } + } + }, + "required" : [ "operation" ] + }, "BalanceWebhookSettingInfo" : { "type" : "object", "properties" : { diff --git a/yaml/BalancePlatformBalanceNotification-v1.yaml b/yaml/BalancePlatformBalanceNotification-v1.yaml index 6e8117b..4c54f8a 100644 --- a/yaml/BalancePlatformBalanceNotification-v1.yaml +++ b/yaml/BalancePlatformBalanceNotification-v1.yaml @@ -20,9 +20,8 @@ info: name: Adyen Developer Experience team url: https://github.com/Adyen/adyen-openapi version: '1' - x-timestamp: '2025-03-20T15:36:19Z' + x-timestamp: '2025-05-15T18:31:46Z' tags: -- name: balancePlatform.balanceAccount.balance.updated - name: Balances webhooks: balanceAccount.balance.updated: @@ -44,9 +43,12 @@ webhooks: description: Balance changed value: data: - settingIds: BWHS00000000000000000000000001 + settingIds: + - BWHS00000000000000000000000001 + - BWHS00000000000000000000000002 creationDate: '2025-01-19T13:37:38+02:00' balancePlatform: YOUR_BALANCE_PLATFORM + balanceAccountId: BA00000000000000000000000001 currency: USD balances: available: 499900 diff --git a/yaml/BalancePlatformConfigurationNotification-v1.yaml b/yaml/BalancePlatformConfigurationNotification-v1.yaml index 4a7cfbf..01311b8 100644 --- a/yaml/BalancePlatformConfigurationNotification-v1.yaml +++ b/yaml/BalancePlatformConfigurationNotification-v1.yaml @@ -19,6 +19,7 @@ tags: - name: Balance account - name: Payment instrument - name: Card order +- name: Network token webhooks: balancePlatform.accountHolder.created: post: @@ -259,6 +260,54 @@ webhooks: schema: $ref: '#/components/schemas/BalancePlatformNotificationResponse' description: OK - the request has succeeded. + balancePlatform.networkToken.created: + post: + tags: + - Network token + summary: Network token created + description: Adyen sends this webhook when you initiate a request for provisioning + a network token. + operationId: post-balancePlatform.networkToken.created + x-sortIndex: 1 + x-methodName: networkTokenCreated + security: + - BasicAuth: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkTokenNotificationRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/BalancePlatformNotificationResponse' + description: OK - the request has succeeded. + balancePlatform.networkToken.updated: + post: + tags: + - Network token + summary: Network token updated + description: Adyen sends this webhook when there is an internal status update + for the network token during the provisioning process. + operationId: post-balancePlatform.networkToken.updated + x-sortIndex: 2 + x-methodName: networkTokenUpdated + security: + - BasicAuth: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkTokenNotificationRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/BalancePlatformNotificationResponse' + description: OK - the request has succeeded. balancePlatform.paymentInstrument.created: post: tags: @@ -1098,7 +1147,8 @@ components: description: 'Allocates a specific product range for either a physical or a virtual card. Possible values: **fullySupported**, **secureCorporate**. - >Reach out to your Adyen contact to get the values relevant for your integration.' + > Reach out to your Adyen contact to get the values relevant for your + integration.' type: string required: - formFactor @@ -1312,6 +1362,21 @@ components: - phone - address type: object + Device: + additionalProperties: false + properties: + formFactor: + description: 'The form factor of the device used for provisioning the network + token. + + + Possible values: **virtual**, **physical**.' + type: string + osName: + description: The operating system of the device used for provisioning the + network token. + type: string + type: object Expiry: additionalProperties: false properties: @@ -1354,6 +1419,81 @@ components: - firstName - lastName type: object + NetworkTokenNotificationDataV2: + additionalProperties: false + properties: + authentication: + description: Contains information about the authentication process triggered + during token provisioning. + $ref: '#/components/schemas/TokenAuthentication' + authenticationApplied: + description: Specifies whether the authentication process was triggered + during token provisioning. + type: boolean + balancePlatform: + description: The unique identifier of the balance platform. + type: string + decision: + description: 'The decision about the network token provisioning. + + + Possible values: **approved**, **declined**, **requiresAuthentication**.' + type: string + id: + description: The unique identifier of the network token. + type: string + paymentInstrumentId: + description: The unique identifier of the payment instrument to which the + network token is associated. + type: string + status: + description: The status of the network token. + type: string + tokenLastFour: + description: The last four digits of the network token. Use this value to + help your user to identify their network token. + type: string + type: + description: The type of network token. + type: string + validationFacts: + description: The rules used to validate the request for provisioning the + network token. + items: + $ref: '#/components/schemas/ValidationFacts' + type: array + wallet: + description: Contains information about the wallet for which the network + token is provisioned. + $ref: '#/components/schemas/Wallet' + type: object + NetworkTokenNotificationRequest: + additionalProperties: false + properties: + data: + description: Contains event details. + $ref: '#/components/schemas/NetworkTokenNotificationDataV2' + environment: + description: 'The environment from which the webhook originated. + + + Possible values: **test**, **live**.' + type: string + timestamp: + description: When the event was queued. + format: date-time + type: string + type: + description: The type of webhook. + enum: + - balancePlatform.networkToken.created + - balancePlatform.networkToken.updated + type: string + required: + - environment + - type + - data + type: object PaymentInstrument: additionalProperties: false properties: @@ -1863,6 +2003,46 @@ components: required: - type type: object + TokenAuthentication: + additionalProperties: false + properties: + method: + description: 'The method used to complete the authentication process. + + + Possible values: **sms_OTP**, **email_OTP**.' + type: string + result: + description: The result of the authentication process. + type: string + type: object + ValidationFacts: + additionalProperties: false + properties: + reasons: + description: 'The reason for the `result` of the validations. For example: + **walletValidation**, **paymentInstrument**. + + + Sent only when `result` is **invalid**.' + items: + type: string + type: array + result: + description: 'The evaluation result of the validation facts. + + + Possible values: **valid**, **invalid**, **notValidated**, **notApplicable**.' + enum: + - invalid + - notApplicable + - notValidated + - valid + type: string + type: + description: The type of the validation fact. + type: string + type: object VerificationDeadline: additionalProperties: false properties: @@ -2120,6 +2300,72 @@ components: type: array required: [] type: object + Wallet: + additionalProperties: false + properties: + accountScore: + description: 'The confidence score of the wallet account, calculated by + the wallet provider. + + + A high score means that account is considered trustworthy. A low score + means that the account is considered suspicious. + + + Possible values: **1** to **5**.' + type: string + device: + description: Contains information about the device used for provisioning + the network token. + $ref: '#/components/schemas/Device' + deviceScore: + description: 'The confidence score of the device, calculated by the wallet + provider. + + + A high score means that device is considered trustworthy. A low score + means that the device is considered suspicious. + + + Possible values: **1** to **5**.' + type: string + provisioningMethod: + description: 'The method used for provisioning the network token. + + + Possible values: **push**, **manual**.' + type: string + recommendationReasons: + description: A list of codes that specify the reasons for the provided scores. + items: + enum: + - accountCardTooNew + - accountHighRisk + - accountRecentlyChanged + - accountTooNew + - accountTooNewSinceLaunch + - deviceRecentlyLost + - hasSuspendedTokens + - inactiveAccount + - lowAccountScore + - lowDeviceScore + - lowPhoneNumberScore + - outSideHomeTerritory + - suspiciousActivity + - tooManyDifferentCardholders + - tooManyRecentAttempts + - tooManyRecentTokens + - unableToAssess + - unknown + type: string + type: array + type: + description: 'The type of wallet that the network token is associated with. + + + Possible values: **applePay**, **googlePay**, **garminPay**.' + type: string + type: object securitySchemes: BasicAuth: scheme: basic diff --git a/yaml/BalancePlatformConfigurationNotification-v2.yaml b/yaml/BalancePlatformConfigurationNotification-v2.yaml index 1334cfd..71e3c5e 100644 --- a/yaml/BalancePlatformConfigurationNotification-v2.yaml +++ b/yaml/BalancePlatformConfigurationNotification-v2.yaml @@ -19,6 +19,7 @@ tags: - name: Balance account - name: Payment instrument - name: Card order +- name: Network token webhooks: balancePlatform.accountHolder.created: post: @@ -271,6 +272,54 @@ webhooks: schema: $ref: '#/components/schemas/BalancePlatformNotificationResponse' description: OK - the request has succeeded. + balancePlatform.networkToken.created: + post: + tags: + - Network token + summary: Network token created + description: Adyen sends this webhook when you initiate a request for provisioning + a network token. + operationId: post-balancePlatform.networkToken.created + x-sortIndex: 1 + x-methodName: networkTokenCreated + security: + - BasicAuth: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkTokenNotificationRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/BalancePlatformNotificationResponse' + description: OK - the request has succeeded. + balancePlatform.networkToken.updated: + post: + tags: + - Network token + summary: Network token updated + description: Adyen sends this webhook when there is an internal status update + for the network token during the provisioning process. + operationId: post-balancePlatform.networkToken.updated + x-sortIndex: 2 + x-methodName: networkTokenUpdated + security: + - BasicAuth: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkTokenNotificationRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/BalancePlatformNotificationResponse' + description: OK - the request has succeeded. balancePlatform.paymentInstrument.created: post: tags: @@ -1104,7 +1153,8 @@ components: description: 'Allocates a specific product range for either a physical or a virtual card. Possible values: **fullySupported**, **secureCorporate**. - >Reach out to your Adyen contact to get the values relevant for your integration.' + > Reach out to your Adyen contact to get the values relevant for your + integration.' type: string required: - formFactor @@ -1369,6 +1419,21 @@ components: - name - address type: object + Device: + additionalProperties: false + properties: + formFactor: + description: 'The form factor of the device used for provisioning the network + token. + + + Possible values: **virtual**, **physical**.' + type: string + osName: + description: The operating system of the device used for provisioning the + network token. + type: string + type: object Expiry: additionalProperties: false properties: @@ -1411,6 +1476,81 @@ components: - firstName - lastName type: object + NetworkTokenNotificationDataV2: + additionalProperties: false + properties: + authentication: + description: Contains information about the authentication process triggered + during token provisioning. + $ref: '#/components/schemas/TokenAuthentication' + authenticationApplied: + description: Specifies whether the authentication process was triggered + during token provisioning. + type: boolean + balancePlatform: + description: The unique identifier of the balance platform. + type: string + decision: + description: 'The decision about the network token provisioning. + + + Possible values: **approved**, **declined**, **requiresAuthentication**.' + type: string + id: + description: The unique identifier of the network token. + type: string + paymentInstrumentId: + description: The unique identifier of the payment instrument to which the + network token is associated. + type: string + status: + description: The status of the network token. + type: string + tokenLastFour: + description: The last four digits of the network token. Use this value to + help your user to identify their network token. + type: string + type: + description: The type of network token. + type: string + validationFacts: + description: The rules used to validate the request for provisioning the + network token. + items: + $ref: '#/components/schemas/ValidationFacts' + type: array + wallet: + description: Contains information about the wallet for which the network + token is provisioned. + $ref: '#/components/schemas/Wallet' + type: object + NetworkTokenNotificationRequest: + additionalProperties: false + properties: + data: + description: Contains event details. + $ref: '#/components/schemas/NetworkTokenNotificationDataV2' + environment: + description: 'The environment from which the webhook originated. + + + Possible values: **test**, **live**.' + type: string + timestamp: + description: When the event was queued. + format: date-time + type: string + type: + description: The type of webhook. + enum: + - balancePlatform.networkToken.created + - balancePlatform.networkToken.updated + type: string + required: + - environment + - type + - data + type: object PaymentInstrument: additionalProperties: false properties: @@ -1978,6 +2118,46 @@ components: required: - type type: object + TokenAuthentication: + additionalProperties: false + properties: + method: + description: 'The method used to complete the authentication process. + + + Possible values: **sms_OTP**, **email_OTP**.' + type: string + result: + description: The result of the authentication process. + type: string + type: object + ValidationFacts: + additionalProperties: false + properties: + reasons: + description: 'The reason for the `result` of the validations. For example: + **walletValidation**, **paymentInstrument**. + + + Sent only when `result` is **invalid**.' + items: + type: string + type: array + result: + description: 'The evaluation result of the validation facts. + + + Possible values: **valid**, **invalid**, **notValidated**, **notApplicable**.' + enum: + - invalid + - notApplicable + - notValidated + - valid + type: string + type: + description: The type of the validation fact. + type: string + type: object VerificationDeadline: additionalProperties: false properties: @@ -2235,6 +2415,72 @@ components: type: array required: [] type: object + Wallet: + additionalProperties: false + properties: + accountScore: + description: 'The confidence score of the wallet account, calculated by + the wallet provider. + + + A high score means that account is considered trustworthy. A low score + means that the account is considered suspicious. + + + Possible values: **1** to **5**.' + type: string + device: + description: Contains information about the device used for provisioning + the network token. + $ref: '#/components/schemas/Device' + deviceScore: + description: 'The confidence score of the device, calculated by the wallet + provider. + + + A high score means that device is considered trustworthy. A low score + means that the device is considered suspicious. + + + Possible values: **1** to **5**.' + type: string + provisioningMethod: + description: 'The method used for provisioning the network token. + + + Possible values: **push**, **manual**.' + type: string + recommendationReasons: + description: A list of codes that specify the reasons for the provided scores. + items: + enum: + - accountCardTooNew + - accountHighRisk + - accountRecentlyChanged + - accountTooNew + - accountTooNewSinceLaunch + - deviceRecentlyLost + - hasSuspendedTokens + - inactiveAccount + - lowAccountScore + - lowDeviceScore + - lowPhoneNumberScore + - outSideHomeTerritory + - suspiciousActivity + - tooManyDifferentCardholders + - tooManyRecentAttempts + - tooManyRecentTokens + - unableToAssess + - unknown + type: string + type: array + type: + description: 'The type of wallet that the network token is associated with. + + + Possible values: **applePay**, **googlePay**, **garminPay**.' + type: string + type: object securitySchemes: BasicAuth: scheme: basic diff --git a/yaml/BalancePlatformService-v2.yaml b/yaml/BalancePlatformService-v2.yaml index 066e06e..8ea8a87 100644 --- a/yaml/BalancePlatformService-v2.yaml +++ b/yaml/BalancePlatformService-v2.yaml @@ -6551,7 +6551,8 @@ components: description: 'Allocates a specific product range for either a physical or a virtual card. Possible values: **fullySupported**, **secureCorporate**. - >Reach out to your Adyen contact to get the values relevant for your integration.' + > Reach out to your Adyen contact to get the values relevant for your + integration.' required: - brand - brandVariant @@ -6679,7 +6680,8 @@ components: description: 'Allocates a specific product range for either a physical or a virtual card. Possible values: **fullySupported**, **secureCorporate**. - >Reach out to your Adyen contact to get the values relevant for your integration.' + > Reach out to your Adyen contact to get the values relevant for your + integration.' required: - brand - brandVariant @@ -9730,6 +9732,34 @@ components: Supported operations: **equals**, **notEquals**, **greaterThanOrEqualTo**, **greaterThan**, **lessThanOrEqualTo**, **lessThan**.' + walletProviderDeviceType: + $ref: '#/components/schemas/WalletProviderDeviceType' + description: 'Wallet Provider Device Type and the operation. + + + Supported operations: **anyMatch**, **noneMatch**. + + + Supported value inputs: + + - **MOBILE_PHONE** + + - **TABLET_OR_EREADER** + + - **WATCH_OR_WRISTBAND** + + - **WEARABLE** + + + - **CARD** + + - **PC** + + - **OTHER** + + - **UNKNOWN** + + ' TransactionRulesResponse: type: object additionalProperties: false @@ -9752,6 +9782,7 @@ components: - bank - card - grants + - interest - internal - issuedCard - migration @@ -10590,6 +10621,28 @@ components: format: int32 required: - operation + WalletProviderDeviceType: + type: object + additionalProperties: false + properties: + operation: + type: string + description: Defines how the condition must be evaluated. + value: + type: array + items: + type: string + enum: + - CARD + - MOBILE_PHONE + - OTHER + - PC + - TABLET_OR_EREADER + - UNKNOWN + - WATCH_OR_WRISTBAND + - WEARABLE + required: + - operation BalanceWebhookSettingInfo: type: object properties: