From 843455b96a1c63fa3b4ea4a957bf19fdd3dad5d3 Mon Sep 17 00:00:00 2001 From: AdyenAutomationBot <38424300+AdyenAutomationBot@users.noreply.github.com> Date: Tue, 19 Nov 2024 11:24:11 +0100 Subject: [PATCH] false[adyen-sdk-automation] automated change (#1081) --- .../AmountNonZeroDecimalsRequirement.cs | 164 +++++++++ .../CreateSweepConfigurationV2.cs | 14 +- .../IbanAccountIdentificationRequirement.cs | 184 ++++++++++ .../BalancePlatform/PaymentInstrument.cs | 10 +- .../BalancePlatform/PaymentInstrumentInfo.cs | 10 +- .../BalancePlatform/SweepConfigurationV2.cs | 14 +- .../Model/BalancePlatform/TransactionRule.cs | 10 +- .../BalancePlatform/TransactionRuleInfo.cs | 10 +- .../TransferRouteRequirementsInner.cs | 101 ++++- .../USInternationalAchAddressRequirement.cs | 164 +++++++++ .../UpdatePaymentInstrument.cs | 10 +- .../UpdateSweepConfigurationV2.cs | 14 +- .../Model/Checkout/ApplePaySessionRequest.cs | 6 + Adyen/Model/Checkout/CardDetailsRequest.cs | 6 +- Adyen/Model/Checkout/CheckoutBankAccount.cs | 347 ++++++++++++++++++ Adyen/Model/Checkout/CheckoutPaymentMethod.cs | 35 +- Adyen/Model/Checkout/PaymentMethodsRequest.cs | 27 +- Adyen/Model/Checkout/PaymentRequest.cs | 45 ++- Adyen/Model/Checkout/RivertyDetails.cs | 328 +++++++++++++++++ .../PaymentInstrument.cs | 10 +- .../SweepConfigurationV2.cs | 14 +- .../AcceptTermsOfServiceResponse.cs | 26 +- .../CalculateTermsOfServiceStatusResponse.cs | 16 +- .../GetTermsOfServiceDocumentRequest.cs | 26 +- .../GetTermsOfServiceDocumentResponse.cs | 26 +- .../TermsOfServiceAcceptanceInfo.cs | 26 +- Adyen/Model/TransferWebhooks/TransferData.cs | 14 +- Adyen/Model/TransferWebhooks/TransferEvent.cs | 20 +- Adyen/Model/Transfers/Transfer.cs | 14 +- Adyen/Model/Transfers/TransferData.cs | 14 +- Adyen/Model/Transfers/TransferEvent.cs | 20 +- .../BalancePlatform/AccountHoldersService.cs | 29 ++ .../BalancePlatform/BalanceAccountsService.cs | 29 ++ .../BalancePlatform/PlatformService.cs | 29 ++ Adyen/Service/Checkout/PaymentsService.cs | 4 +- Adyen/Service/Transfers/TransfersService.cs | 8 +- 36 files changed, 1694 insertions(+), 130 deletions(-) create mode 100644 Adyen/Model/BalancePlatform/AmountNonZeroDecimalsRequirement.cs create mode 100644 Adyen/Model/BalancePlatform/IbanAccountIdentificationRequirement.cs create mode 100644 Adyen/Model/BalancePlatform/USInternationalAchAddressRequirement.cs create mode 100644 Adyen/Model/Checkout/CheckoutBankAccount.cs create mode 100644 Adyen/Model/Checkout/RivertyDetails.cs diff --git a/Adyen/Model/BalancePlatform/AmountNonZeroDecimalsRequirement.cs b/Adyen/Model/BalancePlatform/AmountNonZeroDecimalsRequirement.cs new file mode 100644 index 000000000..92b41f31f --- /dev/null +++ b/Adyen/Model/BalancePlatform/AmountNonZeroDecimalsRequirement.cs @@ -0,0 +1,164 @@ +/* +* Configuration API +* +* +* The version of the OpenAPI document: 2 +* +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). +* https://openapi-generator.tech +* Do not edit the class manually. +*/ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Adyen.ApiSerialization.OpenAPIDateConverter; + +namespace Adyen.Model.BalancePlatform +{ + /// + /// AmountNonZeroDecimalsRequirement + /// + [DataContract(Name = "AmountNonZeroDecimalsRequirement")] + public partial class AmountNonZeroDecimalsRequirement : IEquatable, IValidatableObject + { + /// + /// **amountNonZeroDecimalsRequirement** + /// + /// **amountNonZeroDecimalsRequirement** + [JsonConverter(typeof(StringEnumConverter))] + public enum TypeEnum + { + /// + /// Enum AmountNonZeroDecimalsRequirement for value: amountNonZeroDecimalsRequirement + /// + [EnumMember(Value = "amountNonZeroDecimalsRequirement")] + AmountNonZeroDecimalsRequirement = 1 + + } + + + /// + /// **amountNonZeroDecimalsRequirement** + /// + /// **amountNonZeroDecimalsRequirement** + [DataMember(Name = "type", IsRequired = false, EmitDefaultValue = false)] + public TypeEnum Type { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected AmountNonZeroDecimalsRequirement() { } + /// + /// Initializes a new instance of the class. + /// + /// Specifies for which routes the amount in a transfer request must have no non-zero decimal places, so the transfer can only be processed if the amount consists of round numbers.. + /// **amountNonZeroDecimalsRequirement** (required) (default to TypeEnum.AmountNonZeroDecimalsRequirement). + public AmountNonZeroDecimalsRequirement(string description = default(string), TypeEnum type = TypeEnum.AmountNonZeroDecimalsRequirement) + { + this.Type = type; + this.Description = description; + } + + /// + /// Specifies for which routes the amount in a transfer request must have no non-zero decimal places, so the transfer can only be processed if the amount consists of round numbers. + /// + /// Specifies for which routes the amount in a transfer request must have no non-zero decimal places, so the transfer can only be processed if the amount consists of round numbers. + [DataMember(Name = "description", EmitDefaultValue = false)] + public string Description { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class AmountNonZeroDecimalsRequirement {\n"); + sb.Append(" Description: ").Append(Description).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as AmountNonZeroDecimalsRequirement); + } + + /// + /// Returns true if AmountNonZeroDecimalsRequirement instances are equal + /// + /// Instance of AmountNonZeroDecimalsRequirement to be compared + /// Boolean + public bool Equals(AmountNonZeroDecimalsRequirement input) + { + if (input == null) + { + return false; + } + return + ( + this.Description == input.Description || + (this.Description != null && + this.Description.Equals(input.Description)) + ) && + ( + this.Type == input.Type || + this.Type.Equals(input.Type) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Description != null) + { + hashCode = (hashCode * 59) + this.Description.GetHashCode(); + } + hashCode = (hashCode * 59) + this.Type.GetHashCode(); + return hashCode; + } + } + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + public IEnumerable Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Adyen/Model/BalancePlatform/CreateSweepConfigurationV2.cs b/Adyen/Model/BalancePlatform/CreateSweepConfigurationV2.cs index c676798c8..d3e3d023d 100644 --- a/Adyen/Model/BalancePlatform/CreateSweepConfigurationV2.cs +++ b/Adyen/Model/BalancePlatform/CreateSweepConfigurationV2.cs @@ -233,29 +233,35 @@ public enum ReasonEnum [EnumMember(Value = "refusedByCounterpartyBank")] RefusedByCounterpartyBank = 18, + /// + /// Enum RefusedByCustomer for value: refusedByCustomer + /// + [EnumMember(Value = "refusedByCustomer")] + RefusedByCustomer = 19, + /// /// Enum RouteNotFound for value: routeNotFound /// [EnumMember(Value = "routeNotFound")] - RouteNotFound = 19, + RouteNotFound = 20, /// /// Enum ScaFailed for value: scaFailed /// [EnumMember(Value = "scaFailed")] - ScaFailed = 20, + ScaFailed = 21, /// /// Enum TransferInstrumentDoesNotExist for value: transferInstrumentDoesNotExist /// [EnumMember(Value = "transferInstrumentDoesNotExist")] - TransferInstrumentDoesNotExist = 21, + TransferInstrumentDoesNotExist = 22, /// /// Enum Unknown for value: unknown /// [EnumMember(Value = "unknown")] - Unknown = 22 + Unknown = 23 } diff --git a/Adyen/Model/BalancePlatform/IbanAccountIdentificationRequirement.cs b/Adyen/Model/BalancePlatform/IbanAccountIdentificationRequirement.cs new file mode 100644 index 000000000..05ef5571b --- /dev/null +++ b/Adyen/Model/BalancePlatform/IbanAccountIdentificationRequirement.cs @@ -0,0 +1,184 @@ +/* +* Configuration API +* +* +* The version of the OpenAPI document: 2 +* +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). +* https://openapi-generator.tech +* Do not edit the class manually. +*/ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Adyen.ApiSerialization.OpenAPIDateConverter; + +namespace Adyen.Model.BalancePlatform +{ + /// + /// IbanAccountIdentificationRequirement + /// + [DataContract(Name = "IbanAccountIdentificationRequirement")] + public partial class IbanAccountIdentificationRequirement : IEquatable, IValidatableObject + { + /// + /// **ibanAccountIdentificationRequirement** + /// + /// **ibanAccountIdentificationRequirement** + [JsonConverter(typeof(StringEnumConverter))] + public enum TypeEnum + { + /// + /// Enum IbanAccountIdentificationRequirement for value: ibanAccountIdentificationRequirement + /// + [EnumMember(Value = "ibanAccountIdentificationRequirement")] + IbanAccountIdentificationRequirement = 1 + + } + + + /// + /// **ibanAccountIdentificationRequirement** + /// + /// **ibanAccountIdentificationRequirement** + [DataMember(Name = "type", IsRequired = false, EmitDefaultValue = false)] + public TypeEnum Type { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected IbanAccountIdentificationRequirement() { } + /// + /// Initializes a new instance of the class. + /// + /// Specifies the allowed prefixes for the international bank account number as defined in the ISO-13616 standard.. + /// Contains the list of allowed prefixes for international bank accounts. For example: NL, US, UK.. + /// **ibanAccountIdentificationRequirement** (required) (default to TypeEnum.IbanAccountIdentificationRequirement). + public IbanAccountIdentificationRequirement(string description = default(string), List ibanPrefixes = default(List), TypeEnum type = TypeEnum.IbanAccountIdentificationRequirement) + { + this.Type = type; + this.Description = description; + this.IbanPrefixes = ibanPrefixes; + } + + /// + /// Specifies the allowed prefixes for the international bank account number as defined in the ISO-13616 standard. + /// + /// Specifies the allowed prefixes for the international bank account number as defined in the ISO-13616 standard. + [DataMember(Name = "description", EmitDefaultValue = false)] + public string Description { get; set; } + + /// + /// Contains the list of allowed prefixes for international bank accounts. For example: NL, US, UK. + /// + /// Contains the list of allowed prefixes for international bank accounts. For example: NL, US, UK. + [DataMember(Name = "ibanPrefixes", EmitDefaultValue = false)] + public List IbanPrefixes { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class IbanAccountIdentificationRequirement {\n"); + sb.Append(" Description: ").Append(Description).Append("\n"); + sb.Append(" IbanPrefixes: ").Append(IbanPrefixes).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as IbanAccountIdentificationRequirement); + } + + /// + /// Returns true if IbanAccountIdentificationRequirement instances are equal + /// + /// Instance of IbanAccountIdentificationRequirement to be compared + /// Boolean + public bool Equals(IbanAccountIdentificationRequirement input) + { + if (input == null) + { + return false; + } + return + ( + this.Description == input.Description || + (this.Description != null && + this.Description.Equals(input.Description)) + ) && + ( + this.IbanPrefixes == input.IbanPrefixes || + this.IbanPrefixes != null && + input.IbanPrefixes != null && + this.IbanPrefixes.SequenceEqual(input.IbanPrefixes) + ) && + ( + this.Type == input.Type || + this.Type.Equals(input.Type) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Description != null) + { + hashCode = (hashCode * 59) + this.Description.GetHashCode(); + } + if (this.IbanPrefixes != null) + { + hashCode = (hashCode * 59) + this.IbanPrefixes.GetHashCode(); + } + hashCode = (hashCode * 59) + this.Type.GetHashCode(); + return hashCode; + } + } + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + public IEnumerable Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Adyen/Model/BalancePlatform/PaymentInstrument.cs b/Adyen/Model/BalancePlatform/PaymentInstrument.cs index b83d90a4d..20936aa90 100644 --- a/Adyen/Model/BalancePlatform/PaymentInstrument.cs +++ b/Adyen/Model/BalancePlatform/PaymentInstrument.cs @@ -143,9 +143,9 @@ public enum StatusReasonEnum [DataMember(Name = "statusReason", EmitDefaultValue = false)] public StatusReasonEnum? StatusReason { get; set; } /// - /// Type of payment instrument. Possible value: **card**, **bankAccount**. + /// The type of payment instrument. Possible values: **card**, **bankAccount**. /// - /// Type of payment instrument. Possible value: **card**, **bankAccount**. + /// The type of payment instrument. Possible values: **card**, **bankAccount**. [JsonConverter(typeof(StringEnumConverter))] public enum TypeEnum { @@ -165,9 +165,9 @@ public enum TypeEnum /// - /// Type of payment instrument. Possible value: **card**, **bankAccount**. + /// The type of payment instrument. Possible values: **card**, **bankAccount**. /// - /// Type of payment instrument. Possible value: **card**, **bankAccount**. + /// The type of payment instrument. Possible values: **card**, **bankAccount**. [DataMember(Name = "type", IsRequired = false, EmitDefaultValue = false)] public TypeEnum Type { get; set; } /// @@ -190,7 +190,7 @@ protected PaymentInstrument() { } /// The status of the payment instrument. If a status is not specified when creating a payment instrument, it is set to **active** by default. However, there can be exceptions for cards based on the `card.formFactor` and the `issuingCountryCode`. For example, when issuing physical cards in the US, the default status is **inactive**. Possible values: * **active**: The payment instrument is active and can be used to make payments. * **inactive**: The payment instrument is inactive and cannot be used to make payments. * **suspended**: The payment instrument is suspended, either because it was stolen or lost. * **closed**: The payment instrument is permanently closed. This action cannot be undone. . /// The status comment provides additional information for the statusReason of the payment instrument.. /// The reason for the status of the payment instrument. Possible values: **accountClosure**, **damaged**, **endOfLife**, **expired**, **lost**, **stolen**, **suspectedFraud**, **transactionRule**, **other**. If the reason is **other**, you must also send the `statusComment` parameter describing the status change.. - /// Type of payment instrument. Possible value: **card**, **bankAccount**. (required). + /// The type of payment instrument. Possible values: **card**, **bankAccount**. (required). public PaymentInstrument(List additionalBankAccountIdentifications = default(List), string balanceAccountId = default(string), BankAccountDetails bankAccount = default(BankAccountDetails), Card card = default(Card), string description = default(string), string id = default(string), string issuingCountryCode = default(string), string paymentInstrumentGroupId = default(string), string reference = default(string), StatusEnum? status = default(StatusEnum?), string statusComment = default(string), StatusReasonEnum? statusReason = default(StatusReasonEnum?), TypeEnum type = default(TypeEnum)) { this.BalanceAccountId = balanceAccountId; diff --git a/Adyen/Model/BalancePlatform/PaymentInstrumentInfo.cs b/Adyen/Model/BalancePlatform/PaymentInstrumentInfo.cs index eaba4a958..b7afaa5cb 100644 --- a/Adyen/Model/BalancePlatform/PaymentInstrumentInfo.cs +++ b/Adyen/Model/BalancePlatform/PaymentInstrumentInfo.cs @@ -143,9 +143,9 @@ public enum StatusReasonEnum [DataMember(Name = "statusReason", EmitDefaultValue = false)] public StatusReasonEnum? StatusReason { get; set; } /// - /// Type of payment instrument. Possible value: **card**, **bankAccount**. + /// The type of payment instrument. Possible values: **card**, **bankAccount**. /// - /// Type of payment instrument. Possible value: **card**, **bankAccount**. + /// The type of payment instrument. Possible values: **card**, **bankAccount**. [JsonConverter(typeof(StringEnumConverter))] public enum TypeEnum { @@ -165,9 +165,9 @@ public enum TypeEnum /// - /// Type of payment instrument. Possible value: **card**, **bankAccount**. + /// The type of payment instrument. Possible values: **card**, **bankAccount**. /// - /// Type of payment instrument. Possible value: **card**, **bankAccount**. + /// The type of payment instrument. Possible values: **card**, **bankAccount**. [DataMember(Name = "type", IsRequired = false, EmitDefaultValue = false)] public TypeEnum Type { get; set; } /// @@ -188,7 +188,7 @@ protected PaymentInstrumentInfo() { } /// The status of the payment instrument. If a status is not specified when creating a payment instrument, it is set to **active** by default. However, there can be exceptions for cards based on the `card.formFactor` and the `issuingCountryCode`. For example, when issuing physical cards in the US, the default status is **inactive**. Possible values: * **active**: The payment instrument is active and can be used to make payments. * **inactive**: The payment instrument is inactive and cannot be used to make payments. * **suspended**: The payment instrument is suspended, either because it was stolen or lost. * **closed**: The payment instrument is permanently closed. This action cannot be undone. . /// The status comment provides additional information for the statusReason of the payment instrument.. /// The reason for the status of the payment instrument. Possible values: **accountClosure**, **damaged**, **endOfLife**, **expired**, **lost**, **stolen**, **suspectedFraud**, **transactionRule**, **other**. If the reason is **other**, you must also send the `statusComment` parameter describing the status change.. - /// Type of payment instrument. Possible value: **card**, **bankAccount**. (required). + /// The type of payment instrument. Possible values: **card**, **bankAccount**. (required). public PaymentInstrumentInfo(string balanceAccountId = default(string), BankAccountModel bankAccount = default(BankAccountModel), CardInfo card = default(CardInfo), string description = default(string), string issuingCountryCode = default(string), string paymentInstrumentGroupId = default(string), string reference = default(string), StatusEnum? status = default(StatusEnum?), string statusComment = default(string), StatusReasonEnum? statusReason = default(StatusReasonEnum?), TypeEnum type = default(TypeEnum)) { this.BalanceAccountId = balanceAccountId; diff --git a/Adyen/Model/BalancePlatform/SweepConfigurationV2.cs b/Adyen/Model/BalancePlatform/SweepConfigurationV2.cs index 31ce54e93..afb343a78 100644 --- a/Adyen/Model/BalancePlatform/SweepConfigurationV2.cs +++ b/Adyen/Model/BalancePlatform/SweepConfigurationV2.cs @@ -233,29 +233,35 @@ public enum ReasonEnum [EnumMember(Value = "refusedByCounterpartyBank")] RefusedByCounterpartyBank = 18, + /// + /// Enum RefusedByCustomer for value: refusedByCustomer + /// + [EnumMember(Value = "refusedByCustomer")] + RefusedByCustomer = 19, + /// /// Enum RouteNotFound for value: routeNotFound /// [EnumMember(Value = "routeNotFound")] - RouteNotFound = 19, + RouteNotFound = 20, /// /// Enum ScaFailed for value: scaFailed /// [EnumMember(Value = "scaFailed")] - ScaFailed = 20, + ScaFailed = 21, /// /// Enum TransferInstrumentDoesNotExist for value: transferInstrumentDoesNotExist /// [EnumMember(Value = "transferInstrumentDoesNotExist")] - TransferInstrumentDoesNotExist = 21, + TransferInstrumentDoesNotExist = 22, /// /// Enum Unknown for value: unknown /// [EnumMember(Value = "unknown")] - Unknown = 22 + Unknown = 23 } diff --git a/Adyen/Model/BalancePlatform/TransactionRule.cs b/Adyen/Model/BalancePlatform/TransactionRule.cs index 4b50a500d..a368622f8 100644 --- a/Adyen/Model/BalancePlatform/TransactionRule.cs +++ b/Adyen/Model/BalancePlatform/TransactionRule.cs @@ -33,9 +33,9 @@ namespace Adyen.Model.BalancePlatform public partial class TransactionRule : IEquatable, IValidatableObject { /// - /// The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule. Possible values: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, declines the Transaction. Default value: **hardBlock**. > **scoreBased** is not allowed when `requestType` is **bankTransfer**. + /// The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule. Possible values: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, the transaction is declined. Default value: **hardBlock**. > **scoreBased** is not allowed when `requestType` is **bankTransfer**. /// - /// The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule. Possible values: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, declines the Transaction. Default value: **hardBlock**. > **scoreBased** is not allowed when `requestType` is **bankTransfer**. + /// The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule. Possible values: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, the transaction is declined. Default value: **hardBlock**. > **scoreBased** is not allowed when `requestType` is **bankTransfer**. [JsonConverter(typeof(StringEnumConverter))] public enum OutcomeTypeEnum { @@ -67,9 +67,9 @@ public enum OutcomeTypeEnum /// - /// The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule. Possible values: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, declines the Transaction. Default value: **hardBlock**. > **scoreBased** is not allowed when `requestType` is **bankTransfer**. + /// The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule. Possible values: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, the transaction is declined. Default value: **hardBlock**. > **scoreBased** is not allowed when `requestType` is **bankTransfer**. /// - /// The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule. Possible values: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, declines the Transaction. Default value: **hardBlock**. > **scoreBased** is not allowed when `requestType` is **bankTransfer**. + /// The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule. Possible values: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, the transaction is declined. Default value: **hardBlock**. > **scoreBased** is not allowed when `requestType` is **bankTransfer**. [DataMember(Name = "outcomeType", EmitDefaultValue = false)] public OutcomeTypeEnum? OutcomeType { get; set; } /// @@ -194,7 +194,7 @@ protected TransactionRule() { } /// entityKey (required). /// The unique identifier of the transaction rule.. /// interval (required). - /// The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule. Possible values: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, declines the Transaction. Default value: **hardBlock**. > **scoreBased** is not allowed when `requestType` is **bankTransfer**.. + /// The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule. Possible values: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, the transaction is declined. Default value: **hardBlock**. > **scoreBased** is not allowed when `requestType` is **bankTransfer**.. /// Your reference for the transaction rule. (required). /// Indicates the type of request to which the rule applies. If not provided, by default, this is set to **authorization**. Possible values: **authorization**, **authentication**, **tokenization**, **bankTransfer**.. /// ruleRestrictions (required). diff --git a/Adyen/Model/BalancePlatform/TransactionRuleInfo.cs b/Adyen/Model/BalancePlatform/TransactionRuleInfo.cs index c4224afb6..d8806aabe 100644 --- a/Adyen/Model/BalancePlatform/TransactionRuleInfo.cs +++ b/Adyen/Model/BalancePlatform/TransactionRuleInfo.cs @@ -33,9 +33,9 @@ namespace Adyen.Model.BalancePlatform public partial class TransactionRuleInfo : IEquatable, IValidatableObject { /// - /// The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule. Possible values: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, declines the Transaction. Default value: **hardBlock**. > **scoreBased** is not allowed when `requestType` is **bankTransfer**. + /// The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule. Possible values: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, the transaction is declined. Default value: **hardBlock**. > **scoreBased** is not allowed when `requestType` is **bankTransfer**. /// - /// The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule. Possible values: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, declines the Transaction. Default value: **hardBlock**. > **scoreBased** is not allowed when `requestType` is **bankTransfer**. + /// The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule. Possible values: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, the transaction is declined. Default value: **hardBlock**. > **scoreBased** is not allowed when `requestType` is **bankTransfer**. [JsonConverter(typeof(StringEnumConverter))] public enum OutcomeTypeEnum { @@ -67,9 +67,9 @@ public enum OutcomeTypeEnum /// - /// The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule. Possible values: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, declines the Transaction. Default value: **hardBlock**. > **scoreBased** is not allowed when `requestType` is **bankTransfer**. + /// The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule. Possible values: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, the transaction is declined. Default value: **hardBlock**. > **scoreBased** is not allowed when `requestType` is **bankTransfer**. /// - /// The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule. Possible values: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, declines the Transaction. Default value: **hardBlock**. > **scoreBased** is not allowed when `requestType` is **bankTransfer**. + /// The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule. Possible values: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, the transaction is declined. Default value: **hardBlock**. > **scoreBased** is not allowed when `requestType` is **bankTransfer**. [DataMember(Name = "outcomeType", EmitDefaultValue = false)] public OutcomeTypeEnum? OutcomeType { get; set; } /// @@ -193,7 +193,7 @@ protected TransactionRuleInfo() { } /// The date when the rule will stop being evaluated, in ISO 8601 extended offset date-time format. For example, **2020-12-18T10:15:30+01:00**. If not provided, the rule will be evaluated until the rule status is set to **inactive**.. /// entityKey (required). /// interval (required). - /// The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule. Possible values: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, declines the Transaction. Default value: **hardBlock**. > **scoreBased** is not allowed when `requestType` is **bankTransfer**.. + /// The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule. Possible values: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, the transaction is declined. Default value: **hardBlock**. > **scoreBased** is not allowed when `requestType` is **bankTransfer**.. /// Your reference for the transaction rule. (required). /// Indicates the type of request to which the rule applies. If not provided, by default, this is set to **authorization**. Possible values: **authorization**, **authentication**, **tokenization**, **bankTransfer**.. /// ruleRestrictions (required). diff --git a/Adyen/Model/BalancePlatform/TransferRouteRequirementsInner.cs b/Adyen/Model/BalancePlatform/TransferRouteRequirementsInner.cs index 7b30b98da..513da3fdf 100644 --- a/Adyen/Model/BalancePlatform/TransferRouteRequirementsInner.cs +++ b/Adyen/Model/BalancePlatform/TransferRouteRequirementsInner.cs @@ -58,6 +58,18 @@ public TransferRouteRequirementsInner(AmountMinMaxRequirement actualInstance) this.ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null."); } + /// + /// Initializes a new instance of the class + /// with the class + /// + /// An instance of AmountNonZeroDecimalsRequirement. + public TransferRouteRequirementsInner(AmountNonZeroDecimalsRequirement actualInstance) + { + this.IsNullable = false; + this.SchemaType= "oneOf"; + this.ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null."); + } + /// /// Initializes a new instance of the class /// with the class @@ -70,6 +82,18 @@ public TransferRouteRequirementsInner(BankAccountIdentificationTypeRequirement a this.ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null."); } + /// + /// Initializes a new instance of the class + /// with the class + /// + /// An instance of IbanAccountIdentificationRequirement. + public TransferRouteRequirementsInner(IbanAccountIdentificationRequirement actualInstance) + { + this.IsNullable = false; + this.SchemaType= "oneOf"; + this.ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null."); + } + /// /// Initializes a new instance of the class /// with the class @@ -82,6 +106,18 @@ public TransferRouteRequirementsInner(PaymentInstrumentRequirement actualInstanc this.ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null."); } + /// + /// Initializes a new instance of the class + /// with the class + /// + /// An instance of USInternationalAchAddressRequirement. + public TransferRouteRequirementsInner(USInternationalAchAddressRequirement actualInstance) + { + this.IsNullable = false; + this.SchemaType= "oneOf"; + this.ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null."); + } + private Object _actualInstance; @@ -104,17 +140,29 @@ public override Object ActualInstance { this._actualInstance = value; } + else if (value.GetType() == typeof(AmountNonZeroDecimalsRequirement)) + { + this._actualInstance = value; + } else if (value.GetType() == typeof(BankAccountIdentificationTypeRequirement)) { this._actualInstance = value; } + else if (value.GetType() == typeof(IbanAccountIdentificationRequirement)) + { + this._actualInstance = value; + } else if (value.GetType() == typeof(PaymentInstrumentRequirement)) { this._actualInstance = value; } + else if (value.GetType() == typeof(USInternationalAchAddressRequirement)) + { + this._actualInstance = value; + } else { - throw new ArgumentException("Invalid instance found. Must be the following types: AddressRequirement, AmountMinMaxRequirement, BankAccountIdentificationTypeRequirement, PaymentInstrumentRequirement"); + throw new ArgumentException("Invalid instance found. Must be the following types: AddressRequirement, AmountMinMaxRequirement, AmountNonZeroDecimalsRequirement, BankAccountIdentificationTypeRequirement, IbanAccountIdentificationRequirement, PaymentInstrumentRequirement, USInternationalAchAddressRequirement"); } } } @@ -139,6 +187,16 @@ public AmountMinMaxRequirement GetAmountMinMaxRequirement() return (AmountMinMaxRequirement)this.ActualInstance; } + /// + /// Get the actual instance of `AmountNonZeroDecimalsRequirement`. If the actual instance is not `AmountNonZeroDecimalsRequirement`, + /// the InvalidClassException will be thrown + /// + /// An instance of AmountNonZeroDecimalsRequirement + public AmountNonZeroDecimalsRequirement GetAmountNonZeroDecimalsRequirement() + { + return (AmountNonZeroDecimalsRequirement)this.ActualInstance; + } + /// /// Get the actual instance of `BankAccountIdentificationTypeRequirement`. If the actual instance is not `BankAccountIdentificationTypeRequirement`, /// the InvalidClassException will be thrown @@ -149,6 +207,16 @@ public BankAccountIdentificationTypeRequirement GetBankAccountIdentificationType return (BankAccountIdentificationTypeRequirement)this.ActualInstance; } + /// + /// Get the actual instance of `IbanAccountIdentificationRequirement`. If the actual instance is not `IbanAccountIdentificationRequirement`, + /// the InvalidClassException will be thrown + /// + /// An instance of IbanAccountIdentificationRequirement + public IbanAccountIdentificationRequirement GetIbanAccountIdentificationRequirement() + { + return (IbanAccountIdentificationRequirement)this.ActualInstance; + } + /// /// Get the actual instance of `PaymentInstrumentRequirement`. If the actual instance is not `PaymentInstrumentRequirement`, /// the InvalidClassException will be thrown @@ -159,6 +227,16 @@ public PaymentInstrumentRequirement GetPaymentInstrumentRequirement() return (PaymentInstrumentRequirement)this.ActualInstance; } + /// + /// Get the actual instance of `USInternationalAchAddressRequirement`. If the actual instance is not `USInternationalAchAddressRequirement`, + /// the InvalidClassException will be thrown + /// + /// An instance of USInternationalAchAddressRequirement + public USInternationalAchAddressRequirement GetUSInternationalAchAddressRequirement() + { + return (USInternationalAchAddressRequirement)this.ActualInstance; + } + /// /// Returns the string presentation of the object /// @@ -219,6 +297,13 @@ public static TransferRouteRequirementsInner FromJson(string jsonString) matchedTypes.Add("AmountMinMaxRequirement"); match++; } + // Check if the jsonString type enum matches the AmountNonZeroDecimalsRequirement type enums + if (ContainsValue(type)) + { + newTransferRouteRequirementsInner = new TransferRouteRequirementsInner(JsonConvert.DeserializeObject(jsonString, TransferRouteRequirementsInner.SerializerSettings)); + matchedTypes.Add("AmountNonZeroDecimalsRequirement"); + match++; + } // Check if the jsonString type enum matches the BankAccountIdentificationTypeRequirement type enums if (ContainsValue(type)) { @@ -226,6 +311,13 @@ public static TransferRouteRequirementsInner FromJson(string jsonString) matchedTypes.Add("BankAccountIdentificationTypeRequirement"); match++; } + // Check if the jsonString type enum matches the IbanAccountIdentificationRequirement type enums + if (ContainsValue(type)) + { + newTransferRouteRequirementsInner = new TransferRouteRequirementsInner(JsonConvert.DeserializeObject(jsonString, TransferRouteRequirementsInner.SerializerSettings)); + matchedTypes.Add("IbanAccountIdentificationRequirement"); + match++; + } // Check if the jsonString type enum matches the PaymentInstrumentRequirement type enums if (ContainsValue(type)) { @@ -233,6 +325,13 @@ public static TransferRouteRequirementsInner FromJson(string jsonString) matchedTypes.Add("PaymentInstrumentRequirement"); match++; } + // Check if the jsonString type enum matches the USInternationalAchAddressRequirement type enums + if (ContainsValue(type)) + { + newTransferRouteRequirementsInner = new TransferRouteRequirementsInner(JsonConvert.DeserializeObject(jsonString, TransferRouteRequirementsInner.SerializerSettings)); + matchedTypes.Add("USInternationalAchAddressRequirement"); + match++; + } } catch (Exception ex) { diff --git a/Adyen/Model/BalancePlatform/USInternationalAchAddressRequirement.cs b/Adyen/Model/BalancePlatform/USInternationalAchAddressRequirement.cs new file mode 100644 index 000000000..8d299c4f8 --- /dev/null +++ b/Adyen/Model/BalancePlatform/USInternationalAchAddressRequirement.cs @@ -0,0 +1,164 @@ +/* +* Configuration API +* +* +* The version of the OpenAPI document: 2 +* +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). +* https://openapi-generator.tech +* Do not edit the class manually. +*/ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Adyen.ApiSerialization.OpenAPIDateConverter; + +namespace Adyen.Model.BalancePlatform +{ + /// + /// USInternationalAchAddressRequirement + /// + [DataContract(Name = "USInternationalAchAddressRequirement")] + public partial class USInternationalAchAddressRequirement : IEquatable, IValidatableObject + { + /// + /// **usInternationalAchAddressRequirement** + /// + /// **usInternationalAchAddressRequirement** + [JsonConverter(typeof(StringEnumConverter))] + public enum TypeEnum + { + /// + /// Enum UsInternationalAchAddressRequirement for value: usInternationalAchAddressRequirement + /// + [EnumMember(Value = "usInternationalAchAddressRequirement")] + UsInternationalAchAddressRequirement = 1 + + } + + + /// + /// **usInternationalAchAddressRequirement** + /// + /// **usInternationalAchAddressRequirement** + [DataMember(Name = "type", IsRequired = false, EmitDefaultValue = false)] + public TypeEnum Type { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected USInternationalAchAddressRequirement() { } + /// + /// Initializes a new instance of the class. + /// + /// Specifies that you must provide a complete street address for International ACH (IAT) transactions.. + /// **usInternationalAchAddressRequirement** (required) (default to TypeEnum.UsInternationalAchAddressRequirement). + public USInternationalAchAddressRequirement(string description = default(string), TypeEnum type = TypeEnum.UsInternationalAchAddressRequirement) + { + this.Type = type; + this.Description = description; + } + + /// + /// Specifies that you must provide a complete street address for International ACH (IAT) transactions. + /// + /// Specifies that you must provide a complete street address for International ACH (IAT) transactions. + [DataMember(Name = "description", EmitDefaultValue = false)] + public string Description { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class USInternationalAchAddressRequirement {\n"); + sb.Append(" Description: ").Append(Description).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as USInternationalAchAddressRequirement); + } + + /// + /// Returns true if USInternationalAchAddressRequirement instances are equal + /// + /// Instance of USInternationalAchAddressRequirement to be compared + /// Boolean + public bool Equals(USInternationalAchAddressRequirement input) + { + if (input == null) + { + return false; + } + return + ( + this.Description == input.Description || + (this.Description != null && + this.Description.Equals(input.Description)) + ) && + ( + this.Type == input.Type || + this.Type.Equals(input.Type) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Description != null) + { + hashCode = (hashCode * 59) + this.Description.GetHashCode(); + } + hashCode = (hashCode * 59) + this.Type.GetHashCode(); + return hashCode; + } + } + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + public IEnumerable Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Adyen/Model/BalancePlatform/UpdatePaymentInstrument.cs b/Adyen/Model/BalancePlatform/UpdatePaymentInstrument.cs index cacbf4c41..c5a51ca40 100644 --- a/Adyen/Model/BalancePlatform/UpdatePaymentInstrument.cs +++ b/Adyen/Model/BalancePlatform/UpdatePaymentInstrument.cs @@ -143,9 +143,9 @@ public enum StatusReasonEnum [DataMember(Name = "statusReason", EmitDefaultValue = false)] public StatusReasonEnum? StatusReason { get; set; } /// - /// Type of payment instrument. Possible value: **card**, **bankAccount**. + /// The type of payment instrument. Possible values: **card**, **bankAccount**. /// - /// Type of payment instrument. Possible value: **card**, **bankAccount**. + /// The type of payment instrument. Possible values: **card**, **bankAccount**. [JsonConverter(typeof(StringEnumConverter))] public enum TypeEnum { @@ -165,9 +165,9 @@ public enum TypeEnum /// - /// Type of payment instrument. Possible value: **card**, **bankAccount**. + /// The type of payment instrument. Possible values: **card**, **bankAccount**. /// - /// Type of payment instrument. Possible value: **card**, **bankAccount**. + /// The type of payment instrument. Possible values: **card**, **bankAccount**. [DataMember(Name = "type", IsRequired = false, EmitDefaultValue = false)] public TypeEnum Type { get; set; } /// @@ -190,7 +190,7 @@ protected UpdatePaymentInstrument() { } /// The status of the payment instrument. If a status is not specified when creating a payment instrument, it is set to **active** by default. However, there can be exceptions for cards based on the `card.formFactor` and the `issuingCountryCode`. For example, when issuing physical cards in the US, the default status is **inactive**. Possible values: * **active**: The payment instrument is active and can be used to make payments. * **inactive**: The payment instrument is inactive and cannot be used to make payments. * **suspended**: The payment instrument is suspended, either because it was stolen or lost. * **closed**: The payment instrument is permanently closed. This action cannot be undone. . /// Comment for the status of the payment instrument. Required if `statusReason` is **other**.. /// The reason for the status of the payment instrument. Possible values: **accountClosure**, **damaged**, **endOfLife**, **expired**, **lost**, **stolen**, **suspectedFraud**, **transactionRule**, **other**. If the reason is **other**, you must also send the `statusComment` parameter describing the status change.. - /// Type of payment instrument. Possible value: **card**, **bankAccount**. (required). + /// The type of payment instrument. Possible values: **card**, **bankAccount**. (required). public UpdatePaymentInstrument(List additionalBankAccountIdentifications = default(List), string balanceAccountId = default(string), BankAccountDetails bankAccount = default(BankAccountDetails), Card card = default(Card), string description = default(string), string id = default(string), string issuingCountryCode = default(string), string paymentInstrumentGroupId = default(string), string reference = default(string), StatusEnum? status = default(StatusEnum?), string statusComment = default(string), StatusReasonEnum? statusReason = default(StatusReasonEnum?), TypeEnum type = default(TypeEnum)) { this.BalanceAccountId = balanceAccountId; diff --git a/Adyen/Model/BalancePlatform/UpdateSweepConfigurationV2.cs b/Adyen/Model/BalancePlatform/UpdateSweepConfigurationV2.cs index ebc639e93..f8721417e 100644 --- a/Adyen/Model/BalancePlatform/UpdateSweepConfigurationV2.cs +++ b/Adyen/Model/BalancePlatform/UpdateSweepConfigurationV2.cs @@ -233,29 +233,35 @@ public enum ReasonEnum [EnumMember(Value = "refusedByCounterpartyBank")] RefusedByCounterpartyBank = 18, + /// + /// Enum RefusedByCustomer for value: refusedByCustomer + /// + [EnumMember(Value = "refusedByCustomer")] + RefusedByCustomer = 19, + /// /// Enum RouteNotFound for value: routeNotFound /// [EnumMember(Value = "routeNotFound")] - RouteNotFound = 19, + RouteNotFound = 20, /// /// Enum ScaFailed for value: scaFailed /// [EnumMember(Value = "scaFailed")] - ScaFailed = 20, + ScaFailed = 21, /// /// Enum TransferInstrumentDoesNotExist for value: transferInstrumentDoesNotExist /// [EnumMember(Value = "transferInstrumentDoesNotExist")] - TransferInstrumentDoesNotExist = 21, + TransferInstrumentDoesNotExist = 22, /// /// Enum Unknown for value: unknown /// [EnumMember(Value = "unknown")] - Unknown = 22 + Unknown = 23 } diff --git a/Adyen/Model/Checkout/ApplePaySessionRequest.cs b/Adyen/Model/Checkout/ApplePaySessionRequest.cs index 52821de20..4f113ca85 100644 --- a/Adyen/Model/Checkout/ApplePaySessionRequest.cs +++ b/Adyen/Model/Checkout/ApplePaySessionRequest.cs @@ -165,6 +165,12 @@ public override int GetHashCode() /// Validation Result public IEnumerable Validate(ValidationContext validationContext) { + // DisplayName (string) maxLength + if (this.DisplayName != null && this.DisplayName.Length > 64) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for DisplayName, length must be less than 64.", new [] { "DisplayName" }); + } + yield break; } } diff --git a/Adyen/Model/Checkout/CardDetailsRequest.cs b/Adyen/Model/Checkout/CardDetailsRequest.cs index 462d6bd44..24c3df9cd 100644 --- a/Adyen/Model/Checkout/CardDetailsRequest.cs +++ b/Adyen/Model/Checkout/CardDetailsRequest.cs @@ -40,7 +40,7 @@ protected CardDetailsRequest() { } /// /// Initializes a new instance of the class. /// - /// A minimum of the first 8 digits of the card number and a maximum of the full card number. 11 digits gives the best result. You must be [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide) to collect raw card data. (required). + /// A minimum of the first eight digits of the card number. The full card number gives the best result. You must be [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide) to collect raw card data. (required). /// The shopper country. Format: [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) Example: NL or DE. /// The encrypted card number.. /// The merchant account identifier, with which you want to process the transaction. (required). @@ -55,9 +55,9 @@ protected CardDetailsRequest() { } } /// - /// A minimum of the first 8 digits of the card number and a maximum of the full card number. 11 digits gives the best result. You must be [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide) to collect raw card data. + /// A minimum of the first eight digits of the card number. The full card number gives the best result. You must be [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide) to collect raw card data. /// - /// A minimum of the first 8 digits of the card number and a maximum of the full card number. 11 digits gives the best result. You must be [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide) to collect raw card data. + /// A minimum of the first eight digits of the card number. The full card number gives the best result. You must be [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide) to collect raw card data. [DataMember(Name = "cardNumber", IsRequired = false, EmitDefaultValue = false)] public string CardNumber { get; set; } diff --git a/Adyen/Model/Checkout/CheckoutBankAccount.cs b/Adyen/Model/Checkout/CheckoutBankAccount.cs new file mode 100644 index 000000000..fb4c247c8 --- /dev/null +++ b/Adyen/Model/Checkout/CheckoutBankAccount.cs @@ -0,0 +1,347 @@ +/* +* Adyen Checkout API +* +* +* The version of the OpenAPI document: 71 +* +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). +* https://openapi-generator.tech +* Do not edit the class manually. +*/ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Adyen.ApiSerialization.OpenAPIDateConverter; + +namespace Adyen.Model.Checkout +{ + /// + /// CheckoutBankAccount + /// + [DataContract(Name = "CheckoutBankAccount")] + public partial class CheckoutBankAccount : IEquatable, IValidatableObject + { + /// + /// The type of the bank account. + /// + /// The type of the bank account. + [JsonConverter(typeof(StringEnumConverter))] + public enum AccountTypeEnum + { + /// + /// Enum Balance for value: balance + /// + [EnumMember(Value = "balance")] + Balance = 1, + + /// + /// Enum Checking for value: checking + /// + [EnumMember(Value = "checking")] + Checking = 2, + + /// + /// Enum Deposit for value: deposit + /// + [EnumMember(Value = "deposit")] + Deposit = 3, + + /// + /// Enum General for value: general + /// + [EnumMember(Value = "general")] + General = 4, + + /// + /// Enum Other for value: other + /// + [EnumMember(Value = "other")] + Other = 5, + + /// + /// Enum Payment for value: payment + /// + [EnumMember(Value = "payment")] + Payment = 6, + + /// + /// Enum Savings for value: savings + /// + [EnumMember(Value = "savings")] + Savings = 7 + + } + + + /// + /// The type of the bank account. + /// + /// The type of the bank account. + [DataMember(Name = "accountType", EmitDefaultValue = false)] + public AccountTypeEnum? AccountType { get; set; } + /// + /// Initializes a new instance of the class. + /// + /// The type of the bank account.. + /// The bank account number (without separators).. + /// The bank city.. + /// The location id of the bank. The field value is `nil` in most cases.. + /// The name of the bank.. + /// The [Business Identifier Code](https://en.wikipedia.org/wiki/ISO_9362) (BIC) is the SWIFT address assigned to a bank. The field value is `nil` in most cases.. + /// Country code where the bank is located. A valid value is an ISO two-character country code (e.g. 'NL').. + /// The [International Bank Account Number](https://en.wikipedia.org/wiki/International_Bank_Account_Number) (IBAN).. + /// The name of the bank account holder. If you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example: * χ12 is converted to ch12. * üA is converted to euA. * Peter Møller is converted to Peter Mller, because banks don't accept 'ø'. After replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example: * John17 - allowed. * J17 - allowed. * 171 - not allowed. * John-7 - allowed. > If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.. + /// The bank account holder's tax ID.. + public CheckoutBankAccount(AccountTypeEnum? accountType = default(AccountTypeEnum?), string bankAccountNumber = default(string), string bankCity = default(string), string bankLocationId = default(string), string bankName = default(string), string bic = default(string), string countryCode = default(string), string iban = default(string), string ownerName = default(string), string taxId = default(string)) + { + this.AccountType = accountType; + this.BankAccountNumber = bankAccountNumber; + this.BankCity = bankCity; + this.BankLocationId = bankLocationId; + this.BankName = bankName; + this.Bic = bic; + this.CountryCode = countryCode; + this.Iban = iban; + this.OwnerName = ownerName; + this.TaxId = taxId; + } + + /// + /// The bank account number (without separators). + /// + /// The bank account number (without separators). + [DataMember(Name = "bankAccountNumber", EmitDefaultValue = false)] + public string BankAccountNumber { get; set; } + + /// + /// The bank city. + /// + /// The bank city. + [DataMember(Name = "bankCity", EmitDefaultValue = false)] + public string BankCity { get; set; } + + /// + /// The location id of the bank. The field value is `nil` in most cases. + /// + /// The location id of the bank. The field value is `nil` in most cases. + [DataMember(Name = "bankLocationId", EmitDefaultValue = false)] + public string BankLocationId { get; set; } + + /// + /// The name of the bank. + /// + /// The name of the bank. + [DataMember(Name = "bankName", EmitDefaultValue = false)] + public string BankName { get; set; } + + /// + /// The [Business Identifier Code](https://en.wikipedia.org/wiki/ISO_9362) (BIC) is the SWIFT address assigned to a bank. The field value is `nil` in most cases. + /// + /// The [Business Identifier Code](https://en.wikipedia.org/wiki/ISO_9362) (BIC) is the SWIFT address assigned to a bank. The field value is `nil` in most cases. + [DataMember(Name = "bic", EmitDefaultValue = false)] + public string Bic { get; set; } + + /// + /// Country code where the bank is located. A valid value is an ISO two-character country code (e.g. 'NL'). + /// + /// Country code where the bank is located. A valid value is an ISO two-character country code (e.g. 'NL'). + [DataMember(Name = "countryCode", EmitDefaultValue = false)] + public string CountryCode { get; set; } + + /// + /// The [International Bank Account Number](https://en.wikipedia.org/wiki/International_Bank_Account_Number) (IBAN). + /// + /// The [International Bank Account Number](https://en.wikipedia.org/wiki/International_Bank_Account_Number) (IBAN). + [DataMember(Name = "iban", EmitDefaultValue = false)] + public string Iban { get; set; } + + /// + /// The name of the bank account holder. If you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example: * χ12 is converted to ch12. * üA is converted to euA. * Peter Møller is converted to Peter Mller, because banks don't accept 'ø'. After replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example: * John17 - allowed. * J17 - allowed. * 171 - not allowed. * John-7 - allowed. > If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'. + /// + /// The name of the bank account holder. If you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example: * χ12 is converted to ch12. * üA is converted to euA. * Peter Møller is converted to Peter Mller, because banks don't accept 'ø'. After replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example: * John17 - allowed. * J17 - allowed. * 171 - not allowed. * John-7 - allowed. > If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'. + [DataMember(Name = "ownerName", EmitDefaultValue = false)] + public string OwnerName { get; set; } + + /// + /// The bank account holder's tax ID. + /// + /// The bank account holder's tax ID. + [DataMember(Name = "taxId", EmitDefaultValue = false)] + public string TaxId { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class CheckoutBankAccount {\n"); + sb.Append(" AccountType: ").Append(AccountType).Append("\n"); + sb.Append(" BankAccountNumber: ").Append(BankAccountNumber).Append("\n"); + sb.Append(" BankCity: ").Append(BankCity).Append("\n"); + sb.Append(" BankLocationId: ").Append(BankLocationId).Append("\n"); + sb.Append(" BankName: ").Append(BankName).Append("\n"); + sb.Append(" Bic: ").Append(Bic).Append("\n"); + sb.Append(" CountryCode: ").Append(CountryCode).Append("\n"); + sb.Append(" Iban: ").Append(Iban).Append("\n"); + sb.Append(" OwnerName: ").Append(OwnerName).Append("\n"); + sb.Append(" TaxId: ").Append(TaxId).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as CheckoutBankAccount); + } + + /// + /// Returns true if CheckoutBankAccount instances are equal + /// + /// Instance of CheckoutBankAccount to be compared + /// Boolean + public bool Equals(CheckoutBankAccount input) + { + if (input == null) + { + return false; + } + return + ( + this.AccountType == input.AccountType || + this.AccountType.Equals(input.AccountType) + ) && + ( + this.BankAccountNumber == input.BankAccountNumber || + (this.BankAccountNumber != null && + this.BankAccountNumber.Equals(input.BankAccountNumber)) + ) && + ( + this.BankCity == input.BankCity || + (this.BankCity != null && + this.BankCity.Equals(input.BankCity)) + ) && + ( + this.BankLocationId == input.BankLocationId || + (this.BankLocationId != null && + this.BankLocationId.Equals(input.BankLocationId)) + ) && + ( + this.BankName == input.BankName || + (this.BankName != null && + this.BankName.Equals(input.BankName)) + ) && + ( + this.Bic == input.Bic || + (this.Bic != null && + this.Bic.Equals(input.Bic)) + ) && + ( + this.CountryCode == input.CountryCode || + (this.CountryCode != null && + this.CountryCode.Equals(input.CountryCode)) + ) && + ( + this.Iban == input.Iban || + (this.Iban != null && + this.Iban.Equals(input.Iban)) + ) && + ( + this.OwnerName == input.OwnerName || + (this.OwnerName != null && + this.OwnerName.Equals(input.OwnerName)) + ) && + ( + this.TaxId == input.TaxId || + (this.TaxId != null && + this.TaxId.Equals(input.TaxId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = (hashCode * 59) + this.AccountType.GetHashCode(); + if (this.BankAccountNumber != null) + { + hashCode = (hashCode * 59) + this.BankAccountNumber.GetHashCode(); + } + if (this.BankCity != null) + { + hashCode = (hashCode * 59) + this.BankCity.GetHashCode(); + } + if (this.BankLocationId != null) + { + hashCode = (hashCode * 59) + this.BankLocationId.GetHashCode(); + } + if (this.BankName != null) + { + hashCode = (hashCode * 59) + this.BankName.GetHashCode(); + } + if (this.Bic != null) + { + hashCode = (hashCode * 59) + this.Bic.GetHashCode(); + } + if (this.CountryCode != null) + { + hashCode = (hashCode * 59) + this.CountryCode.GetHashCode(); + } + if (this.Iban != null) + { + hashCode = (hashCode * 59) + this.Iban.GetHashCode(); + } + if (this.OwnerName != null) + { + hashCode = (hashCode * 59) + this.OwnerName.GetHashCode(); + } + if (this.TaxId != null) + { + hashCode = (hashCode * 59) + this.TaxId.GetHashCode(); + } + return hashCode; + } + } + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + public IEnumerable Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Adyen/Model/Checkout/CheckoutPaymentMethod.cs b/Adyen/Model/Checkout/CheckoutPaymentMethod.cs index 8bd5e70d5..138676676 100644 --- a/Adyen/Model/Checkout/CheckoutPaymentMethod.cs +++ b/Adyen/Model/Checkout/CheckoutPaymentMethod.cs @@ -466,6 +466,18 @@ public CheckoutPaymentMethod(RatepayDetails actualInstance) this.ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null."); } + /// + /// Initializes a new instance of the class + /// with the class + /// + /// An instance of RivertyDetails. + public CheckoutPaymentMethod(RivertyDetails actualInstance) + { + this.IsNullable = false; + this.SchemaType= "oneOf"; + this.ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null."); + } + /// /// Initializes a new instance of the class /// with the class @@ -756,6 +768,10 @@ public override Object ActualInstance { this._actualInstance = value; } + else if (value.GetType() == typeof(RivertyDetails)) + { + this._actualInstance = value; + } else if (value.GetType() == typeof(SamsungPayDetails)) { this._actualInstance = value; @@ -802,7 +818,7 @@ public override Object ActualInstance } else { - throw new ArgumentException("Invalid instance found. Must be the following types: AchDetails, AfterpayDetails, AmazonPayDetails, AncvDetails, AndroidPayDetails, ApplePayDetails, BacsDirectDebitDetails, BillDeskDetails, BlikDetails, CardDetails, CashAppDetails, CellulantDetails, DokuDetails, DotpayDetails, DragonpayDetails, EBankingFinlandDetails, EcontextVoucherDetails, EftDetails, GenericIssuerPaymentMethodDetails, GiropayDetails, GooglePayDetails, IdealDetails, KlarnaDetails, MasterpassDetails, MbwayDetails, MobilePayDetails, MolPayDetails, OpenInvoiceDetails, PayByBankAISDirectDebitDetails, PayByBankDetails, PayPalDetails, PayToDetails, PayUUpiDetails, PayWithGoogleDetails, PaymentDetails, RatepayDetails, SamsungPayDetails, SepaDirectDebitDetails, StoredPaymentMethodDetails, TwintDetails, UpiCollectDetails, UpiIntentDetails, VippsDetails, VisaCheckoutDetails, WeChatPayDetails, WeChatPayMiniProgramDetails, ZipDetails"); + throw new ArgumentException("Invalid instance found. Must be the following types: AchDetails, AfterpayDetails, AmazonPayDetails, AncvDetails, AndroidPayDetails, ApplePayDetails, BacsDirectDebitDetails, BillDeskDetails, BlikDetails, CardDetails, CashAppDetails, CellulantDetails, DokuDetails, DotpayDetails, DragonpayDetails, EBankingFinlandDetails, EcontextVoucherDetails, EftDetails, GenericIssuerPaymentMethodDetails, GiropayDetails, GooglePayDetails, IdealDetails, KlarnaDetails, MasterpassDetails, MbwayDetails, MobilePayDetails, MolPayDetails, OpenInvoiceDetails, PayByBankAISDirectDebitDetails, PayByBankDetails, PayPalDetails, PayToDetails, PayUUpiDetails, PayWithGoogleDetails, PaymentDetails, RatepayDetails, RivertyDetails, SamsungPayDetails, SepaDirectDebitDetails, StoredPaymentMethodDetails, TwintDetails, UpiCollectDetails, UpiIntentDetails, VippsDetails, VisaCheckoutDetails, WeChatPayDetails, WeChatPayMiniProgramDetails, ZipDetails"); } } } @@ -1167,6 +1183,16 @@ public RatepayDetails GetRatepayDetails() return (RatepayDetails)this.ActualInstance; } + /// + /// Get the actual instance of `RivertyDetails`. If the actual instance is not `RivertyDetails`, + /// the InvalidClassException will be thrown + /// + /// An instance of RivertyDetails + public RivertyDetails GetRivertyDetails() + { + return (RivertyDetails)this.ActualInstance; + } + /// /// Get the actual instance of `SamsungPayDetails`. If the actual instance is not `SamsungPayDetails`, /// the InvalidClassException will be thrown @@ -1575,6 +1601,13 @@ public static CheckoutPaymentMethod FromJson(string jsonString) matchedTypes.Add("RatepayDetails"); match++; } + // Check if the jsonString type enum matches the RivertyDetails type enums + if (ContainsValue(type)) + { + newCheckoutPaymentMethod = new CheckoutPaymentMethod(JsonConvert.DeserializeObject(jsonString, CheckoutPaymentMethod.SerializerSettings)); + matchedTypes.Add("RivertyDetails"); + match++; + } // Check if the jsonString type enum matches the SamsungPayDetails type enums if (ContainsValue(type)) { diff --git a/Adyen/Model/Checkout/PaymentMethodsRequest.cs b/Adyen/Model/Checkout/PaymentMethodsRequest.cs index 1d15a0ed7..0310420b0 100644 --- a/Adyen/Model/Checkout/PaymentMethodsRequest.cs +++ b/Adyen/Model/Checkout/PaymentMethodsRequest.cs @@ -116,12 +116,13 @@ protected PaymentMethodsRequest() { } /// The shopper's country code.. /// The merchant account identifier, with which you want to process the transaction. (required). /// order. + /// A unique ID that can be used to associate `/paymentMethods` and `/payments` requests with the same shopper transaction, offering insights into conversion rates.. /// The combination of a language code and a country code to specify the language to be used in the payment.. /// Required for recurring payments. Your reference to uniquely identify this shopper, for example user ID or account ID. Minimum length: 3 characters. > Your reference must not include personally identifiable information (PII), for example name or email address.. /// Boolean value indicating whether the card payment method should be split into separate debit and credit options. (default to false). /// Required for Adyen for Platforms integrations if you are a platform model. This is your [reference](https://docs.adyen.com/api-explorer/Management/3/post/merchants/(merchantId)/stores#request-reference) (on [balance platform](https://docs.adyen.com/platforms)) or the [storeReference](https://docs.adyen.com/api-explorer/Account/latest/post/updateAccountHolder#request-accountHolderDetails-storeDetails-storeReference) (in the [classic integration](https://docs.adyen.com/classic-platforms/processing-payments/route-payment-to-store/#route-a-payment-to-a-store)) for the ecommerce or point-of-sale store that is processing the payment.. /// Specifies how payment methods should be filtered based on the 'store' parameter: - 'exclusive': Only payment methods belonging to the specified 'store' are returned. - 'inclusive': Payment methods from the 'store' and those not associated with any other store are returned.. - public PaymentMethodsRequest(Dictionary additionalData = default(Dictionary), List allowedPaymentMethods = default(List), Amount amount = default(Amount), List blockedPaymentMethods = default(List), ChannelEnum? channel = default(ChannelEnum?), string countryCode = default(string), string merchantAccount = default(string), EncryptedOrderData order = default(EncryptedOrderData), string shopperLocale = default(string), string shopperReference = default(string), bool? splitCardFundingSources = false, string store = default(string), StoreFiltrationModeEnum? storeFiltrationMode = default(StoreFiltrationModeEnum?)) + public PaymentMethodsRequest(Dictionary additionalData = default(Dictionary), List allowedPaymentMethods = default(List), Amount amount = default(Amount), List blockedPaymentMethods = default(List), ChannelEnum? channel = default(ChannelEnum?), string countryCode = default(string), string merchantAccount = default(string), EncryptedOrderData order = default(EncryptedOrderData), string shopperConversionId = default(string), string shopperLocale = default(string), string shopperReference = default(string), bool? splitCardFundingSources = false, string store = default(string), StoreFiltrationModeEnum? storeFiltrationMode = default(StoreFiltrationModeEnum?)) { this.MerchantAccount = merchantAccount; this.AdditionalData = additionalData; @@ -131,6 +132,7 @@ protected PaymentMethodsRequest() { } this.Channel = channel; this.CountryCode = countryCode; this.Order = order; + this.ShopperConversionId = shopperConversionId; this.ShopperLocale = shopperLocale; this.ShopperReference = shopperReference; this.SplitCardFundingSources = splitCardFundingSources; @@ -185,6 +187,13 @@ protected PaymentMethodsRequest() { } [DataMember(Name = "order", EmitDefaultValue = false)] public EncryptedOrderData Order { get; set; } + /// + /// A unique ID that can be used to associate `/paymentMethods` and `/payments` requests with the same shopper transaction, offering insights into conversion rates. + /// + /// A unique ID that can be used to associate `/paymentMethods` and `/payments` requests with the same shopper transaction, offering insights into conversion rates. + [DataMember(Name = "shopperConversionId", EmitDefaultValue = false)] + public string ShopperConversionId { get; set; } + /// /// The combination of a language code and a country code to specify the language to be used in the payment. /// @@ -229,6 +238,7 @@ public override string ToString() sb.Append(" CountryCode: ").Append(CountryCode).Append("\n"); sb.Append(" MerchantAccount: ").Append(MerchantAccount).Append("\n"); sb.Append(" Order: ").Append(Order).Append("\n"); + sb.Append(" ShopperConversionId: ").Append(ShopperConversionId).Append("\n"); sb.Append(" ShopperLocale: ").Append(ShopperLocale).Append("\n"); sb.Append(" ShopperReference: ").Append(ShopperReference).Append("\n"); sb.Append(" SplitCardFundingSources: ").Append(SplitCardFundingSources).Append("\n"); @@ -311,6 +321,11 @@ public bool Equals(PaymentMethodsRequest input) (this.Order != null && this.Order.Equals(input.Order)) ) && + ( + this.ShopperConversionId == input.ShopperConversionId || + (this.ShopperConversionId != null && + this.ShopperConversionId.Equals(input.ShopperConversionId)) + ) && ( this.ShopperLocale == input.ShopperLocale || (this.ShopperLocale != null && @@ -374,6 +389,10 @@ public override int GetHashCode() { hashCode = (hashCode * 59) + this.Order.GetHashCode(); } + if (this.ShopperConversionId != null) + { + hashCode = (hashCode * 59) + this.ShopperConversionId.GetHashCode(); + } if (this.ShopperLocale != null) { hashCode = (hashCode * 59) + this.ShopperLocale.GetHashCode(); @@ -398,6 +417,12 @@ public override int GetHashCode() /// Validation Result public IEnumerable Validate(ValidationContext validationContext) { + // ShopperConversionId (string) maxLength + if (this.ShopperConversionId != null && this.ShopperConversionId.Length > 256) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShopperConversionId, length must be less than 256.", new [] { "ShopperConversionId" }); + } + // Store (string) maxLength if (this.Store != null && this.Store.Length > 16) { diff --git a/Adyen/Model/Checkout/PaymentRequest.cs b/Adyen/Model/Checkout/PaymentRequest.cs index 32a2e77cb..c96ecef17 100644 --- a/Adyen/Model/Checkout/PaymentRequest.cs +++ b/Adyen/Model/Checkout/PaymentRequest.cs @@ -216,6 +216,7 @@ protected PaymentRequest() { } /// amount (required). /// applicationInfo. /// authenticationData. + /// bankAccount. /// billingAddress. /// browserInfo. /// The delay between the authorisation and scheduled auto-capture, specified in hours.. @@ -262,6 +263,7 @@ protected PaymentRequest() { } /// The URL to return to in case of a redirection. The format depends on the channel. * For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number. Example: `https://your-company.com/checkout?shopperOrder=12xy` * For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app). Example: `my-app://` * For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters). Example: `my-app://your.package.name` If the URL to return to includes non-ASCII characters, like spaces or special letters, URL encode the value. > The URL must not include personally identifiable information (PII), for example name or email address. (required). /// riskData. /// The date and time until when the session remains valid, in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) format. For example: 2020-07-18T15:42:40.428+01:00. + /// A unique ID that can be used to associate `/paymentMethods` and `/payments` requests with the same shopper transaction, offering insights into conversion rates.. /// The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. > For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.. /// The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks). > For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://www.adyen.help/hc/en-us/requests/new).. /// Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default. This field has the following possible values: * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.. @@ -278,7 +280,7 @@ protected PaymentRequest() { } /// threeDS2RequestData. /// If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation. (default to false). /// Set to true if the payment should be routed to a trusted MID.. - public PaymentRequest(AccountInfo accountInfo = default(AccountInfo), Amount additionalAmount = default(Amount), Dictionary additionalData = default(Dictionary), Amount amount = default(Amount), ApplicationInfo applicationInfo = default(ApplicationInfo), AuthenticationData authenticationData = default(AuthenticationData), BillingAddress billingAddress = default(BillingAddress), BrowserInfo browserInfo = default(BrowserInfo), int? captureDelayHours = default(int?), ChannelEnum? channel = default(ChannelEnum?), string checkoutAttemptId = default(string), Company company = default(Company), string conversionId = default(string), string countryCode = default(string), DateTime dateOfBirth = default(DateTime), ForexQuote dccQuote = default(ForexQuote), DateTime deliverAt = default(DateTime), DeliveryAddress deliveryAddress = default(DeliveryAddress), DateTime deliveryDate = default(DateTime), string deviceFingerprint = default(string), bool? enableOneClick = default(bool?), bool? enablePayOut = default(bool?), bool? enableRecurring = default(bool?), EntityTypeEnum? entityType = default(EntityTypeEnum?), int? fraudOffset = default(int?), FundOrigin fundOrigin = default(FundOrigin), FundRecipient fundRecipient = default(FundRecipient), IndustryUsageEnum? industryUsage = default(IndustryUsageEnum?), Installments installments = default(Installments), List lineItems = default(List), Dictionary localizedShopperStatement = default(Dictionary), Mandate mandate = default(Mandate), string mcc = default(string), string merchantAccount = default(string), string merchantOrderReference = default(string), MerchantRiskIndicator merchantRiskIndicator = default(MerchantRiskIndicator), Dictionary metadata = default(Dictionary), ThreeDSecureData mpiData = default(ThreeDSecureData), EncryptedOrderData order = default(EncryptedOrderData), string orderReference = default(string), string origin = default(string), CheckoutPaymentMethod paymentMethod = default(CheckoutPaymentMethod), PlatformChargebackLogic platformChargebackLogic = default(PlatformChargebackLogic), string recurringExpiry = default(string), string recurringFrequency = default(string), RecurringProcessingModelEnum? recurringProcessingModel = default(RecurringProcessingModelEnum?), string redirectFromIssuerMethod = default(string), string redirectToIssuerMethod = default(string), string reference = default(string), string returnUrl = default(string), RiskData riskData = default(RiskData), string sessionValidity = default(string), string shopperEmail = default(string), string shopperIP = default(string), ShopperInteractionEnum? shopperInteraction = default(ShopperInteractionEnum?), string shopperLocale = default(string), Name shopperName = default(Name), string shopperReference = default(string), string shopperStatement = default(string), string socialSecurityNumber = default(string), List splits = default(List), string store = default(string), bool? storePaymentMethod = default(bool?), List subMerchants = default(List), string telephoneNumber = default(string), ThreeDS2RequestFields threeDS2RequestData = default(ThreeDS2RequestFields), bool? threeDSAuthenticationOnly = false, bool? trustedShopper = default(bool?)) + public PaymentRequest(AccountInfo accountInfo = default(AccountInfo), Amount additionalAmount = default(Amount), Dictionary additionalData = default(Dictionary), Amount amount = default(Amount), ApplicationInfo applicationInfo = default(ApplicationInfo), AuthenticationData authenticationData = default(AuthenticationData), CheckoutBankAccount bankAccount = default(CheckoutBankAccount), BillingAddress billingAddress = default(BillingAddress), BrowserInfo browserInfo = default(BrowserInfo), int? captureDelayHours = default(int?), ChannelEnum? channel = default(ChannelEnum?), string checkoutAttemptId = default(string), Company company = default(Company), string conversionId = default(string), string countryCode = default(string), DateTime dateOfBirth = default(DateTime), ForexQuote dccQuote = default(ForexQuote), DateTime deliverAt = default(DateTime), DeliveryAddress deliveryAddress = default(DeliveryAddress), DateTime deliveryDate = default(DateTime), string deviceFingerprint = default(string), bool? enableOneClick = default(bool?), bool? enablePayOut = default(bool?), bool? enableRecurring = default(bool?), EntityTypeEnum? entityType = default(EntityTypeEnum?), int? fraudOffset = default(int?), FundOrigin fundOrigin = default(FundOrigin), FundRecipient fundRecipient = default(FundRecipient), IndustryUsageEnum? industryUsage = default(IndustryUsageEnum?), Installments installments = default(Installments), List lineItems = default(List), Dictionary localizedShopperStatement = default(Dictionary), Mandate mandate = default(Mandate), string mcc = default(string), string merchantAccount = default(string), string merchantOrderReference = default(string), MerchantRiskIndicator merchantRiskIndicator = default(MerchantRiskIndicator), Dictionary metadata = default(Dictionary), ThreeDSecureData mpiData = default(ThreeDSecureData), EncryptedOrderData order = default(EncryptedOrderData), string orderReference = default(string), string origin = default(string), CheckoutPaymentMethod paymentMethod = default(CheckoutPaymentMethod), PlatformChargebackLogic platformChargebackLogic = default(PlatformChargebackLogic), string recurringExpiry = default(string), string recurringFrequency = default(string), RecurringProcessingModelEnum? recurringProcessingModel = default(RecurringProcessingModelEnum?), string redirectFromIssuerMethod = default(string), string redirectToIssuerMethod = default(string), string reference = default(string), string returnUrl = default(string), RiskData riskData = default(RiskData), string sessionValidity = default(string), string shopperConversionId = default(string), string shopperEmail = default(string), string shopperIP = default(string), ShopperInteractionEnum? shopperInteraction = default(ShopperInteractionEnum?), string shopperLocale = default(string), Name shopperName = default(Name), string shopperReference = default(string), string shopperStatement = default(string), string socialSecurityNumber = default(string), List splits = default(List), string store = default(string), bool? storePaymentMethod = default(bool?), List subMerchants = default(List), string telephoneNumber = default(string), ThreeDS2RequestFields threeDS2RequestData = default(ThreeDS2RequestFields), bool? threeDSAuthenticationOnly = false, bool? trustedShopper = default(bool?)) { this.Amount = amount; this.MerchantAccount = merchantAccount; @@ -290,6 +292,7 @@ protected PaymentRequest() { } this.AdditionalData = additionalData; this.ApplicationInfo = applicationInfo; this.AuthenticationData = authenticationData; + this.BankAccount = bankAccount; this.BillingAddress = billingAddress; this.BrowserInfo = browserInfo; this.CaptureDelayHours = captureDelayHours; @@ -332,6 +335,7 @@ protected PaymentRequest() { } this.RedirectToIssuerMethod = redirectToIssuerMethod; this.RiskData = riskData; this.SessionValidity = sessionValidity; + this.ShopperConversionId = shopperConversionId; this.ShopperEmail = shopperEmail; this.ShopperIP = shopperIP; this.ShopperInteraction = shopperInteraction; @@ -387,6 +391,12 @@ protected PaymentRequest() { } [DataMember(Name = "authenticationData", EmitDefaultValue = false)] public AuthenticationData AuthenticationData { get; set; } + /// + /// Gets or Sets BankAccount + /// + [DataMember(Name = "bankAccount", EmitDefaultValue = false)] + public CheckoutBankAccount BankAccount { get; set; } + /// /// Gets or Sets BillingAddress /// @@ -668,6 +678,13 @@ protected PaymentRequest() { } [DataMember(Name = "sessionValidity", EmitDefaultValue = false)] public string SessionValidity { get; set; } + /// + /// A unique ID that can be used to associate `/paymentMethods` and `/payments` requests with the same shopper transaction, offering insights into conversion rates. + /// + /// A unique ID that can be used to associate `/paymentMethods` and `/payments` requests with the same shopper transaction, offering insights into conversion rates. + [DataMember(Name = "shopperConversionId", EmitDefaultValue = false)] + public string ShopperConversionId { get; set; } + /// /// The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. > For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations. /// @@ -786,6 +803,7 @@ public override string ToString() sb.Append(" Amount: ").Append(Amount).Append("\n"); sb.Append(" ApplicationInfo: ").Append(ApplicationInfo).Append("\n"); sb.Append(" AuthenticationData: ").Append(AuthenticationData).Append("\n"); + sb.Append(" BankAccount: ").Append(BankAccount).Append("\n"); sb.Append(" BillingAddress: ").Append(BillingAddress).Append("\n"); sb.Append(" BrowserInfo: ").Append(BrowserInfo).Append("\n"); sb.Append(" CaptureDelayHours: ").Append(CaptureDelayHours).Append("\n"); @@ -832,6 +850,7 @@ public override string ToString() sb.Append(" ReturnUrl: ").Append(ReturnUrl).Append("\n"); sb.Append(" RiskData: ").Append(RiskData).Append("\n"); sb.Append(" SessionValidity: ").Append(SessionValidity).Append("\n"); + sb.Append(" ShopperConversionId: ").Append(ShopperConversionId).Append("\n"); sb.Append(" ShopperEmail: ").Append(ShopperEmail).Append("\n"); sb.Append(" ShopperIP: ").Append(ShopperIP).Append("\n"); sb.Append(" ShopperInteraction: ").Append(ShopperInteraction).Append("\n"); @@ -914,6 +933,11 @@ public bool Equals(PaymentRequest input) (this.AuthenticationData != null && this.AuthenticationData.Equals(input.AuthenticationData)) ) && + ( + this.BankAccount == input.BankAccount || + (this.BankAccount != null && + this.BankAccount.Equals(input.BankAccount)) + ) && ( this.BillingAddress == input.BillingAddress || (this.BillingAddress != null && @@ -1138,6 +1162,11 @@ public bool Equals(PaymentRequest input) (this.SessionValidity != null && this.SessionValidity.Equals(input.SessionValidity)) ) && + ( + this.ShopperConversionId == input.ShopperConversionId || + (this.ShopperConversionId != null && + this.ShopperConversionId.Equals(input.ShopperConversionId)) + ) && ( this.ShopperEmail == input.ShopperEmail || (this.ShopperEmail != null && @@ -1251,6 +1280,10 @@ public override int GetHashCode() { hashCode = (hashCode * 59) + this.AuthenticationData.GetHashCode(); } + if (this.BankAccount != null) + { + hashCode = (hashCode * 59) + this.BankAccount.GetHashCode(); + } if (this.BillingAddress != null) { hashCode = (hashCode * 59) + this.BillingAddress.GetHashCode(); @@ -1408,6 +1441,10 @@ public override int GetHashCode() { hashCode = (hashCode * 59) + this.SessionValidity.GetHashCode(); } + if (this.ShopperConversionId != null) + { + hashCode = (hashCode * 59) + this.ShopperConversionId.GetHashCode(); + } if (this.ShopperEmail != null) { hashCode = (hashCode * 59) + this.ShopperEmail.GetHashCode(); @@ -1500,6 +1537,12 @@ public override int GetHashCode() yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Origin, length must be less than 80.", new [] { "Origin" }); } + // ShopperConversionId (string) maxLength + if (this.ShopperConversionId != null && this.ShopperConversionId.Length > 256) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShopperConversionId, length must be less than 256.", new [] { "ShopperConversionId" }); + } + // ShopperIP (string) maxLength if (this.ShopperIP != null && this.ShopperIP.Length > 1000) { diff --git a/Adyen/Model/Checkout/RivertyDetails.cs b/Adyen/Model/Checkout/RivertyDetails.cs new file mode 100644 index 000000000..dc6f32dfe --- /dev/null +++ b/Adyen/Model/Checkout/RivertyDetails.cs @@ -0,0 +1,328 @@ +/* +* Adyen Checkout API +* +* +* The version of the OpenAPI document: 71 +* +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). +* https://openapi-generator.tech +* Do not edit the class manually. +*/ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Adyen.ApiSerialization.OpenAPIDateConverter; + +namespace Adyen.Model.Checkout +{ + /// + /// RivertyDetails + /// + [DataContract(Name = "RivertyDetails")] + public partial class RivertyDetails : IEquatable, IValidatableObject + { + /// + /// **riverty** + /// + /// **riverty** + [JsonConverter(typeof(StringEnumConverter))] + public enum TypeEnum + { + /// + /// Enum Riverty for value: riverty + /// + [EnumMember(Value = "riverty")] + Riverty = 1, + + /// + /// Enum RivertyAccount for value: riverty_account + /// + [EnumMember(Value = "riverty_account")] + RivertyAccount = 2, + + /// + /// Enum SepadirectdebitRiverty for value: sepadirectdebit_riverty + /// + [EnumMember(Value = "sepadirectdebit_riverty")] + SepadirectdebitRiverty = 3 + + } + + + /// + /// **riverty** + /// + /// **riverty** + [DataMember(Name = "type", IsRequired = false, EmitDefaultValue = false)] + public TypeEnum Type { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected RivertyDetails() { } + /// + /// Initializes a new instance of the class. + /// + /// The address where to send the invoice.. + /// The checkout attempt identifier.. + /// The address where the goods should be delivered.. + /// A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).. + /// The iban number of the customer . + /// Shopper name, date of birth, phone number, and email address.. + /// This is the `recurringDetailReference` returned in the response when you created the token.. + /// This is the `recurringDetailReference` returned in the response when you created the token.. + /// **riverty** (required) (default to TypeEnum.Riverty). + public RivertyDetails(string billingAddress = default(string), string checkoutAttemptId = default(string), string deliveryAddress = default(string), string deviceFingerprint = default(string), string iban = default(string), string personalDetails = default(string), string recurringDetailReference = default(string), string storedPaymentMethodId = default(string), TypeEnum type = TypeEnum.Riverty) + { + this.Type = type; + this.BillingAddress = billingAddress; + this.CheckoutAttemptId = checkoutAttemptId; + this.DeliveryAddress = deliveryAddress; + this.DeviceFingerprint = deviceFingerprint; + this.Iban = iban; + this.PersonalDetails = personalDetails; + this.RecurringDetailReference = recurringDetailReference; + this.StoredPaymentMethodId = storedPaymentMethodId; + } + + /// + /// The address where to send the invoice. + /// + /// The address where to send the invoice. + [DataMember(Name = "billingAddress", EmitDefaultValue = false)] + public string BillingAddress { get; set; } + + /// + /// The checkout attempt identifier. + /// + /// The checkout attempt identifier. + [DataMember(Name = "checkoutAttemptId", EmitDefaultValue = false)] + public string CheckoutAttemptId { get; set; } + + /// + /// The address where the goods should be delivered. + /// + /// The address where the goods should be delivered. + [DataMember(Name = "deliveryAddress", EmitDefaultValue = false)] + public string DeliveryAddress { get; set; } + + /// + /// A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting). + /// + /// A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting). + [DataMember(Name = "deviceFingerprint", EmitDefaultValue = false)] + public string DeviceFingerprint { get; set; } + + /// + /// The iban number of the customer + /// + /// The iban number of the customer + [DataMember(Name = "iban", EmitDefaultValue = false)] + public string Iban { get; set; } + + /// + /// Shopper name, date of birth, phone number, and email address. + /// + /// Shopper name, date of birth, phone number, and email address. + [DataMember(Name = "personalDetails", EmitDefaultValue = false)] + public string PersonalDetails { get; set; } + + /// + /// This is the `recurringDetailReference` returned in the response when you created the token. + /// + /// This is the `recurringDetailReference` returned in the response when you created the token. + [DataMember(Name = "recurringDetailReference", EmitDefaultValue = false)] + [Obsolete("Deprecated since Adyen Checkout API v49. Use `storedPaymentMethodId` instead.")] + public string RecurringDetailReference { get; set; } + + /// + /// This is the `recurringDetailReference` returned in the response when you created the token. + /// + /// This is the `recurringDetailReference` returned in the response when you created the token. + [DataMember(Name = "storedPaymentMethodId", EmitDefaultValue = false)] + public string StoredPaymentMethodId { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class RivertyDetails {\n"); + sb.Append(" BillingAddress: ").Append(BillingAddress).Append("\n"); + sb.Append(" CheckoutAttemptId: ").Append(CheckoutAttemptId).Append("\n"); + sb.Append(" DeliveryAddress: ").Append(DeliveryAddress).Append("\n"); + sb.Append(" DeviceFingerprint: ").Append(DeviceFingerprint).Append("\n"); + sb.Append(" Iban: ").Append(Iban).Append("\n"); + sb.Append(" PersonalDetails: ").Append(PersonalDetails).Append("\n"); + sb.Append(" RecurringDetailReference: ").Append(RecurringDetailReference).Append("\n"); + sb.Append(" StoredPaymentMethodId: ").Append(StoredPaymentMethodId).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as RivertyDetails); + } + + /// + /// Returns true if RivertyDetails instances are equal + /// + /// Instance of RivertyDetails to be compared + /// Boolean + public bool Equals(RivertyDetails input) + { + if (input == null) + { + return false; + } + return + ( + this.BillingAddress == input.BillingAddress || + (this.BillingAddress != null && + this.BillingAddress.Equals(input.BillingAddress)) + ) && + ( + this.CheckoutAttemptId == input.CheckoutAttemptId || + (this.CheckoutAttemptId != null && + this.CheckoutAttemptId.Equals(input.CheckoutAttemptId)) + ) && + ( + this.DeliveryAddress == input.DeliveryAddress || + (this.DeliveryAddress != null && + this.DeliveryAddress.Equals(input.DeliveryAddress)) + ) && + ( + this.DeviceFingerprint == input.DeviceFingerprint || + (this.DeviceFingerprint != null && + this.DeviceFingerprint.Equals(input.DeviceFingerprint)) + ) && + ( + this.Iban == input.Iban || + (this.Iban != null && + this.Iban.Equals(input.Iban)) + ) && + ( + this.PersonalDetails == input.PersonalDetails || + (this.PersonalDetails != null && + this.PersonalDetails.Equals(input.PersonalDetails)) + ) && + ( + this.RecurringDetailReference == input.RecurringDetailReference || + (this.RecurringDetailReference != null && + this.RecurringDetailReference.Equals(input.RecurringDetailReference)) + ) && + ( + this.StoredPaymentMethodId == input.StoredPaymentMethodId || + (this.StoredPaymentMethodId != null && + this.StoredPaymentMethodId.Equals(input.StoredPaymentMethodId)) + ) && + ( + this.Type == input.Type || + this.Type.Equals(input.Type) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.BillingAddress != null) + { + hashCode = (hashCode * 59) + this.BillingAddress.GetHashCode(); + } + if (this.CheckoutAttemptId != null) + { + hashCode = (hashCode * 59) + this.CheckoutAttemptId.GetHashCode(); + } + if (this.DeliveryAddress != null) + { + hashCode = (hashCode * 59) + this.DeliveryAddress.GetHashCode(); + } + if (this.DeviceFingerprint != null) + { + hashCode = (hashCode * 59) + this.DeviceFingerprint.GetHashCode(); + } + if (this.Iban != null) + { + hashCode = (hashCode * 59) + this.Iban.GetHashCode(); + } + if (this.PersonalDetails != null) + { + hashCode = (hashCode * 59) + this.PersonalDetails.GetHashCode(); + } + if (this.RecurringDetailReference != null) + { + hashCode = (hashCode * 59) + this.RecurringDetailReference.GetHashCode(); + } + if (this.StoredPaymentMethodId != null) + { + hashCode = (hashCode * 59) + this.StoredPaymentMethodId.GetHashCode(); + } + hashCode = (hashCode * 59) + this.Type.GetHashCode(); + return hashCode; + } + } + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + public IEnumerable Validate(ValidationContext validationContext) + { + // DeviceFingerprint (string) maxLength + if (this.DeviceFingerprint != null && this.DeviceFingerprint.Length > 5000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for DeviceFingerprint, length must be less than 5000.", new [] { "DeviceFingerprint" }); + } + + // Iban (string) maxLength + if (this.Iban != null && this.Iban.Length > 34) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Iban, length must be less than 34.", new [] { "Iban" }); + } + + // StoredPaymentMethodId (string) maxLength + if (this.StoredPaymentMethodId != null && this.StoredPaymentMethodId.Length > 64) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StoredPaymentMethodId, length must be less than 64.", new [] { "StoredPaymentMethodId" }); + } + + yield break; + } + } + +} diff --git a/Adyen/Model/ConfigurationWebhooks/PaymentInstrument.cs b/Adyen/Model/ConfigurationWebhooks/PaymentInstrument.cs index d38be0c7f..cdd22a432 100644 --- a/Adyen/Model/ConfigurationWebhooks/PaymentInstrument.cs +++ b/Adyen/Model/ConfigurationWebhooks/PaymentInstrument.cs @@ -143,9 +143,9 @@ public enum StatusReasonEnum [DataMember(Name = "statusReason", EmitDefaultValue = false)] public StatusReasonEnum? StatusReason { get; set; } /// - /// Type of payment instrument. Possible value: **card**, **bankAccount**. + /// The type of payment instrument. Possible values: **card**, **bankAccount**. /// - /// Type of payment instrument. Possible value: **card**, **bankAccount**. + /// The type of payment instrument. Possible values: **card**, **bankAccount**. [JsonConverter(typeof(StringEnumConverter))] public enum TypeEnum { @@ -165,9 +165,9 @@ public enum TypeEnum /// - /// Type of payment instrument. Possible value: **card**, **bankAccount**. + /// The type of payment instrument. Possible values: **card**, **bankAccount**. /// - /// Type of payment instrument. Possible value: **card**, **bankAccount**. + /// The type of payment instrument. Possible values: **card**, **bankAccount**. [DataMember(Name = "type", IsRequired = false, EmitDefaultValue = false)] public TypeEnum Type { get; set; } /// @@ -190,7 +190,7 @@ protected PaymentInstrument() { } /// The status of the payment instrument. If a status is not specified when creating a payment instrument, it is set to **active** by default. However, there can be exceptions for cards based on the `card.formFactor` and the `issuingCountryCode`. For example, when issuing physical cards in the US, the default status is **inactive**. Possible values: * **active**: The payment instrument is active and can be used to make payments. * **inactive**: The payment instrument is inactive and cannot be used to make payments. * **suspended**: The payment instrument is suspended, either because it was stolen or lost. * **closed**: The payment instrument is permanently closed. This action cannot be undone. . /// The status comment provides additional information for the statusReason of the payment instrument.. /// The reason for the status of the payment instrument. Possible values: **accountClosure**, **damaged**, **endOfLife**, **expired**, **lost**, **stolen**, **suspectedFraud**, **transactionRule**, **other**. If the reason is **other**, you must also send the `statusComment` parameter describing the status change.. - /// Type of payment instrument. Possible value: **card**, **bankAccount**. (required). + /// The type of payment instrument. Possible values: **card**, **bankAccount**. (required). public PaymentInstrument(List additionalBankAccountIdentifications = default(List), string balanceAccountId = default(string), BankAccountDetails bankAccount = default(BankAccountDetails), Card card = default(Card), string description = default(string), string id = default(string), string issuingCountryCode = default(string), string paymentInstrumentGroupId = default(string), string reference = default(string), StatusEnum? status = default(StatusEnum?), string statusComment = default(string), StatusReasonEnum? statusReason = default(StatusReasonEnum?), TypeEnum type = default(TypeEnum)) { this.BalanceAccountId = balanceAccountId; diff --git a/Adyen/Model/ConfigurationWebhooks/SweepConfigurationV2.cs b/Adyen/Model/ConfigurationWebhooks/SweepConfigurationV2.cs index 0538f66b8..521d80e55 100644 --- a/Adyen/Model/ConfigurationWebhooks/SweepConfigurationV2.cs +++ b/Adyen/Model/ConfigurationWebhooks/SweepConfigurationV2.cs @@ -233,29 +233,35 @@ public enum ReasonEnum [EnumMember(Value = "refusedByCounterpartyBank")] RefusedByCounterpartyBank = 18, + /// + /// Enum RefusedByCustomer for value: refusedByCustomer + /// + [EnumMember(Value = "refusedByCustomer")] + RefusedByCustomer = 19, + /// /// Enum RouteNotFound for value: routeNotFound /// [EnumMember(Value = "routeNotFound")] - RouteNotFound = 19, + RouteNotFound = 20, /// /// Enum ScaFailed for value: scaFailed /// [EnumMember(Value = "scaFailed")] - ScaFailed = 20, + ScaFailed = 21, /// /// Enum TransferInstrumentDoesNotExist for value: transferInstrumentDoesNotExist /// [EnumMember(Value = "transferInstrumentDoesNotExist")] - TransferInstrumentDoesNotExist = 21, + TransferInstrumentDoesNotExist = 22, /// /// Enum Unknown for value: unknown /// [EnumMember(Value = "unknown")] - Unknown = 22 + Unknown = 23 } diff --git a/Adyen/Model/LegalEntityManagement/AcceptTermsOfServiceResponse.cs b/Adyen/Model/LegalEntityManagement/AcceptTermsOfServiceResponse.cs index 19f8c9e5e..43914f22e 100644 --- a/Adyen/Model/LegalEntityManagement/AcceptTermsOfServiceResponse.cs +++ b/Adyen/Model/LegalEntityManagement/AcceptTermsOfServiceResponse.cs @@ -33,9 +33,9 @@ namespace Adyen.Model.LegalEntityManagement public partial class AcceptTermsOfServiceResponse : IEquatable, IValidatableObject { /// - /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** + /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** * **adyenChargeCard** /// - /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** + /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** * **adyenChargeCard** [JsonConverter(typeof(StringEnumConverter))] public enum TypeEnum { @@ -57,43 +57,49 @@ public enum TypeEnum [EnumMember(Value = "adyenCard")] AdyenCard = 3, + /// + /// Enum AdyenChargeCard for value: adyenChargeCard + /// + [EnumMember(Value = "adyenChargeCard")] + AdyenChargeCard = 4, + /// /// Enum AdyenForPlatformsAdvanced for value: adyenForPlatformsAdvanced /// [EnumMember(Value = "adyenForPlatformsAdvanced")] - AdyenForPlatformsAdvanced = 4, + AdyenForPlatformsAdvanced = 5, /// /// Enum AdyenForPlatformsManage for value: adyenForPlatformsManage /// [EnumMember(Value = "adyenForPlatformsManage")] - AdyenForPlatformsManage = 5, + AdyenForPlatformsManage = 6, /// /// Enum AdyenFranchisee for value: adyenFranchisee /// [EnumMember(Value = "adyenFranchisee")] - AdyenFranchisee = 6, + AdyenFranchisee = 7, /// /// Enum AdyenIssuing for value: adyenIssuing /// [EnumMember(Value = "adyenIssuing")] - AdyenIssuing = 7, + AdyenIssuing = 8, /// /// Enum AdyenPccr for value: adyenPccr /// [EnumMember(Value = "adyenPccr")] - AdyenPccr = 8 + AdyenPccr = 9 } /// - /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** + /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** * **adyenChargeCard** /// - /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** + /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** * **adyenChargeCard** [DataMember(Name = "type", EmitDefaultValue = false)] public TypeEnum? Type { get; set; } /// @@ -104,7 +110,7 @@ public enum TypeEnum /// The IP address of the user that accepted the Terms of Service.. /// The language used for the Terms of Service document, specified by the two-letter [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) language code. Possible value: **en** for English.. /// The unique identifier of the Terms of Service document.. - /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** . + /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** * **adyenChargeCard** . public AcceptTermsOfServiceResponse(string acceptedBy = default(string), string id = default(string), string ipAddress = default(string), string language = default(string), string termsOfServiceDocumentId = default(string), TypeEnum? type = default(TypeEnum?)) { this.AcceptedBy = acceptedBy; diff --git a/Adyen/Model/LegalEntityManagement/CalculateTermsOfServiceStatusResponse.cs b/Adyen/Model/LegalEntityManagement/CalculateTermsOfServiceStatusResponse.cs index fa7ec7c06..4cffb8946 100644 --- a/Adyen/Model/LegalEntityManagement/CalculateTermsOfServiceStatusResponse.cs +++ b/Adyen/Model/LegalEntityManagement/CalculateTermsOfServiceStatusResponse.cs @@ -56,35 +56,41 @@ public enum TermsOfServiceTypesEnum [EnumMember(Value = "adyenCard")] AdyenCard = 3, + /// + /// Enum AdyenChargeCard for value: adyenChargeCard + /// + [EnumMember(Value = "adyenChargeCard")] + AdyenChargeCard = 4, + /// /// Enum AdyenForPlatformsAdvanced for value: adyenForPlatformsAdvanced /// [EnumMember(Value = "adyenForPlatformsAdvanced")] - AdyenForPlatformsAdvanced = 4, + AdyenForPlatformsAdvanced = 5, /// /// Enum AdyenForPlatformsManage for value: adyenForPlatformsManage /// [EnumMember(Value = "adyenForPlatformsManage")] - AdyenForPlatformsManage = 5, + AdyenForPlatformsManage = 6, /// /// Enum AdyenFranchisee for value: adyenFranchisee /// [EnumMember(Value = "adyenFranchisee")] - AdyenFranchisee = 6, + AdyenFranchisee = 7, /// /// Enum AdyenIssuing for value: adyenIssuing /// [EnumMember(Value = "adyenIssuing")] - AdyenIssuing = 7, + AdyenIssuing = 8, /// /// Enum AdyenPccr for value: adyenPccr /// [EnumMember(Value = "adyenPccr")] - AdyenPccr = 8 + AdyenPccr = 9 } diff --git a/Adyen/Model/LegalEntityManagement/GetTermsOfServiceDocumentRequest.cs b/Adyen/Model/LegalEntityManagement/GetTermsOfServiceDocumentRequest.cs index 5e5bcb2a6..ea43ec103 100644 --- a/Adyen/Model/LegalEntityManagement/GetTermsOfServiceDocumentRequest.cs +++ b/Adyen/Model/LegalEntityManagement/GetTermsOfServiceDocumentRequest.cs @@ -33,9 +33,9 @@ namespace Adyen.Model.LegalEntityManagement public partial class GetTermsOfServiceDocumentRequest : IEquatable, IValidatableObject { /// - /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** + /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** * **adyenChargeCard** /// - /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** + /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** * **adyenChargeCard** [JsonConverter(typeof(StringEnumConverter))] public enum TypeEnum { @@ -57,43 +57,49 @@ public enum TypeEnum [EnumMember(Value = "adyenCard")] AdyenCard = 3, + /// + /// Enum AdyenChargeCard for value: adyenChargeCard + /// + [EnumMember(Value = "adyenChargeCard")] + AdyenChargeCard = 4, + /// /// Enum AdyenForPlatformsAdvanced for value: adyenForPlatformsAdvanced /// [EnumMember(Value = "adyenForPlatformsAdvanced")] - AdyenForPlatformsAdvanced = 4, + AdyenForPlatformsAdvanced = 5, /// /// Enum AdyenForPlatformsManage for value: adyenForPlatformsManage /// [EnumMember(Value = "adyenForPlatformsManage")] - AdyenForPlatformsManage = 5, + AdyenForPlatformsManage = 6, /// /// Enum AdyenFranchisee for value: adyenFranchisee /// [EnumMember(Value = "adyenFranchisee")] - AdyenFranchisee = 6, + AdyenFranchisee = 7, /// /// Enum AdyenIssuing for value: adyenIssuing /// [EnumMember(Value = "adyenIssuing")] - AdyenIssuing = 7, + AdyenIssuing = 8, /// /// Enum AdyenPccr for value: adyenPccr /// [EnumMember(Value = "adyenPccr")] - AdyenPccr = 8 + AdyenPccr = 9 } /// - /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** + /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** * **adyenChargeCard** /// - /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** + /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** * **adyenChargeCard** [DataMember(Name = "type", IsRequired = false, EmitDefaultValue = false)] public TypeEnum Type { get; set; } /// @@ -106,7 +112,7 @@ protected GetTermsOfServiceDocumentRequest() { } /// /// The language to be used for the Terms of Service document, specified by the two-letter [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) language code. Possible value: **en** for English. (required). /// The requested format for the Terms of Service document. Default value: JSON. Possible values: **JSON**, **PDF**, or **TXT**.. - /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** (required). + /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** * **adyenChargeCard** (required). public GetTermsOfServiceDocumentRequest(string language = default(string), string termsOfServiceDocumentFormat = default(string), TypeEnum type = default(TypeEnum)) { this.Language = language; diff --git a/Adyen/Model/LegalEntityManagement/GetTermsOfServiceDocumentResponse.cs b/Adyen/Model/LegalEntityManagement/GetTermsOfServiceDocumentResponse.cs index aa7f9d7aa..356ad6924 100644 --- a/Adyen/Model/LegalEntityManagement/GetTermsOfServiceDocumentResponse.cs +++ b/Adyen/Model/LegalEntityManagement/GetTermsOfServiceDocumentResponse.cs @@ -33,9 +33,9 @@ namespace Adyen.Model.LegalEntityManagement public partial class GetTermsOfServiceDocumentResponse : IEquatable, IValidatableObject { /// - /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** + /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** * **adyenChargeCard** /// - /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** + /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** * **adyenChargeCard** [JsonConverter(typeof(StringEnumConverter))] public enum TypeEnum { @@ -57,43 +57,49 @@ public enum TypeEnum [EnumMember(Value = "adyenCard")] AdyenCard = 3, + /// + /// Enum AdyenChargeCard for value: adyenChargeCard + /// + [EnumMember(Value = "adyenChargeCard")] + AdyenChargeCard = 4, + /// /// Enum AdyenForPlatformsAdvanced for value: adyenForPlatformsAdvanced /// [EnumMember(Value = "adyenForPlatformsAdvanced")] - AdyenForPlatformsAdvanced = 4, + AdyenForPlatformsAdvanced = 5, /// /// Enum AdyenForPlatformsManage for value: adyenForPlatformsManage /// [EnumMember(Value = "adyenForPlatformsManage")] - AdyenForPlatformsManage = 5, + AdyenForPlatformsManage = 6, /// /// Enum AdyenFranchisee for value: adyenFranchisee /// [EnumMember(Value = "adyenFranchisee")] - AdyenFranchisee = 6, + AdyenFranchisee = 7, /// /// Enum AdyenIssuing for value: adyenIssuing /// [EnumMember(Value = "adyenIssuing")] - AdyenIssuing = 7, + AdyenIssuing = 8, /// /// Enum AdyenPccr for value: adyenPccr /// [EnumMember(Value = "adyenPccr")] - AdyenPccr = 8 + AdyenPccr = 9 } /// - /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** + /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** * **adyenChargeCard** /// - /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** + /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** * **adyenChargeCard** [DataMember(Name = "type", EmitDefaultValue = false)] public TypeEnum? Type { get; set; } /// @@ -104,7 +110,7 @@ public enum TypeEnum /// The language used for the Terms of Service document, specified by the two-letter [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) language code. Possible value: **en** for English.. /// The format of the Terms of Service document.. /// The unique identifier of the Terms of Service document.. - /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** . + /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** * **adyenChargeCard** . public GetTermsOfServiceDocumentResponse(byte[] document = default(byte[]), string id = default(string), string language = default(string), string termsOfServiceDocumentFormat = default(string), string termsOfServiceDocumentId = default(string), TypeEnum? type = default(TypeEnum?)) { this.Document = document; diff --git a/Adyen/Model/LegalEntityManagement/TermsOfServiceAcceptanceInfo.cs b/Adyen/Model/LegalEntityManagement/TermsOfServiceAcceptanceInfo.cs index 9211731e6..31ce5de46 100644 --- a/Adyen/Model/LegalEntityManagement/TermsOfServiceAcceptanceInfo.cs +++ b/Adyen/Model/LegalEntityManagement/TermsOfServiceAcceptanceInfo.cs @@ -33,9 +33,9 @@ namespace Adyen.Model.LegalEntityManagement public partial class TermsOfServiceAcceptanceInfo : IEquatable, IValidatableObject { /// - /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** + /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** * **adyenChargeCard** /// - /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** + /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** * **adyenChargeCard** [JsonConverter(typeof(StringEnumConverter))] public enum TypeEnum { @@ -57,43 +57,49 @@ public enum TypeEnum [EnumMember(Value = "adyenCard")] AdyenCard = 3, + /// + /// Enum AdyenChargeCard for value: adyenChargeCard + /// + [EnumMember(Value = "adyenChargeCard")] + AdyenChargeCard = 4, + /// /// Enum AdyenForPlatformsAdvanced for value: adyenForPlatformsAdvanced /// [EnumMember(Value = "adyenForPlatformsAdvanced")] - AdyenForPlatformsAdvanced = 4, + AdyenForPlatformsAdvanced = 5, /// /// Enum AdyenForPlatformsManage for value: adyenForPlatformsManage /// [EnumMember(Value = "adyenForPlatformsManage")] - AdyenForPlatformsManage = 5, + AdyenForPlatformsManage = 6, /// /// Enum AdyenFranchisee for value: adyenFranchisee /// [EnumMember(Value = "adyenFranchisee")] - AdyenFranchisee = 6, + AdyenFranchisee = 7, /// /// Enum AdyenIssuing for value: adyenIssuing /// [EnumMember(Value = "adyenIssuing")] - AdyenIssuing = 7, + AdyenIssuing = 8, /// /// Enum AdyenPccr for value: adyenPccr /// [EnumMember(Value = "adyenPccr")] - AdyenPccr = 8 + AdyenPccr = 9 } /// - /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** + /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** * **adyenChargeCard** /// - /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** + /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** * **adyenChargeCard** [DataMember(Name = "type", EmitDefaultValue = false)] public TypeEnum? Type { get; set; } /// @@ -103,7 +109,7 @@ public enum TypeEnum /// The unique identifier of the legal entity for which the Terms of Service are accepted.. /// The date when the Terms of Service were accepted.. /// An Adyen-generated reference for the accepted Terms of Service.. - /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** . + /// The type of Terms of Service. Possible values: * **adyenForPlatformsManage** * **adyenIssuing** * **adyenForPlatformsAdvanced** * **adyenCapital** * **adyenAccount** * **adyenCard** * **adyenFranchisee** * **adyenPccr** * **adyenChargeCard** . public TermsOfServiceAcceptanceInfo(string acceptedBy = default(string), string acceptedFor = default(string), DateTime createdAt = default(DateTime), string id = default(string), TypeEnum? type = default(TypeEnum?)) { this.AcceptedBy = acceptedBy; diff --git a/Adyen/Model/TransferWebhooks/TransferData.cs b/Adyen/Model/TransferWebhooks/TransferData.cs index 8c0b9c790..3fa3082c9 100644 --- a/Adyen/Model/TransferWebhooks/TransferData.cs +++ b/Adyen/Model/TransferWebhooks/TransferData.cs @@ -221,29 +221,35 @@ public enum ReasonEnum [EnumMember(Value = "refusedByCounterpartyBank")] RefusedByCounterpartyBank = 18, + /// + /// Enum RefusedByCustomer for value: refusedByCustomer + /// + [EnumMember(Value = "refusedByCustomer")] + RefusedByCustomer = 19, + /// /// Enum RouteNotFound for value: routeNotFound /// [EnumMember(Value = "routeNotFound")] - RouteNotFound = 19, + RouteNotFound = 20, /// /// Enum ScaFailed for value: scaFailed /// [EnumMember(Value = "scaFailed")] - ScaFailed = 20, + ScaFailed = 21, /// /// Enum TransferInstrumentDoesNotExist for value: transferInstrumentDoesNotExist /// [EnumMember(Value = "transferInstrumentDoesNotExist")] - TransferInstrumentDoesNotExist = 21, + TransferInstrumentDoesNotExist = 22, /// /// Enum Unknown for value: unknown /// [EnumMember(Value = "unknown")] - Unknown = 22 + Unknown = 23 } diff --git a/Adyen/Model/TransferWebhooks/TransferEvent.cs b/Adyen/Model/TransferWebhooks/TransferEvent.cs index 8317fc2f7..7d2526c5d 100644 --- a/Adyen/Model/TransferWebhooks/TransferEvent.cs +++ b/Adyen/Model/TransferWebhooks/TransferEvent.cs @@ -147,29 +147,35 @@ public enum ReasonEnum [EnumMember(Value = "refusedByCounterpartyBank")] RefusedByCounterpartyBank = 18, + /// + /// Enum RefusedByCustomer for value: refusedByCustomer + /// + [EnumMember(Value = "refusedByCustomer")] + RefusedByCustomer = 19, + /// /// Enum RouteNotFound for value: routeNotFound /// [EnumMember(Value = "routeNotFound")] - RouteNotFound = 19, + RouteNotFound = 20, /// /// Enum ScaFailed for value: scaFailed /// [EnumMember(Value = "scaFailed")] - ScaFailed = 20, + ScaFailed = 21, /// /// Enum TransferInstrumentDoesNotExist for value: transferInstrumentDoesNotExist /// [EnumMember(Value = "transferInstrumentDoesNotExist")] - TransferInstrumentDoesNotExist = 21, + TransferInstrumentDoesNotExist = 22, /// /// Enum Unknown for value: unknown /// [EnumMember(Value = "unknown")] - Unknown = 22 + Unknown = 23 } @@ -645,7 +651,7 @@ public enum TypeEnum /// The id of the transaction that is related to this accounting event. Only sent for events of type **accounting** where the balance changes.. /// The type of the transfer event. Possible values: **accounting**, **tracking**.. /// The date when the tracking status was updated.. - /// A future date, when the funds are expected to be deducted from or credited to the balance account.. + /// The date when the funds are expected to be deducted from or credited to the balance account. This date can be in either the past or future.. public TransferEvent(Amount amount = default(Amount), List amountAdjustments = default(List), string arn = default(string), DateTime bookingDate = default(DateTime), DateTime estimatedArrivalTime = default(DateTime), ExternalReason externalReason = default(ExternalReason), string id = default(string), Modification modification = default(Modification), List mutations = default(List), Amount originalAmount = default(Amount), ReasonEnum? reason = default(ReasonEnum?), StatusEnum? status = default(StatusEnum?), TransferEventTrackingData trackingData = default(TransferEventTrackingData), string transactionId = default(string), TypeEnum? type = default(TypeEnum?), DateTime updateDate = default(DateTime), DateTime valueDate = default(DateTime)) { this.Amount = amount; @@ -754,9 +760,9 @@ public enum TypeEnum public DateTime UpdateDate { get; set; } /// - /// A future date, when the funds are expected to be deducted from or credited to the balance account. + /// The date when the funds are expected to be deducted from or credited to the balance account. This date can be in either the past or future. /// - /// A future date, when the funds are expected to be deducted from or credited to the balance account. + /// The date when the funds are expected to be deducted from or credited to the balance account. This date can be in either the past or future. [DataMember(Name = "valueDate", EmitDefaultValue = false)] public DateTime ValueDate { get; set; } diff --git a/Adyen/Model/Transfers/Transfer.cs b/Adyen/Model/Transfers/Transfer.cs index 958660e97..f49d95ba0 100644 --- a/Adyen/Model/Transfers/Transfer.cs +++ b/Adyen/Model/Transfers/Transfer.cs @@ -221,29 +221,35 @@ public enum ReasonEnum [EnumMember(Value = "refusedByCounterpartyBank")] RefusedByCounterpartyBank = 18, + /// + /// Enum RefusedByCustomer for value: refusedByCustomer + /// + [EnumMember(Value = "refusedByCustomer")] + RefusedByCustomer = 19, + /// /// Enum RouteNotFound for value: routeNotFound /// [EnumMember(Value = "routeNotFound")] - RouteNotFound = 19, + RouteNotFound = 20, /// /// Enum ScaFailed for value: scaFailed /// [EnumMember(Value = "scaFailed")] - ScaFailed = 20, + ScaFailed = 21, /// /// Enum TransferInstrumentDoesNotExist for value: transferInstrumentDoesNotExist /// [EnumMember(Value = "transferInstrumentDoesNotExist")] - TransferInstrumentDoesNotExist = 21, + TransferInstrumentDoesNotExist = 22, /// /// Enum Unknown for value: unknown /// [EnumMember(Value = "unknown")] - Unknown = 22 + Unknown = 23 } diff --git a/Adyen/Model/Transfers/TransferData.cs b/Adyen/Model/Transfers/TransferData.cs index 879ade000..32110f644 100644 --- a/Adyen/Model/Transfers/TransferData.cs +++ b/Adyen/Model/Transfers/TransferData.cs @@ -221,29 +221,35 @@ public enum ReasonEnum [EnumMember(Value = "refusedByCounterpartyBank")] RefusedByCounterpartyBank = 18, + /// + /// Enum RefusedByCustomer for value: refusedByCustomer + /// + [EnumMember(Value = "refusedByCustomer")] + RefusedByCustomer = 19, + /// /// Enum RouteNotFound for value: routeNotFound /// [EnumMember(Value = "routeNotFound")] - RouteNotFound = 19, + RouteNotFound = 20, /// /// Enum ScaFailed for value: scaFailed /// [EnumMember(Value = "scaFailed")] - ScaFailed = 20, + ScaFailed = 21, /// /// Enum TransferInstrumentDoesNotExist for value: transferInstrumentDoesNotExist /// [EnumMember(Value = "transferInstrumentDoesNotExist")] - TransferInstrumentDoesNotExist = 21, + TransferInstrumentDoesNotExist = 22, /// /// Enum Unknown for value: unknown /// [EnumMember(Value = "unknown")] - Unknown = 22 + Unknown = 23 } diff --git a/Adyen/Model/Transfers/TransferEvent.cs b/Adyen/Model/Transfers/TransferEvent.cs index 813ec7217..01d24dd28 100644 --- a/Adyen/Model/Transfers/TransferEvent.cs +++ b/Adyen/Model/Transfers/TransferEvent.cs @@ -147,29 +147,35 @@ public enum ReasonEnum [EnumMember(Value = "refusedByCounterpartyBank")] RefusedByCounterpartyBank = 18, + /// + /// Enum RefusedByCustomer for value: refusedByCustomer + /// + [EnumMember(Value = "refusedByCustomer")] + RefusedByCustomer = 19, + /// /// Enum RouteNotFound for value: routeNotFound /// [EnumMember(Value = "routeNotFound")] - RouteNotFound = 19, + RouteNotFound = 20, /// /// Enum ScaFailed for value: scaFailed /// [EnumMember(Value = "scaFailed")] - ScaFailed = 20, + ScaFailed = 21, /// /// Enum TransferInstrumentDoesNotExist for value: transferInstrumentDoesNotExist /// [EnumMember(Value = "transferInstrumentDoesNotExist")] - TransferInstrumentDoesNotExist = 21, + TransferInstrumentDoesNotExist = 22, /// /// Enum Unknown for value: unknown /// [EnumMember(Value = "unknown")] - Unknown = 22 + Unknown = 23 } @@ -645,7 +651,7 @@ public enum TypeEnum /// The id of the transaction that is related to this accounting event. Only sent for events of type **accounting** where the balance changes.. /// The type of the transfer event. Possible values: **accounting**, **tracking**.. /// The date when the tracking status was updated.. - /// A future date, when the funds are expected to be deducted from or credited to the balance account.. + /// The date when the funds are expected to be deducted from or credited to the balance account. This date can be in either the past or future.. public TransferEvent(Amount amount = default(Amount), List amountAdjustments = default(List), string arn = default(string), DateTime bookingDate = default(DateTime), DateTime estimatedArrivalTime = default(DateTime), ExternalReason externalReason = default(ExternalReason), string id = default(string), Modification modification = default(Modification), List mutations = default(List), Amount originalAmount = default(Amount), ReasonEnum? reason = default(ReasonEnum?), StatusEnum? status = default(StatusEnum?), TransferEventTrackingData trackingData = default(TransferEventTrackingData), string transactionId = default(string), TypeEnum? type = default(TypeEnum?), DateTime updateDate = default(DateTime), DateTime valueDate = default(DateTime)) { this.Amount = amount; @@ -754,9 +760,9 @@ public enum TypeEnum public DateTime UpdateDate { get; set; } /// - /// A future date, when the funds are expected to be deducted from or credited to the balance account. + /// The date when the funds are expected to be deducted from or credited to the balance account. This date can be in either the past or future. /// - /// A future date, when the funds are expected to be deducted from or credited to the balance account. + /// The date when the funds are expected to be deducted from or credited to the balance account. This date can be in either the past or future. [DataMember(Name = "valueDate", EmitDefaultValue = false)] public DateTime ValueDate { get; set; } diff --git a/Adyen/Service/BalancePlatform/AccountHoldersService.cs b/Adyen/Service/BalancePlatform/AccountHoldersService.cs index d2d6e3bbf..0bb03115c 100644 --- a/Adyen/Service/BalancePlatform/AccountHoldersService.cs +++ b/Adyen/Service/BalancePlatform/AccountHoldersService.cs @@ -79,6 +79,23 @@ public interface IAccountHoldersService /// Task of . Task GetAllBalanceAccountsOfAccountHolderAsync(string id, int? offset = default, int? limit = default, RequestOptions requestOptions = default, CancellationToken cancellationToken = default); + /// + /// Get all transaction rules for an account holder + /// + /// - The unique identifier of the account holder. + /// - Additional request options. + /// . + Model.BalancePlatform.TransactionRulesResponse GetAllTransactionRulesForAccountHolder(string id, RequestOptions requestOptions = default); + + /// + /// Get all transaction rules for an account holder + /// + /// - The unique identifier of the account holder. + /// - Additional request options. + /// A CancellationToken enables cooperative cancellation between threads, thread pool work items, or Task objects. + /// Task of . + Task GetAllTransactionRulesForAccountHolderAsync(string id, RequestOptions requestOptions = default, CancellationToken cancellationToken = default); + /// /// Get a tax form /// @@ -173,6 +190,18 @@ public Model.BalancePlatform.PaginatedBalanceAccountsResponse GetAllBalanceAccou return await resource.RequestAsync(null, requestOptions, new HttpMethod("GET"), cancellationToken).ConfigureAwait(false); } + public Model.BalancePlatform.TransactionRulesResponse GetAllTransactionRulesForAccountHolder(string id, RequestOptions requestOptions = default) + { + return GetAllTransactionRulesForAccountHolderAsync(id, requestOptions).ConfigureAwait(false).GetAwaiter().GetResult(); + } + + public async Task GetAllTransactionRulesForAccountHolderAsync(string id, RequestOptions requestOptions = default, CancellationToken cancellationToken = default) + { + var endpoint = _baseUrl + $"/accountHolders/{id}/transactionRules"; + var resource = new ServiceResource(this, endpoint); + return await resource.RequestAsync(null, requestOptions, new HttpMethod("GET"), cancellationToken).ConfigureAwait(false); + } + public Model.BalancePlatform.GetTaxFormResponse GetTaxForm(string id, string formType, int year, RequestOptions requestOptions = default) { return GetTaxFormAsync(id, formType, year, requestOptions).ConfigureAwait(false).GetAwaiter().GetResult(); diff --git a/Adyen/Service/BalancePlatform/BalanceAccountsService.cs b/Adyen/Service/BalancePlatform/BalanceAccountsService.cs index 06fe6683e..36438a81d 100644 --- a/Adyen/Service/BalancePlatform/BalanceAccountsService.cs +++ b/Adyen/Service/BalancePlatform/BalanceAccountsService.cs @@ -98,6 +98,23 @@ public interface IBalanceAccountsService /// Task of . Task GetAllSweepsForBalanceAccountAsync(string balanceAccountId, int? offset = default, int? limit = default, RequestOptions requestOptions = default, CancellationToken cancellationToken = default); + /// + /// Get all transaction rules for a balance account + /// + /// - The unique identifier of the balance account. + /// - Additional request options. + /// . + Model.BalancePlatform.TransactionRulesResponse GetAllTransactionRulesForBalanceAccount(string id, RequestOptions requestOptions = default); + + /// + /// Get all transaction rules for a balance account + /// + /// - The unique identifier of the balance account. + /// - Additional request options. + /// A CancellationToken enables cooperative cancellation between threads, thread pool work items, or Task objects. + /// Task of . + Task GetAllTransactionRulesForBalanceAccountAsync(string id, RequestOptions requestOptions = default, CancellationToken cancellationToken = default); + /// /// Get a balance account /// @@ -263,6 +280,18 @@ public Model.BalancePlatform.BalanceSweepConfigurationsResponse GetAllSweepsForB return await resource.RequestAsync(null, requestOptions, new HttpMethod("GET"), cancellationToken).ConfigureAwait(false); } + public Model.BalancePlatform.TransactionRulesResponse GetAllTransactionRulesForBalanceAccount(string id, RequestOptions requestOptions = default) + { + return GetAllTransactionRulesForBalanceAccountAsync(id, requestOptions).ConfigureAwait(false).GetAwaiter().GetResult(); + } + + public async Task GetAllTransactionRulesForBalanceAccountAsync(string id, RequestOptions requestOptions = default, CancellationToken cancellationToken = default) + { + var endpoint = _baseUrl + $"/balanceAccounts/{id}/transactionRules"; + var resource = new ServiceResource(this, endpoint); + return await resource.RequestAsync(null, requestOptions, new HttpMethod("GET"), cancellationToken).ConfigureAwait(false); + } + public Model.BalancePlatform.BalanceAccount GetBalanceAccount(string id, RequestOptions requestOptions = default) { return GetBalanceAccountAsync(id, requestOptions).ConfigureAwait(false).GetAwaiter().GetResult(); diff --git a/Adyen/Service/BalancePlatform/PlatformService.cs b/Adyen/Service/BalancePlatform/PlatformService.cs index 70f25ae83..a1209432d 100644 --- a/Adyen/Service/BalancePlatform/PlatformService.cs +++ b/Adyen/Service/BalancePlatform/PlatformService.cs @@ -45,6 +45,23 @@ public interface IPlatformService /// Task of . Task GetAllAccountHoldersUnderBalancePlatformAsync(string id, int? offset = default, int? limit = default, RequestOptions requestOptions = default, CancellationToken cancellationToken = default); + /// + /// Get all transaction rules for a balance platform + /// + /// - The unique identifier of the balance platform. + /// - Additional request options. + /// . + Model.BalancePlatform.TransactionRulesResponse GetAllTransactionRulesForBalancePlatform(string id, RequestOptions requestOptions = default); + + /// + /// Get all transaction rules for a balance platform + /// + /// - The unique identifier of the balance platform. + /// - Additional request options. + /// A CancellationToken enables cooperative cancellation between threads, thread pool work items, or Task objects. + /// Task of . + Task GetAllTransactionRulesForBalancePlatformAsync(string id, RequestOptions requestOptions = default, CancellationToken cancellationToken = default); + /// /// Get a balance platform /// @@ -92,6 +109,18 @@ public Model.BalancePlatform.PaginatedAccountHoldersResponse GetAllAccountHolder return await resource.RequestAsync(null, requestOptions, new HttpMethod("GET"), cancellationToken).ConfigureAwait(false); } + public Model.BalancePlatform.TransactionRulesResponse GetAllTransactionRulesForBalancePlatform(string id, RequestOptions requestOptions = default) + { + return GetAllTransactionRulesForBalancePlatformAsync(id, requestOptions).ConfigureAwait(false).GetAwaiter().GetResult(); + } + + public async Task GetAllTransactionRulesForBalancePlatformAsync(string id, RequestOptions requestOptions = default, CancellationToken cancellationToken = default) + { + var endpoint = _baseUrl + $"/balancePlatforms/{id}/transactionRules"; + var resource = new ServiceResource(this, endpoint); + return await resource.RequestAsync(null, requestOptions, new HttpMethod("GET"), cancellationToken).ConfigureAwait(false); + } + public Model.BalancePlatform.BalancePlatform GetBalancePlatform(string id, RequestOptions requestOptions = default) { return GetBalancePlatformAsync(id, requestOptions).ConfigureAwait(false).GetAwaiter().GetResult(); diff --git a/Adyen/Service/Checkout/PaymentsService.cs b/Adyen/Service/Checkout/PaymentsService.cs index 4c1b1012e..363f8c1e5 100644 --- a/Adyen/Service/Checkout/PaymentsService.cs +++ b/Adyen/Service/Checkout/PaymentsService.cs @@ -25,7 +25,7 @@ namespace Adyen.Service.Checkout public interface IPaymentsService { /// - /// Get the list of brands on the card + /// Get the brands and other details of a card /// /// - /// - Additional request options. @@ -33,7 +33,7 @@ public interface IPaymentsService Model.Checkout.CardDetailsResponse CardDetails(CardDetailsRequest cardDetailsRequest = default, RequestOptions requestOptions = default); /// - /// Get the list of brands on the card + /// Get the brands and other details of a card /// /// - /// - Additional request options. diff --git a/Adyen/Service/Transfers/TransfersService.cs b/Adyen/Service/Transfers/TransfersService.cs index 478a7a7bd..860a47fcb 100644 --- a/Adyen/Service/Transfers/TransfersService.cs +++ b/Adyen/Service/Transfers/TransfersService.cs @@ -63,8 +63,8 @@ public interface ITransfersService /// - The unique identifier of the [payment instrument](https://docs.adyen.com/api-explorer/balanceplatform/latest/get/paymentInstruments/_id_). To use this parameter, you must also provide a `balanceAccountId`, `accountHolderId`, or `balancePlatform`. The `paymentInstrumentId` must be related to the `balanceAccountId` or `accountHolderId` that you provide. /// - The reference you provided in the POST [/transfers](https://docs.adyen.com/api-explorer/transfers/latest/post/transfers) request /// - The type of transfer. Possible values: - **bank**: Transfer to a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **internal**: Transfer to another [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: Transfer initiated by a Adyen-issued card. - **platformPayment**: Fund movements related to payments that are acquired for your users. - /// - Only include transfers that have been created on or after this point in time. The value must be in ISO 8601 format. For example, **2021-05-30T15:07:40Z**. - /// - Only include transfers that have been created on or before this point in time. The value must be in ISO 8601 format. For example, **2021-05-30T15:07:40Z**. + /// - Only include transfers that have been created on or after this point in time. The value must be in ISO 8601 format and not earlier than 6 months before the `createdUntil` date. For example, **2021-05-30T15:07:40Z**. + /// - Only include transfers that have been created on or before this point in time. The value must be in ISO 8601 format and not later than 6 months after the `createdSince` date. For example, **2021-05-30T15:07:40Z**. /// - The `cursor` returned in the links of the previous response. /// - The number of items returned per page, maximum of 100 items. By default, the response returns 10 items per page. /// - Additional request options. @@ -80,8 +80,8 @@ public interface ITransfersService /// - The unique identifier of the [payment instrument](https://docs.adyen.com/api-explorer/balanceplatform/latest/get/paymentInstruments/_id_). To use this parameter, you must also provide a `balanceAccountId`, `accountHolderId`, or `balancePlatform`. The `paymentInstrumentId` must be related to the `balanceAccountId` or `accountHolderId` that you provide. /// - The reference you provided in the POST [/transfers](https://docs.adyen.com/api-explorer/transfers/latest/post/transfers) request /// - The type of transfer. Possible values: - **bank**: Transfer to a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **internal**: Transfer to another [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: Transfer initiated by a Adyen-issued card. - **platformPayment**: Fund movements related to payments that are acquired for your users. - /// - Only include transfers that have been created on or after this point in time. The value must be in ISO 8601 format. For example, **2021-05-30T15:07:40Z**. - /// - Only include transfers that have been created on or before this point in time. The value must be in ISO 8601 format. For example, **2021-05-30T15:07:40Z**. + /// - Only include transfers that have been created on or after this point in time. The value must be in ISO 8601 format and not earlier than 6 months before the `createdUntil` date. For example, **2021-05-30T15:07:40Z**. + /// - Only include transfers that have been created on or before this point in time. The value must be in ISO 8601 format and not later than 6 months after the `createdSince` date. For example, **2021-05-30T15:07:40Z**. /// - The `cursor` returned in the links of the previous response. /// - The number of items returned per page, maximum of 100 items. By default, the response returns 10 items per page. /// - Additional request options.