From 48cb5faee70c563a0e7e8c72de02c5fe5cee92a9 Mon Sep 17 00:00:00 2001 From: Beppe Catanese Date: Thu, 8 May 2025 13:01:48 +0200 Subject: [PATCH 1/7] Generate Payout API --- src/typings/payout/models.ts | 1 + .../payout/responseAdditionalDataCommon.ts | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/src/typings/payout/models.ts b/src/typings/payout/models.ts index 9c8affd63..fe9ea9529 100644 --- a/src/typings/payout/models.ts +++ b/src/typings/payout/models.ts @@ -90,6 +90,7 @@ let enumsMap: {[index: string]: any} = { "Recurring.TokenServiceEnum": Recurring.TokenServiceEnum, "ResponseAdditionalDataCard.CardProductIdEnum": ResponseAdditionalDataCard.CardProductIdEnum, "ResponseAdditionalDataCommon.FraudResultTypeEnum": ResponseAdditionalDataCommon.FraudResultTypeEnum, + "ResponseAdditionalDataCommon.FraudRiskLevelEnum": ResponseAdditionalDataCommon.FraudRiskLevelEnum, "ResponseAdditionalDataCommon.RecurringProcessingModelEnum": ResponseAdditionalDataCommon.RecurringProcessingModelEnum, "ResponseAdditionalDataCommon.TokenizationStoreOperationTypeEnum": ResponseAdditionalDataCommon.TokenizationStoreOperationTypeEnum, "StoreDetailAndSubmitRequest.EntityTypeEnum": StoreDetailAndSubmitRequest.EntityTypeEnum, diff --git a/src/typings/payout/responseAdditionalDataCommon.ts b/src/typings/payout/responseAdditionalDataCommon.ts index e18cf95c7..90695f9c9 100644 --- a/src/typings/payout/responseAdditionalDataCommon.ts +++ b/src/typings/payout/responseAdditionalDataCommon.ts @@ -102,6 +102,10 @@ export class ResponseAdditionalDataCommon { */ 'fraudResultType'?: ResponseAdditionalDataCommon.FraudResultTypeEnum; /** + * The risk level of the payment as determined by the FDM machine learning model. + */ + 'fraudRiskLevel'?: ResponseAdditionalDataCommon.FraudRiskLevelEnum; + /** * Information regarding the funding type of the card. The possible return values are: * CHARGE * CREDIT * DEBIT * PREPAID * PREPAID_RELOADABLE * PREPAID_NONRELOADABLE * DEFFERED_DEBIT > This functionality requires additional configuration on Adyen\'s end. To enable it, contact the Support Team. For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. */ 'fundingSource'?: string; @@ -382,6 +386,11 @@ export class ResponseAdditionalDataCommon { "baseName": "fraudResultType", "type": "ResponseAdditionalDataCommon.FraudResultTypeEnum" }, + { + "name": "fraudRiskLevel", + "baseName": "fraudRiskLevel", + "type": "ResponseAdditionalDataCommon.FraudRiskLevelEnum" + }, { "name": "fundingSource", "baseName": "fundingSource", @@ -588,6 +597,13 @@ export namespace ResponseAdditionalDataCommon { Green = 'GREEN', Fraud = 'FRAUD' } + export enum FraudRiskLevelEnum { + VeryLow = 'Very low', + Low = 'Low', + Medium = 'Medium', + High = 'High', + VeryHigh = 'Very high' + } export enum RecurringProcessingModelEnum { CardOnFile = 'CardOnFile', Subscription = 'Subscription', From 3abd7834a222a2bf94d0852b63d052d150fdc90f Mon Sep 17 00:00:00 2001 From: Beppe Catanese Date: Thu, 8 May 2025 13:03:33 +0200 Subject: [PATCH 2/7] Update BalanceControl API --- src/typings/balanceControl/amount.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/typings/balanceControl/amount.ts b/src/typings/balanceControl/amount.ts index 1a703c2a4..a52ca2bdb 100644 --- a/src/typings/balanceControl/amount.ts +++ b/src/typings/balanceControl/amount.ts @@ -10,11 +10,11 @@ export class Amount { /** - * The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). + * The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). */ 'currency': string; /** - * The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). + * The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). */ 'value': number; From f496d41b681a0e0ed2a44f12783ec5f0bcd5a9e1 Mon Sep 17 00:00:00 2001 From: Beppe Catanese Date: Thu, 8 May 2025 13:04:12 +0200 Subject: [PATCH 3/7] Generate LEM API --- .../legalEntityManagement/onboardingLinkSettings.ts | 9 +++++++++ .../termsOfServiceAcceptanceInfo.ts | 11 ++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/typings/legalEntityManagement/onboardingLinkSettings.ts b/src/typings/legalEntityManagement/onboardingLinkSettings.ts index 1c98570d1..f866e9501 100644 --- a/src/typings/legalEntityManagement/onboardingLinkSettings.ts +++ b/src/typings/legalEntityManagement/onboardingLinkSettings.ts @@ -18,6 +18,10 @@ export class OnboardingLinkSettings { */ 'allowBankAccountFormatSelection'?: boolean; /** + * Default value: **true** Indicates whether the debug user interface (UI) is enabled. The debug UI provides information for your support staff to diagnose and resolve user issues during onboarding. It can be accessed using a keyboard shortcut. + */ + 'allowDebugUi'?: boolean; + /** * Default value: **false** Indicates if the user can select a payout account in a different EU/EEA location (including Switzerland and the UK) than the location of their legal entity. */ 'allowIntraRegionCrossBorderPayout'?: boolean; @@ -87,6 +91,11 @@ export class OnboardingLinkSettings { "baseName": "allowBankAccountFormatSelection", "type": "boolean" }, + { + "name": "allowDebugUi", + "baseName": "allowDebugUi", + "type": "boolean" + }, { "name": "allowIntraRegionCrossBorderPayout", "baseName": "allowIntraRegionCrossBorderPayout", diff --git a/src/typings/legalEntityManagement/termsOfServiceAcceptanceInfo.ts b/src/typings/legalEntityManagement/termsOfServiceAcceptanceInfo.ts index 3015b9097..1ac6a3ee1 100644 --- a/src/typings/legalEntityManagement/termsOfServiceAcceptanceInfo.ts +++ b/src/typings/legalEntityManagement/termsOfServiceAcceptanceInfo.ts @@ -18,7 +18,7 @@ export class TermsOfServiceAcceptanceInfo { */ 'acceptedFor'?: string; /** - * The date when the Terms of Service were accepted. + * The date when the Terms of Service were accepted, in ISO 8601 extended format. For example, 2022-12-18T10:15:30+01:00. */ 'createdAt'?: Date; /** @@ -29,6 +29,10 @@ export class TermsOfServiceAcceptanceInfo { * The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** * **adyenChargeCard** */ 'type'?: TermsOfServiceAcceptanceInfo.TypeEnum; + /** + * The expiration date for the Terms of Service acceptance, in ISO 8601 extended format. For example, 2022-12-18T00:00:00+01:00. + */ + 'validTo'?: Date; static discriminator: string | undefined = undefined; @@ -57,6 +61,11 @@ export class TermsOfServiceAcceptanceInfo { "name": "type", "baseName": "type", "type": "TermsOfServiceAcceptanceInfo.TypeEnum" + }, + { + "name": "validTo", + "baseName": "validTo", + "type": "Date" } ]; static getAttributeTypeMap() { From dab82eee8e7f25092deeccf47985c638e2babc2a Mon Sep 17 00:00:00 2001 From: Beppe Catanese Date: Thu, 8 May 2025 13:09:26 +0200 Subject: [PATCH 4/7] Generate Transfers API --- src/typings/transfers/address.ts | 10 ++--- src/typings/transfers/capitalGrant.ts | 7 ++- .../transfers/issuingTransactionData.ts | 44 +++++++++++++++++++ src/typings/transfers/lodging.ts | 39 ++++++++++++++++ src/typings/transfers/merchantData.ts | 4 +- src/typings/transfers/merchantPurchaseData.ts | 10 +++++ src/typings/transfers/models.ts | 8 ++++ src/typings/transfers/platformPayment.ts | 4 +- src/typings/transfers/transfer.ts | 1 + src/typings/transfers/transferData.ts | 10 ++++- src/typings/transfers/transferEvent.ts | 8 ++-- .../transferNotificationMerchantData.ts | 4 +- src/typings/transfers/transferReview.ts | 16 +++++++ 13 files changed, 149 insertions(+), 16 deletions(-) create mode 100644 src/typings/transfers/issuingTransactionData.ts create mode 100644 src/typings/transfers/lodging.ts diff --git a/src/typings/transfers/address.ts b/src/typings/transfers/address.ts index f0eef7a80..b2c5b90c8 100644 --- a/src/typings/transfers/address.ts +++ b/src/typings/transfers/address.ts @@ -10,7 +10,7 @@ export class Address { /** - * The name of the city. Supported characters: [a-z] [A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \\ | and Space. + * The name of the city. Supported characters: **[a-z] [A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \\ |** and Space. > Required when the `category` is **card**. */ 'city'?: string; /** @@ -18,19 +18,19 @@ export class Address { */ 'country': string; /** - * First line of the street address. Supported characters: [a-z] [A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \\ | and Space. + * The first line of the street address. Supported characters: **[a-z] [A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \\ |** and Space. > Required when the `category` is **card**. */ 'line1'?: string; /** - * Second line of the street address. Supported characters: [a-z] [A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \\ | and Space. + * The second line of the street address. Supported characters: **[a-z] [A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \\ |** and Space. > Required when the `category` is **card**. */ 'line2'?: string; /** - * The postal code. Maximum length: * 5 digits for an address in the US. * 10 characters for an address in all other countries. Supported characters: [a-z] [A-Z] [0-9] and Space. + * The postal code. Maximum length: * 5 digits for an address in the US. * 10 characters for an address in all other countries. Supported characters: **[a-z] [A-Z] [0-9]** and Space. > Required for addresses in the US. */ 'postalCode'?: string; /** - * The two-letter ISO 3166-2 state or province code. For example, **CA** in the US or **ON** in Canada. > Required for the US and Canada. + * The two-letter ISO 3166-2 state or province code. For example, **CA** in the US or **ON** in Canada. > Required for the US and Canada. */ 'stateOrProvince'?: string; diff --git a/src/typings/transfers/capitalGrant.ts b/src/typings/transfers/capitalGrant.ts index 85f40ef43..e2dd51d8e 100644 --- a/src/typings/transfers/capitalGrant.ts +++ b/src/typings/transfers/capitalGrant.ts @@ -32,7 +32,7 @@ export class CapitalGrant { 'id': string; 'repayment'?: Repayment | null; /** - * The current status of the grant. Possible values: **Pending**, **Active**, **Repaid**. + * The current status of the grant. Possible values: **Pending**, **Active**, **Repaid**, **WrittenOff**, **Failed**, **Revoked**. */ 'status': CapitalGrant.StatusEnum; @@ -94,6 +94,9 @@ export namespace CapitalGrant { export enum StatusEnum { Pending = 'Pending', Active = 'Active', - Repaid = 'Repaid' + Repaid = 'Repaid', + Failed = 'Failed', + WrittenOff = 'WrittenOff', + Revoked = 'Revoked' } } diff --git a/src/typings/transfers/issuingTransactionData.ts b/src/typings/transfers/issuingTransactionData.ts new file mode 100644 index 000000000..ad6b55c94 --- /dev/null +++ b/src/typings/transfers/issuingTransactionData.ts @@ -0,0 +1,44 @@ +/* + * The version of the OpenAPI document: v4 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit this class manually. + */ + + +export class IssuingTransactionData { + /** + * captureCycleId associated with transfer event. + */ + 'captureCycleId'?: string; + /** + * The type of events data. Possible values: - **issuingTransactionData**: issuing transaction data + */ + 'type': IssuingTransactionData.TypeEnum; + + static discriminator: string | undefined = undefined; + + static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ + { + "name": "captureCycleId", + "baseName": "captureCycleId", + "type": "string" + }, + { + "name": "type", + "baseName": "type", + "type": "IssuingTransactionData.TypeEnum" + } ]; + + static getAttributeTypeMap() { + return IssuingTransactionData.attributeTypeMap; + } +} + +export namespace IssuingTransactionData { + export enum TypeEnum { + IssuingTransactionData = 'issuingTransactionData' + } +} diff --git a/src/typings/transfers/lodging.ts b/src/typings/transfers/lodging.ts new file mode 100644 index 000000000..b9d0142bb --- /dev/null +++ b/src/typings/transfers/lodging.ts @@ -0,0 +1,39 @@ +/* + * The version of the OpenAPI document: v4 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit this class manually. + */ + + +export class Lodging { + /** + * The check-in date. + */ + 'checkInDate'?: string; + /** + * The total number of nights the room is booked for. + */ + 'numberOfNights'?: number; + + static discriminator: string | undefined = undefined; + + static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ + { + "name": "checkInDate", + "baseName": "checkInDate", + "type": "string" + }, + { + "name": "numberOfNights", + "baseName": "numberOfNights", + "type": "number" + } ]; + + static getAttributeTypeMap() { + return Lodging.attributeTypeMap; + } +} + diff --git a/src/typings/transfers/merchantData.ts b/src/typings/transfers/merchantData.ts index 79339cee2..2faacdc7f 100644 --- a/src/typings/transfers/merchantData.ts +++ b/src/typings/transfers/merchantData.ts @@ -19,12 +19,12 @@ export class MerchantData { */ 'mcc'?: string; /** - * The merchant identifier. + * The unique identifier of the merchant. */ 'merchantId'?: string; 'nameLocation'?: NameLocation | null; /** - * The merchant postal code. + * The postal code of the merchant. */ 'postalCode'?: string; diff --git a/src/typings/transfers/merchantPurchaseData.ts b/src/typings/transfers/merchantPurchaseData.ts index 7082ef34a..925c26e9d 100644 --- a/src/typings/transfers/merchantPurchaseData.ts +++ b/src/typings/transfers/merchantPurchaseData.ts @@ -8,10 +8,15 @@ */ import { Airline } from './airline'; +import { Lodging } from './lodging'; export class MerchantPurchaseData { 'airline'?: Airline | null; /** + * Lodging information. + */ + 'lodging'?: Array; + /** * The type of events data. Possible values: - **merchantPurchaseData**: merchant purchase data */ 'type': MerchantPurchaseData.TypeEnum; @@ -24,6 +29,11 @@ export class MerchantPurchaseData { "baseName": "airline", "type": "Airline | null" }, + { + "name": "lodging", + "baseName": "lodging", + "type": "Array" + }, { "name": "type", "baseName": "type", diff --git a/src/typings/transfers/models.ts b/src/typings/transfers/models.ts index f2fd3d86b..93d11ee5c 100644 --- a/src/typings/transfers/models.ts +++ b/src/typings/transfers/models.ts @@ -45,9 +45,11 @@ export * from './internalCategoryData'; export * from './internalReviewTrackingData'; export * from './invalidField'; export * from './issuedCard'; +export * from './issuingTransactionData'; export * from './leg'; export * from './link'; export * from './links'; +export * from './lodging'; export * from './merchantData'; export * from './merchantPurchaseData'; export * from './modification'; @@ -130,9 +132,11 @@ import { InternalCategoryData } from './internalCategoryData'; import { InternalReviewTrackingData } from './internalReviewTrackingData'; import { InvalidField } from './invalidField'; import { IssuedCard } from './issuedCard'; +import { IssuingTransactionData } from './issuingTransactionData'; import { Leg } from './leg'; import { Link } from './link'; import { Links } from './links'; +import { Lodging } from './lodging'; import { MerchantData } from './merchantData'; import { MerchantPurchaseData } from './merchantPurchaseData'; import { Modification } from './modification'; @@ -214,6 +218,7 @@ let enumsMap: {[index: string]: any} = { "IssuedCard.PanEntryModeEnum": IssuedCard.PanEntryModeEnum, "IssuedCard.ProcessingTypeEnum": IssuedCard.ProcessingTypeEnum, "IssuedCard.TypeEnum": IssuedCard.TypeEnum, + "IssuingTransactionData.TypeEnum": IssuingTransactionData.TypeEnum, "MerchantPurchaseData.TypeEnum": MerchantPurchaseData.TypeEnum, "Modification.StatusEnum": Modification.StatusEnum, "NOLocalAccountIdentification.TypeEnum": NOLocalAccountIdentification.TypeEnum, @@ -245,6 +250,7 @@ let enumsMap: {[index: string]: any} = { "TransferInfo.PrioritiesEnum": TransferInfo.PrioritiesEnum, "TransferInfo.PriorityEnum": TransferInfo.PriorityEnum, "TransferInfo.TypeEnum": TransferInfo.TypeEnum, + "TransferReview.ScaOnApprovalEnum": TransferReview.ScaOnApprovalEnum, "UKLocalAccountIdentification.TypeEnum": UKLocalAccountIdentification.TypeEnum, "USLocalAccountIdentification.AccountTypeEnum": USLocalAccountIdentification.AccountTypeEnum, "USLocalAccountIdentification.TypeEnum": USLocalAccountIdentification.TypeEnum, @@ -289,9 +295,11 @@ let typeMap: {[index: string]: any} = { "InternalReviewTrackingData": InternalReviewTrackingData, "InvalidField": InvalidField, "IssuedCard": IssuedCard, + "IssuingTransactionData": IssuingTransactionData, "Leg": Leg, "Link": Link, "Links": Links, + "Lodging": Lodging, "MerchantData": MerchantData, "MerchantPurchaseData": MerchantPurchaseData, "Modification": Modification, diff --git a/src/typings/transfers/platformPayment.ts b/src/typings/transfers/platformPayment.ts index 0dd1a875f..5d386859f 100644 --- a/src/typings/transfers/platformPayment.ts +++ b/src/typings/transfers/platformPayment.ts @@ -22,7 +22,7 @@ export class PlatformPayment { */ 'paymentMerchantReference'?: string; /** - * Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/) or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/). Possible values: * **AcquiringFees**: for the acquiring fee incurred on a transaction. * **AdyenCommission**: for the transaction fee due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing). * **AdyenFees**: for all the transaction fees due to Adyen. This is the sum of Adyen\'s commission and Adyen\'s markup. * **AdyenMarkup**: for the transaction fee due to Adyen under [Interchange++ pricing](https://www.adyen.com/pricing). * **BalanceAccount**: or the sale amount of a transaction. * **Commission**: for your platform\'s commission on a transaction. * **Interchange**: for the interchange fee (fee paid to the issuer) incurred on a transaction. * **PaymentFee**: for all of the transaction fees. * **Remainder**: for the left over amount after currency conversion. * **SchemeFee**: for the scheme fee incurred on a transaction. This is the sum of the interchange fees and the acquiring fees. * **Surcharge**: for the surcharge paid by the customer on a transaction. * **Tip**: for the tip paid by the customer. * **TopUp**: for an incoming transfer to top up your user\'s balance account. * **VAT**: for the Value Added Tax. + * Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/) or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/). Possible values: * **AcquiringFees**: for the acquiring fee incurred on a transaction. * **AdyenCommission**: for the transaction fee due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing). * **AdyenFees**: for all the transaction fees due to Adyen. This is the sum of Adyen\'s commission and Adyen\'s markup. * **AdyenMarkup**: for the transaction fee due to Adyen under [Interchange++ pricing](https://www.adyen.com/pricing). * **BalanceAccount**: or the sale amount of a transaction. * **Commission**: for your platform\'s commission on a transaction. * **DCCPlatformCommission**: for the DCC Commission for the platform on a transaction. * **Interchange**: for the interchange fee (fee paid to the issuer) incurred on a transaction. * **PaymentFee**: for all of the transaction fees. * **Remainder**: for the left over amount after currency conversion. * **SchemeFee**: for the scheme fee incurred on a transaction. This is the sum of the interchange fees and the acquiring fees. * **Surcharge**: for the surcharge paid by the customer on a transaction. * **Tip**: for the tip paid by the customer. * **TopUp**: for an incoming transfer to top up your user\'s balance account. * **VAT**: for the Value Added Tax. */ 'platformPaymentType'?: PlatformPayment.PlatformPaymentTypeEnum; /** @@ -80,7 +80,9 @@ export namespace PlatformPayment { AdyenFees = 'AdyenFees', AdyenMarkup = 'AdyenMarkup', BalanceAccount = 'BalanceAccount', + ChargebackRemainder = 'ChargebackRemainder', Commission = 'Commission', + DccPlatformCommission = 'DCCPlatformCommission', Default = 'Default', Interchange = 'Interchange', PaymentFee = 'PaymentFee', diff --git a/src/typings/transfers/transfer.ts b/src/typings/transfers/transfer.ts index c50ff60fb..bb648fdf4 100644 --- a/src/typings/transfers/transfer.ts +++ b/src/typings/transfers/transfer.ts @@ -199,6 +199,7 @@ export namespace Transfer { DirectDebitNotSupported = 'directDebitNotSupported', Error = 'error', NotEnoughBalance = 'notEnoughBalance', + Pending = 'pending', PendingApproval = 'pendingApproval', PendingExecution = 'pendingExecution', RefusedByCounterpartyBank = 'refusedByCounterpartyBank', diff --git a/src/typings/transfers/transferData.ts b/src/typings/transfers/transferData.ts index 733570f5a..e462ceed2 100644 --- a/src/typings/transfers/transferData.ts +++ b/src/typings/transfers/transferData.ts @@ -13,6 +13,7 @@ import { BankCategoryData } from './bankCategoryData'; import { ConfirmationTrackingData } from './confirmationTrackingData'; import { DirectDebitInformation } from './directDebitInformation'; import { EstimationTrackingData } from './estimationTrackingData'; +import { ExternalReason } from './externalReason'; import { InternalCategoryData } from './internalCategoryData'; import { InternalReviewTrackingData } from './internalReviewTrackingData'; import { IssuedCard } from './issuedCard'; @@ -59,13 +60,14 @@ export class TransferData { */ 'direction'?: TransferData.DirectionEnum; /** - * The event id listed under events, that triggered the notification. + * The unique identifier of the latest transfer event. Included only when the `category` is **issuedCard**. */ 'eventId'?: string; /** * The list of events leading up to the current status of the transfer. */ 'events'?: Array; + 'externalReason'?: ExternalReason | null; /** * The ID of the resource. */ @@ -175,6 +177,11 @@ export class TransferData { "baseName": "events", "type": "Array" }, + { + "name": "externalReason", + "baseName": "externalReason", + "type": "ExternalReason | null" + }, { "name": "id", "baseName": "id", @@ -265,6 +272,7 @@ export namespace TransferData { DirectDebitNotSupported = 'directDebitNotSupported', Error = 'error', NotEnoughBalance = 'notEnoughBalance', + Pending = 'pending', PendingApproval = 'pendingApproval', PendingExecution = 'pendingExecution', RefusedByCounterpartyBank = 'refusedByCounterpartyBank', diff --git a/src/typings/transfers/transferEvent.ts b/src/typings/transfers/transferEvent.ts index 8fbdcf6a3..eedab1324 100644 --- a/src/typings/transfers/transferEvent.ts +++ b/src/typings/transfers/transferEvent.ts @@ -14,13 +14,14 @@ import { ConfirmationTrackingData } from './confirmationTrackingData'; import { EstimationTrackingData } from './estimationTrackingData'; import { ExternalReason } from './externalReason'; import { InternalReviewTrackingData } from './internalReviewTrackingData'; +import { IssuingTransactionData } from './issuingTransactionData'; import { MerchantPurchaseData } from './merchantPurchaseData'; import { Modification } from './modification'; export class TransferEvent { 'amount'?: Amount | null; /** - * The amount adjustments in this transfer. + * The amount adjustments in this transfer. Only applicable for [issuing](https://docs.adyen.com/issuing/) integrations. */ 'amountAdjustments'?: Array; /** @@ -38,7 +39,7 @@ export class TransferEvent { /** * A list of event data. */ - 'eventsData'?: Array; + 'eventsData'?: Array; 'externalReason'?: ExternalReason | null; /** * The unique identifier of the transfer event. @@ -110,7 +111,7 @@ export class TransferEvent { { "name": "eventsData", "baseName": "eventsData", - "type": "Array" + "type": "Array" }, { "name": "externalReason", @@ -195,6 +196,7 @@ export namespace TransferEvent { DirectDebitNotSupported = 'directDebitNotSupported', Error = 'error', NotEnoughBalance = 'notEnoughBalance', + Pending = 'pending', PendingApproval = 'pendingApproval', PendingExecution = 'pendingExecution', RefusedByCounterpartyBank = 'refusedByCounterpartyBank', diff --git a/src/typings/transfers/transferNotificationMerchantData.ts b/src/typings/transfers/transferNotificationMerchantData.ts index 866e91117..b5eb2e961 100644 --- a/src/typings/transfers/transferNotificationMerchantData.ts +++ b/src/typings/transfers/transferNotificationMerchantData.ts @@ -26,7 +26,7 @@ export class TransferNotificationMerchantData { */ 'mcc'?: string; /** - * The merchant identifier. + * The unique identifier of the merchant. */ 'merchantId'?: string; /** @@ -34,7 +34,7 @@ export class TransferNotificationMerchantData { */ 'name'?: string; /** - * The merchant postal code. + * The postal code of the merchant. */ 'postalCode'?: string; diff --git a/src/typings/transfers/transferReview.ts b/src/typings/transfers/transferReview.ts index 33b09a2d9..20bb12c61 100644 --- a/src/typings/transfers/transferReview.ts +++ b/src/typings/transfers/transferReview.ts @@ -13,6 +13,10 @@ export class TransferReview { * Shows the number of [approvals](https://docs.adyen.com/api-explorer/transfers/latest/post/transfers/approve) required to process the transfer. */ 'numberOfApprovalsRequired'?: number; + /** + * Shows the status of the Strong Customer Authentication (SCA) process. Possible values: **required**, **notApplicable**. + */ + 'scaOnApproval'?: TransferReview.ScaOnApprovalEnum; static discriminator: string | undefined = undefined; @@ -21,6 +25,11 @@ export class TransferReview { "name": "numberOfApprovalsRequired", "baseName": "numberOfApprovalsRequired", "type": "number" + }, + { + "name": "scaOnApproval", + "baseName": "scaOnApproval", + "type": "TransferReview.ScaOnApprovalEnum" } ]; static getAttributeTypeMap() { @@ -28,3 +37,10 @@ export class TransferReview { } } +export namespace TransferReview { + export enum ScaOnApprovalEnum { + Completed = 'completed', + NotApplicable = 'notApplicable', + Required = 'required' + } +} From d0815c9aa883a1f321795c3ea952c49f19791876 Mon Sep 17 00:00:00 2001 From: Beppe Catanese Date: Thu, 8 May 2025 13:09:57 +0200 Subject: [PATCH 5/7] Refactor Transfers test --- src/__tests__/transfers.spec.ts | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/src/__tests__/transfers.spec.ts b/src/__tests__/transfers.spec.ts index c30339f67..d2fcb7514 100644 --- a/src/__tests__/transfers.spec.ts +++ b/src/__tests__/transfers.spec.ts @@ -55,12 +55,31 @@ describe("Transfers", (): void => { }); test("should list transactions", async (): Promise => { - scope.get("/transactions?balancePlatform=platform&createdSince=2023-12-12T00%3A00%3A00.000Z&createdUntil=2023-12-13T00%3A00%3A00.000Z") - .reply(200, listTransactionsSuccess); - const response: transfers.TransactionSearchResponse = await transfersAPI.TransactionsApi.getAllTransactions("platform", undefined, undefined, undefined, undefined, new Date("12-12-2023"), new Date("12-13-2023")); + const createdSince = new Date(Date.UTC(2023, 11, 12, 0, 0, 0)); // 12-12-2023 December is month 11 + const createdUntil = new Date(Date.UTC(2023, 11, 13, 0, 0, 0)); // 13-12-2023 December is month 11 + + scope + .get("/transactions") + .query({ + balancePlatform: "platform", + createdSince: createdSince.toISOString(), + createdUntil: createdUntil.toISOString(), + }) + .reply(200, listTransactionsSuccess); + + const response: transfers.TransactionSearchResponse = await transfersAPI.TransactionsApi.getAllTransactions( + "platform", + undefined, + undefined, + undefined, + undefined, + createdSince, + createdUntil + ); + expect(response.data?.length).toEqual(3); - if(response.data && response.data?.length > 0) { - expect(response?.data[0]?.id).toEqual("1VVF0D5U66PIUIVP"); + if (response.data && response.data.length > 0) { + expect(response.data[0].id).toEqual("1VVF0D5U66PIUIVP"); } else { fail(); } From c9e402c89ea8d543d50431fd53ca15692922da3e Mon Sep 17 00:00:00 2001 From: Beppe Catanese Date: Tue, 13 May 2025 11:28:33 +0200 Subject: [PATCH 6/7] Update FraudRiskLevelEnum enums --- src/typings/payout/responseAdditionalDataCommon.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/typings/payout/responseAdditionalDataCommon.ts b/src/typings/payout/responseAdditionalDataCommon.ts index 90695f9c9..b40e3c7b4 100644 --- a/src/typings/payout/responseAdditionalDataCommon.ts +++ b/src/typings/payout/responseAdditionalDataCommon.ts @@ -102,7 +102,7 @@ export class ResponseAdditionalDataCommon { */ 'fraudResultType'?: ResponseAdditionalDataCommon.FraudResultTypeEnum; /** - * The risk level of the payment as determined by the FDM machine learning model. + * The risk level of the transaction as classified by the [machine learning](https://docs.adyen.com/risk-management/configure-your-risk-profile/machine-learning-rules/) fraud risk rule. The risk level indicates the likelihood that a transaction will result in a fraudulent dispute. The possible return values are:\\n* veryLow\\n* low\\n* medium\\n* high\\n* veryHigh\\n\\n> */ 'fraudRiskLevel'?: ResponseAdditionalDataCommon.FraudRiskLevelEnum; /** @@ -598,11 +598,11 @@ export namespace ResponseAdditionalDataCommon { Fraud = 'FRAUD' } export enum FraudRiskLevelEnum { - VeryLow = 'Very low', - Low = 'Low', - Medium = 'Medium', - High = 'High', - VeryHigh = 'Very high' + VeryLow = 'veryLow', + Low = 'low', + Medium = 'medium', + High = 'high', + VeryHigh = 'veryHigh' } export enum RecurringProcessingModelEnum { CardOnFile = 'CardOnFile', From 4a532565c32152280261c4cac909e0923cccdcda Mon Sep 17 00:00:00 2001 From: Beppe Catanese Date: Tue, 13 May 2025 11:29:42 +0200 Subject: [PATCH 7/7] Regenerate Payment models --- src/typings/payment/additionalDataAirline.ts | 26 ++++++++--------- src/typings/payment/additionalDataCommon.ts | 27 ++++++++++++++++++ src/typings/payment/additionalDataLevel23.ts | 26 ++++++++--------- .../payment/additionalDataSubMerchant.ts | 18 ++++++++++++ src/typings/payment/installments.ts | 1 + src/typings/payment/models.ts | 1 + src/typings/payment/paymentRequest.ts | 4 +-- src/typings/payment/paymentRequest3d.ts | 4 +-- src/typings/payment/paymentRequest3ds2.ts | 4 +-- .../payment/responseAdditionalDataCommon.ts | 28 +++++++++++++++++-- 10 files changed, 104 insertions(+), 35 deletions(-) diff --git a/src/typings/payment/additionalDataAirline.ts b/src/typings/payment/additionalDataAirline.ts index fe335804b..01fcaa128 100644 --- a/src/typings/payment/additionalDataAirline.ts +++ b/src/typings/payment/additionalDataAirline.ts @@ -18,11 +18,11 @@ export class AdditionalDataAirline { */ 'airline_agency_plan_name'?: string; /** - * The [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX) that identifies the carrier. * Format: IATA 3-digit accounting code (PAX) * Example: KLM = 074 * minLength: 3 characters * maxLength: 3 characters * Must not be all spaces *Must not be all zeros. + * The [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX) that identifies the carrier. * Format: IATA 3-digit accounting code (PAX) * Example: KLM = 074 * minLength: 3 characters * maxLength: 3 characters * Must not be all spaces * Must not be all zeros. */ 'airline_airline_code'?: string; /** - * The [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX) that identifies the carrier. * Encoding: ASCII * Example: KLM = KL * minLength: 2 characters * maxLength: 2 characters * Must not be all spaces *Must not be all zeros. + * The [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX) that identifies the carrier. * Encoding: ASCII * Example: KLM = KL * minLength: 2 characters * maxLength: 2 characters * Must not be all spaces * Must not be all zeros. */ 'airline_airline_designator_code'?: string; /** @@ -50,11 +50,11 @@ export class AdditionalDataAirline { */ 'airline_issue_date'?: string; /** - * The [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX) that identifies the carrier. This field is required if the airline data includes leg details. * Example: KLM = KL * minLength: 2 characters * maxLength: 2 characters * Must not be all spaces *Must not be all zeros. + * The [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX) that identifies the carrier. This field is required if the airline data includes leg details. * Example: KLM = KL * minLength: 2 characters * maxLength: 2 characters * Must not be all spaces * Must not be all zeros. */ 'airline_leg_carrier_code'?: string; /** - * A one-letter travel class identifier. The following are common: * F: first class * J: business class * Y: economy class * W: premium economy * Encoding: ASCII * minLength: 1 character * maxLength: 1 character * Must not be all spaces *Must not be all zeros. + * A one-letter travel class identifier. The following are common: * F: first class * J: business class * Y: economy class * W: premium economy * Encoding: ASCII * minLength: 1 character * maxLength: 1 character * Must not be all spaces * Must not be all zeros. */ 'airline_leg_class_of_travel'?: string; /** @@ -62,23 +62,23 @@ export class AdditionalDataAirline { */ 'airline_leg_date_of_travel'?: string; /** - * The [IATA](https://www.iata.org/services/pages/codes.aspx) three-letter airport code of the departure airport. This field is required if the airline data includes leg details. * Encoding: ASCII * Example: Amsterdam = AMS * minLength: 3 characters * maxLength: 3 characters * Must not be all spaces *Must not be all zeros. + * The [IATA](https://www.iata.org/services/pages/codes.aspx) three-letter airport code of the departure airport. This field is required if the airline data includes leg details. * Encoding: ASCII * Example: Amsterdam = AMS * minLength: 3 characters * maxLength: 3 characters * Must not be all spaces * Must not be all zeros. */ 'airline_leg_depart_airport'?: string; /** - * The amount of [departure tax](https://en.wikipedia.org/wiki/Departure_tax) charged, in [minor units](https://docs.adyen.com/development-resources/currency-codes). * Encoding: Numeric * minLength: 1 * maxLength: 12 *Must not be all zeros. + * The amount of [departure tax](https://en.wikipedia.org/wiki/Departure_tax) charged, in [minor units](https://docs.adyen.com/development-resources/currency-codes). * Encoding: Numeric * minLength: 1 * maxLength: 12 * Must not be all zeros. */ 'airline_leg_depart_tax'?: string; /** - * The [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code of the destination airport. This field is required if the airline data includes leg details. * Example: Amsterdam = AMS * Encoding: ASCII * minLength: 3 characters * maxLength: 3 characters * Must not be all spaces *Must not be all zeros. + * The [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code of the destination airport. This field is required if the airline data includes leg details. * Example: Amsterdam = AMS * Encoding: ASCII * minLength: 3 characters * maxLength: 3 characters * Must not be all spaces * Must not be all zeros. */ 'airline_leg_destination_code'?: string; /** - * The [fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code), alphanumeric. * minLength: 1 character * maxLength: 6 characters * Must not be all spaces *Must not be all zeros. + * The [fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code), alphanumeric. * minLength: 1 character * maxLength: 6 characters * Must not be all spaces * Must not be all zeros. */ 'airline_leg_fare_base_code'?: string; /** - * The flight identifier. * minLength: 1 character * maxLength: 5 characters * Must not be all spaces *Must not be all zeros. + * The flight identifier. * minLength: 1 character * maxLength: 5 characters * Must not be all spaces * Must not be all zeros. */ 'airline_leg_flight_number'?: string; /** @@ -106,7 +106,7 @@ export class AdditionalDataAirline { */ 'airline_passenger_traveller_type'?: string; /** - * The passenger\'s name, initials, and title. * Format: last name + first name or initials + title * Example: *FLYER / MARY MS* * minLength: 1 character * maxLength: 20 characters * If you send more than 20 characters, the name is truncated * Must not be all spaces *Must not be all zeros. + * The passenger\'s name, initials, and title. * Format: last name + first name or initials + title * Example: *FLYER / MARY MS* * minLength: 1 character * maxLength: 20 characters * If you send more than 20 characters, the name is truncated * Must not be all spaces * Must not be all zeros. */ 'airline_passenger_name': string; /** @@ -114,15 +114,15 @@ export class AdditionalDataAirline { */ 'airline_ticket_issue_address'?: string; /** - * The ticket\'s unique identifier. * minLength: 1 character * maxLength: 15 characters * Must not be all spaces *Must not be all zeros. + * The ticket\'s unique identifier. * minLength: 1 character * maxLength: 15 characters * Must not be all spaces * Must not be all zeros. */ 'airline_ticket_number'?: string; /** - * The unique identifier from IATA or ARC for the travel agency that issues the ticket. * Encoding: ASCII * minLength: 1 character * maxLength: 8 characters * Must not be all spaces *Must not be all zeros. + * The unique identifier from IATA or ARC for the travel agency that issues the ticket. * Encoding: ASCII * minLength: 1 character * maxLength: 8 characters * Must not be all spaces * Must not be all zeros. */ 'airline_travel_agency_code'?: string; /** - * The name of the travel agency. * Encoding: ASCII * minLength: 1 character * maxLength: 25 characters * Must not be all spaces *Must not be all zeros. + * The name of the travel agency. * Encoding: ASCII * minLength: 1 character * maxLength: 25 characters * Must not be all spaces * Must not be all zeros. */ 'airline_travel_agency_name'?: string; diff --git a/src/typings/payment/additionalDataCommon.ts b/src/typings/payment/additionalDataCommon.ts index 8dd2103ac..1407bcbf1 100644 --- a/src/typings/payment/additionalDataCommon.ts +++ b/src/typings/payment/additionalDataCommon.ts @@ -9,6 +9,10 @@ export class AdditionalDataCommon { + /** + * Triggers test scenarios that allow to replicate certain acquirer response codes. See [Testing result codes and refusal reasons](https://docs.adyen.com/development-resources/testing/result-codes/) to learn about the possible values, and the `refusalReason` values you can trigger. + */ + 'RequestedTestAcquirerResponseCode'?: string; /** * Triggers test scenarios that allow to replicate certain communication errors. Allowed values: * **NO_CONNECTION_AVAILABLE** – There wasn\'t a connection available to service the outgoing communication. This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. */ @@ -58,6 +62,10 @@ export class AdditionalDataCommon { */ 'subMerchantCountry'?: string; /** + * This field is required for transactions performed by registered payment facilitators. This field contains the email address of the sub-merchant. * Format: Alphanumeric * Maximum length: 40 characters + */ + 'subMerchantEmail'?: string; + /** * This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID. A unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator. * Format: alpha-numeric. * Fixed length: 15 characters. */ 'subMerchantID'?: string; @@ -66,6 +74,10 @@ export class AdditionalDataCommon { */ 'subMerchantName'?: string; /** + * This field is required for transactions performed by registered payment facilitators. This field contains the phone number of the sub-merchant.* Format: Alphanumeric * Maximum length: 20 characters + */ + 'subMerchantPhoneNumber'?: string; + /** * This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant\'s address. * Format: alpha-numeric. * Maximum length: 10 characters. */ 'subMerchantPostalCode'?: string; @@ -85,6 +97,11 @@ export class AdditionalDataCommon { static discriminator: string | undefined = undefined; static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ + { + "name": "RequestedTestAcquirerResponseCode", + "baseName": "RequestedTestAcquirerResponseCode", + "type": "string" + }, { "name": "RequestedTestErrorResponseCode", "baseName": "RequestedTestErrorResponseCode", @@ -145,6 +162,11 @@ export class AdditionalDataCommon { "baseName": "subMerchantCountry", "type": "string" }, + { + "name": "subMerchantEmail", + "baseName": "subMerchantEmail", + "type": "string" + }, { "name": "subMerchantID", "baseName": "subMerchantID", @@ -155,6 +177,11 @@ export class AdditionalDataCommon { "baseName": "subMerchantName", "type": "string" }, + { + "name": "subMerchantPhoneNumber", + "baseName": "subMerchantPhoneNumber", + "type": "string" + }, { "name": "subMerchantPostalCode", "baseName": "subMerchantPostalCode", diff --git a/src/typings/payment/additionalDataLevel23.ts b/src/typings/payment/additionalDataLevel23.ts index 1fa269185..963c2a9de 100644 --- a/src/typings/payment/additionalDataLevel23.ts +++ b/src/typings/payment/additionalDataLevel23.ts @@ -10,7 +10,7 @@ export class AdditionalDataLevel23 { /** - * The customer code. * Encoding: ASCII * Max length: 25 characters * Must not start with a space or be all spaces * Must not be all zeros. + * The reference number to identify the customer and their order. * Encoding: ASCII * Max length: 25 characters * Must not start with a space or be all spaces. * Must not be all zeros. */ 'enhancedSchemeData_customerReference'?: string; /** @@ -18,27 +18,27 @@ export class AdditionalDataLevel23 { */ 'enhancedSchemeData_destinationCountryCode'?: string; /** - * The postal code of the destination address. * Encoding: ASCII * Max length: 10 characters * Must not start with a space + * The postal code of the destination address. * Encoding: ASCII * Max length: 10 characters * Must not start with a space. * For the US, it must be in five or nine digits format. For example, 10001 or 10001-0000. * For Canada, it must be in 6 digits format. For example, M4B 1G5. */ 'enhancedSchemeData_destinationPostalCode'?: string; /** - * Destination state or province code. * Encoding: ASCII * Max length: 3 characters * Must not start with a space + * The state or province code of the destination address. * Encoding: ASCII * Max length: 3 characters * Must not start with a space. */ 'enhancedSchemeData_destinationStateProvinceCode'?: string; /** - * The duty amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes). * For example, 2000 means USD 20.00. * Encoding: Numeric * Max length: 12 characters + * The duty tax amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes). * For example, 2000 means USD 20.00. * Encoding: Numeric * Max length: 12 characters */ 'enhancedSchemeData_dutyAmount'?: string; /** - * The shipping amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes). * For example, 2000 means USD 20.00. * Encoding: Numeric *Max length: 12 characters + * The shipping amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes). * For example, 2000 means USD 20.00. * Encoding: Numeric * Max length: 12 characters */ 'enhancedSchemeData_freightAmount'?: string; /** - * The [UNSPC commodity code](https://www.unspsc.org/) of the item. * Encoding: ASCII * Max length: 12 characters * Must not start with a space or be all spaces * Must not be all zeros. + * The code that identifies the item in a standardized commodity coding scheme. There are different commodity coding schemes: * [UNSPSC commodity codes](https://www.unspsc.org/) * [HS commodity codes](https://www.wcoomd.org/en/topics/nomenclature/overview.aspx) * [NAICS commodity codes](https://www.census.gov/naics/) * [NAPCS commodity codes](https://www.census.gov/naics/napcs/) * Encoding: ASCII * Max length: 12 characters * Must not start with a space or be all spaces. * Must not be all zeros. */ 'enhancedSchemeData_itemDetailLine_itemNr_commodityCode'?: string; /** - * A description of the item. * Encoding: ASCII * Max length: 26 characters * Must not start with a space or be all spaces * Must not be all zeros. + * A description of the item. * Encoding: ASCII * Max length: 26 characters * Must not be a single character. * Must not be blank. * Must not start with a space or be all spaces. * Must not be all zeros. */ 'enhancedSchemeData_itemDetailLine_itemNr_description'?: string; /** @@ -46,19 +46,19 @@ export class AdditionalDataLevel23 { */ 'enhancedSchemeData_itemDetailLine_itemNr_discountAmount'?: string; /** - * The product code. * Encoding: ASCII. * Max length: 12 characters * Must not start with a space or be all spaces * Must not be all zeros. + * The product code. Must be a unique product code associated with the item or service. This can be your unique code for the item, or the manufacturer\'s product code. * Encoding: ASCII. * Max length: 12 characters * Must not start with a space or be all spaces. * Must not be all zeros. */ 'enhancedSchemeData_itemDetailLine_itemNr_productCode'?: string; /** - * The number of items. Must be an integer greater than zero. * Encoding: Numeric * Max length: 12 characters * Must not start with a space or be all spaces + * The number of items. Must be an integer greater than zero. * Encoding: Numeric * Max length: 12 characters * Must not start with a space or be all spaces. */ 'enhancedSchemeData_itemDetailLine_itemNr_quantity'?: string; /** - * The total amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes). * For example, 2000 means USD 20.00. * Max length: 12 characters * Must not start with a space or be all spaces * Must not be all zeros. + * The total amount for the line item, in [minor units](https://docs.adyen.com/development-resources/currency-codes). See [Amount requirements for level 2/3 ESD](https://docs.adyen.com//payment-methods/cards/enhanced-scheme-data/l2-l3#amount-requirements) to learn more about how to calculate the line item total. * For example, 2000 means USD 20.00. * Max length: 12 characters * Must not start with a space or be all spaces. * Must not be all zeros. */ 'enhancedSchemeData_itemDetailLine_itemNr_totalAmount'?: string; /** - * The unit of measurement for an item. * Encoding: ASCII Max length: 3 characters * Must not start with a space or be all spaces * Must not be all zeros. + * The unit of measurement for an item. * Encoding: ASCII * Max length: 3 characters * Must not start with a space or be all spaces. * Must not be all zeros. */ 'enhancedSchemeData_itemDetailLine_itemNr_unitOfMeasure'?: string; /** @@ -70,11 +70,11 @@ export class AdditionalDataLevel23 { */ 'enhancedSchemeData_orderDate'?: string; /** - * The postal code of the address the item is shipped from. * Encoding: ASCII * Max length: 10 characters * Must not start with a space or be all spaces * Must not be all zeros. + * The postal code of the address where the item is shipped from. * Encoding: ASCII * Max length: 10 characters * Must not start with a space or be all spaces. * Must not be all zeros.For the US, it must be in five or nine digits format. For example, 10001 or 10001-0000. * For Canada, it must be in 6 digits format. For example, M4B 1G5. */ 'enhancedSchemeData_shipFromPostalCode'?: string; /** - * The total tax amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes). * For example, 2000 means USD 20.00. *Encoding: Numeric *Max length: 12 characters * Must not be all zeros. + * The amount of state or provincial [tax included in the total transaction amount](https://docs.adyen.com/payment-methods/cards/enhanced-scheme-data/l2-l3#requirements-to-send-level-2-3-esd), in [minor units](https://docs.adyen.com/development-resources/currency-codes). * For example, 2000 means USD 20.00. * Encoding: Numeric * Max length: 12 characters * Must not be all zeros. */ 'enhancedSchemeData_totalTaxAmount'?: string; diff --git a/src/typings/payment/additionalDataSubMerchant.ts b/src/typings/payment/additionalDataSubMerchant.ts index 6e5b487e8..ff27dd619 100644 --- a/src/typings/payment/additionalDataSubMerchant.ts +++ b/src/typings/payment/additionalDataSubMerchant.ts @@ -22,6 +22,10 @@ export class AdditionalDataSubMerchant { */ 'subMerchant_subSeller_subSellerNr_country'?: string; /** + * Required for transactions performed by registered payment facilitators. The email address of the sub-merchant. * Format: Alphanumeric * Maximum length: 40 characters + */ + 'subMerchant_subSeller_subSellerNr_email'?: string; + /** * Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. * Format: Alphanumeric * Maximum length: 15 characters */ 'subMerchant_subSeller_subSellerNr_id'?: string; @@ -34,6 +38,10 @@ export class AdditionalDataSubMerchant { */ 'subMerchant_subSeller_subSellerNr_name'?: string; /** + * Required for transactions performed by registered payment facilitators. The phone number of the sub-merchant.* Format: Alphanumeric * Maximum length: 20 characters + */ + 'subMerchant_subSeller_subSellerNr_phoneNumber'?: string; + /** * Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant\'s address, without dashes. * Format: Numeric * Fixed length: 8 digits */ 'subMerchant_subSeller_subSellerNr_postalCode'?: string; @@ -68,6 +76,11 @@ export class AdditionalDataSubMerchant { "baseName": "subMerchant.subSeller[subSellerNr].country", "type": "string" }, + { + "name": "subMerchant_subSeller_subSellerNr_email", + "baseName": "subMerchant.subSeller[subSellerNr].email", + "type": "string" + }, { "name": "subMerchant_subSeller_subSellerNr_id", "baseName": "subMerchant.subSeller[subSellerNr].id", @@ -83,6 +96,11 @@ export class AdditionalDataSubMerchant { "baseName": "subMerchant.subSeller[subSellerNr].name", "type": "string" }, + { + "name": "subMerchant_subSeller_subSellerNr_phoneNumber", + "baseName": "subMerchant.subSeller[subSellerNr].phoneNumber", + "type": "string" + }, { "name": "subMerchant_subSeller_subSellerNr_postalCode", "baseName": "subMerchant.subSeller[subSellerNr].postalCode", diff --git a/src/typings/payment/installments.ts b/src/typings/payment/installments.ts index 6db4fc048..bc687cf5b 100644 --- a/src/typings/payment/installments.ts +++ b/src/typings/payment/installments.ts @@ -48,6 +48,7 @@ export class Installments { export namespace Installments { export enum PlanEnum { + Bonus = 'bonus', BuynowPaylater = 'buynow_paylater', InteresRefundPrctg = 'interes_refund_prctg', InterestBonus = 'interest_bonus', diff --git a/src/typings/payment/models.ts b/src/typings/payment/models.ts index e296864e7..daf8846ba 100644 --- a/src/typings/payment/models.ts +++ b/src/typings/payment/models.ts @@ -222,6 +222,7 @@ let enumsMap: {[index: string]: any} = { "Recurring.TokenServiceEnum": Recurring.TokenServiceEnum, "ResponseAdditionalDataCard.CardProductIdEnum": ResponseAdditionalDataCard.CardProductIdEnum, "ResponseAdditionalDataCommon.FraudResultTypeEnum": ResponseAdditionalDataCommon.FraudResultTypeEnum, + "ResponseAdditionalDataCommon.FraudRiskLevelEnum": ResponseAdditionalDataCommon.FraudRiskLevelEnum, "ResponseAdditionalDataCommon.RecurringProcessingModelEnum": ResponseAdditionalDataCommon.RecurringProcessingModelEnum, "ResponseAdditionalDataCommon.TokenizationStoreOperationTypeEnum": ResponseAdditionalDataCommon.TokenizationStoreOperationTypeEnum, "SecureRemoteCommerceCheckoutData.SchemeEnum": SecureRemoteCommerceCheckoutData.SchemeEnum, diff --git a/src/typings/payment/paymentRequest.ts b/src/typings/payment/paymentRequest.ts index 74e06af80..ca9801a00 100644 --- a/src/typings/payment/paymentRequest.ts +++ b/src/typings/payment/paymentRequest.ts @@ -75,7 +75,7 @@ export class PaymentRequest { 'fundingSource'?: PaymentRequest.FundingSourceEnum; 'installments'?: Installments | null; /** - * The `localizedShopperStatement` field lets you use dynamic values for your shopper statement in a local character set. If not supplied, left empty, or for cross-border transactions, **shopperStatement** is used. Adyen currently supports the ja-Kana character set for Visa and Mastercard payments in Japan using Japanese cards. This character set supports: * UTF-8 based Katakana, capital letters, numbers and special characters. * Half-width or full-width characters. + * The `localizedShopperStatement` field lets you use dynamic values for your shopper statement in a local character set. If not supplied, left empty, or for cross-border transactions, **shopperStatement** is used. Adyen currently supports the ja-Kana and ja-Hani character set for Visa, Mastercard and JCB payments in Japan using Japanese cards. This character set supports: * UTF-8 based Katakana, Kanji, capital letters, numbers and special characters. * Half-width or full-width characters. */ 'localizedShopperStatement'?: { [key: string]: string; }; 'mandate'?: Mandate | null; @@ -158,7 +158,7 @@ export class PaymentRequest { */ 'socialSecurityNumber'?: string; /** - * An array of objects specifying how the payment should be split when using either Adyen for Platforms for [marketplaces](https://docs.adyen.com/marketplaces/split-payments) or [platforms]((https://docs.adyen.com/platforms/split-payments), or standalone [Issuing](https://docs.adyen.com/issuing/add-manage-funds#split). + * An array of objects specifying how the payment should be split when using either Adyen for Platforms for [marketplaces](https://docs.adyen.com/marketplaces/split-payments) or [platforms](https://docs.adyen.com/platforms/split-payments), or standalone [Issuing](https://docs.adyen.com/issuing/add-manage-funds#split). */ 'splits'?: Array; /** diff --git a/src/typings/payment/paymentRequest3d.ts b/src/typings/payment/paymentRequest3d.ts index 0e4d168ca..de4939e8f 100644 --- a/src/typings/payment/paymentRequest3d.ts +++ b/src/typings/payment/paymentRequest3d.ts @@ -55,7 +55,7 @@ export class PaymentRequest3d { 'fraudOffset'?: number; 'installments'?: Installments | null; /** - * The `localizedShopperStatement` field lets you use dynamic values for your shopper statement in a local character set. If not supplied, left empty, or for cross-border transactions, **shopperStatement** is used. Adyen currently supports the ja-Kana character set for Visa and Mastercard payments in Japan using Japanese cards. This character set supports: * UTF-8 based Katakana, capital letters, numbers and special characters. * Half-width or full-width characters. + * The `localizedShopperStatement` field lets you use dynamic values for your shopper statement in a local character set. If not supplied, left empty, or for cross-border transactions, **shopperStatement** is used. Adyen currently supports the ja-Kana and ja-Hani character set for Visa, Mastercard and JCB payments in Japan using Japanese cards. This character set supports: * UTF-8 based Katakana, Kanji, capital letters, numbers and special characters. * Half-width or full-width characters. */ 'localizedShopperStatement'?: { [key: string]: string; }; /** @@ -138,7 +138,7 @@ export class PaymentRequest3d { */ 'socialSecurityNumber'?: string; /** - * An array of objects specifying how the payment should be split when using either Adyen for Platforms for [marketplaces](https://docs.adyen.com/marketplaces/split-payments) or [platforms]((https://docs.adyen.com/platforms/split-payments), or standalone [Issuing](https://docs.adyen.com/issuing/add-manage-funds#split). + * An array of objects specifying how the payment should be split when using either Adyen for Platforms for [marketplaces](https://docs.adyen.com/marketplaces/split-payments) or [platforms](https://docs.adyen.com/platforms/split-payments), or standalone [Issuing](https://docs.adyen.com/issuing/add-manage-funds#split). */ 'splits'?: Array; /** diff --git a/src/typings/payment/paymentRequest3ds2.ts b/src/typings/payment/paymentRequest3ds2.ts index bc9ce9ba8..be09f7ddd 100644 --- a/src/typings/payment/paymentRequest3ds2.ts +++ b/src/typings/payment/paymentRequest3ds2.ts @@ -56,7 +56,7 @@ export class PaymentRequest3ds2 { 'fraudOffset'?: number; 'installments'?: Installments | null; /** - * The `localizedShopperStatement` field lets you use dynamic values for your shopper statement in a local character set. If not supplied, left empty, or for cross-border transactions, **shopperStatement** is used. Adyen currently supports the ja-Kana character set for Visa and Mastercard payments in Japan using Japanese cards. This character set supports: * UTF-8 based Katakana, capital letters, numbers and special characters. * Half-width or full-width characters. + * The `localizedShopperStatement` field lets you use dynamic values for your shopper statement in a local character set. If not supplied, left empty, or for cross-border transactions, **shopperStatement** is used. Adyen currently supports the ja-Kana and ja-Hani character set for Visa, Mastercard and JCB payments in Japan using Japanese cards. This character set supports: * UTF-8 based Katakana, Kanji, capital letters, numbers and special characters. * Half-width or full-width characters. */ 'localizedShopperStatement'?: { [key: string]: string; }; /** @@ -131,7 +131,7 @@ export class PaymentRequest3ds2 { */ 'socialSecurityNumber'?: string; /** - * An array of objects specifying how the payment should be split when using either Adyen for Platforms for [marketplaces](https://docs.adyen.com/marketplaces/split-payments) or [platforms]((https://docs.adyen.com/platforms/split-payments), or standalone [Issuing](https://docs.adyen.com/issuing/add-manage-funds#split). + * An array of objects specifying how the payment should be split when using either Adyen for Platforms for [marketplaces](https://docs.adyen.com/marketplaces/split-payments) or [platforms](https://docs.adyen.com/platforms/split-payments), or standalone [Issuing](https://docs.adyen.com/issuing/add-manage-funds#split). */ 'splits'?: Array; /** diff --git a/src/typings/payment/responseAdditionalDataCommon.ts b/src/typings/payment/responseAdditionalDataCommon.ts index 164ca4831..21b5270d9 100644 --- a/src/typings/payment/responseAdditionalDataCommon.ts +++ b/src/typings/payment/responseAdditionalDataCommon.ts @@ -102,6 +102,10 @@ export class ResponseAdditionalDataCommon { */ 'fraudResultType'?: ResponseAdditionalDataCommon.FraudResultTypeEnum; /** + * The risk level of the transaction as classified by the [machine learning](https://docs.adyen.com/risk-management/configure-your-risk-profile/machine-learning-rules/) fraud risk rule. The risk level indicates the likelihood that a transaction will result in a fraudulent dispute. The possible return values are:\\n* veryLow\\n* low\\n* medium\\n* high\\n* veryHigh\\n\\n> + */ + 'fraudRiskLevel'?: ResponseAdditionalDataCommon.FraudRiskLevelEnum; + /** * Information regarding the funding type of the card. The possible return values are: * CHARGE * CREDIT * DEBIT * PREPAID * PREPAID_RELOADABLE * PREPAID_NONRELOADABLE * DEFFERED_DEBIT > This functionality requires additional configuration on Adyen\'s end. To enable it, contact the Support Team. For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. */ 'fundingSource'?: string; @@ -179,10 +183,16 @@ export class ResponseAdditionalDataCommon { 'recurring_firstPspReference'?: string; /** * The reference that uniquely identifies the recurring transaction. + * + * @deprecated since Adyen Payment API v68 + * Use tokenization.storedPaymentMethodId instead. */ 'recurring_recurringDetailReference'?: string; /** * The provided reference of the shopper for a recurring transaction. + * + * @deprecated since Adyen Payment API v68 + * Use tokenization.shopperReference instead. */ 'recurring_shopperReference'?: string; /** @@ -238,11 +248,11 @@ export class ResponseAdditionalDataCommon { */ 'threeDSVersion'?: string; /** - * The provided reference of the shopper. + * The reference for the shopper that you sent when tokenizing the payment details. */ 'tokenization_shopperReference'?: string; /** - * The store operation performed on the token. + * The operation performed on the token. Possible values: * **created**: the token has been created. * **updated**: the existing token has been updated. * **alreadyExisting**: the details have already been stored. */ 'tokenization_store_operationType'?: ResponseAdditionalDataCommon.TokenizationStoreOperationTypeEnum; /** @@ -376,6 +386,11 @@ export class ResponseAdditionalDataCommon { "baseName": "fraudResultType", "type": "ResponseAdditionalDataCommon.FraudResultTypeEnum" }, + { + "name": "fraudRiskLevel", + "baseName": "fraudRiskLevel", + "type": "ResponseAdditionalDataCommon.FraudRiskLevelEnum" + }, { "name": "fundingSource", "baseName": "fundingSource", @@ -582,6 +597,13 @@ export namespace ResponseAdditionalDataCommon { Green = 'GREEN', Fraud = 'FRAUD' } + export enum FraudRiskLevelEnum { + VeryLow = 'veryLow', + Low = 'low', + Medium = 'medium', + High = 'high', + VeryHigh = 'veryHigh' + } export enum RecurringProcessingModelEnum { CardOnFile = 'CardOnFile', Subscription = 'Subscription', @@ -590,6 +612,6 @@ export namespace ResponseAdditionalDataCommon { export enum TokenizationStoreOperationTypeEnum { Created = 'created', Updated = 'updated', - AlreadyStored = 'alreadyStored' + AlreadyExisting = 'alreadyExisting' } }