diff --git a/Adyen/Model/AcsWebhooks/Amount.cs b/Adyen/Model/AcsWebhooks/Amount.cs index 95a466f14..daeca719b 100644 --- a/Adyen/Model/AcsWebhooks/Amount.cs +++ b/Adyen/Model/AcsWebhooks/Amount.cs @@ -40,8 +40,8 @@ protected Amount() { } /// /// Initializes a new instance of the class. /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). (required). - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). (required). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). (required). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). (required). public Amount(string currency = default(string), long? value = default(long?)) { this.Currency = currency; @@ -49,16 +49,16 @@ protected Amount() { } } /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). [DataMember(Name = "currency", IsRequired = false, EmitDefaultValue = false)] public string Currency { get; set; } /// - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). /// - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). [DataMember(Name = "value", IsRequired = false, EmitDefaultValue = false)] public long? Value { get; set; } diff --git a/Adyen/Model/AcsWebhooks/AuthenticationNotificationRequest.cs b/Adyen/Model/AcsWebhooks/AuthenticationNotificationRequest.cs index 07c3c7131..c541d209c 100644 --- a/Adyen/Model/AcsWebhooks/AuthenticationNotificationRequest.cs +++ b/Adyen/Model/AcsWebhooks/AuthenticationNotificationRequest.cs @@ -64,12 +64,14 @@ protected AuthenticationNotificationRequest() { } /// /// data (required). /// The environment from which the webhook originated. Possible values: **test**, **live**. (required). + /// When the event was queued.. /// Type of notification. (required). - public AuthenticationNotificationRequest(AuthenticationNotificationData data = default(AuthenticationNotificationData), string environment = default(string), TypeEnum type = default(TypeEnum)) + public AuthenticationNotificationRequest(AuthenticationNotificationData data = default(AuthenticationNotificationData), string environment = default(string), DateTime timestamp = default(DateTime), TypeEnum type = default(TypeEnum)) { this.Data = data; this.Environment = environment; this.Type = type; + this.Timestamp = timestamp; } /// @@ -85,6 +87,13 @@ protected AuthenticationNotificationRequest() { } [DataMember(Name = "environment", IsRequired = false, EmitDefaultValue = false)] public string Environment { get; set; } + /// + /// When the event was queued. + /// + /// When the event was queued. + [DataMember(Name = "timestamp", EmitDefaultValue = false)] + public DateTime Timestamp { get; set; } + /// /// Returns the string presentation of the object /// @@ -95,6 +104,7 @@ public override string ToString() sb.Append("class AuthenticationNotificationRequest {\n"); sb.Append(" Data: ").Append(Data).Append("\n"); sb.Append(" Environment: ").Append(Environment).Append("\n"); + sb.Append(" Timestamp: ").Append(Timestamp).Append("\n"); sb.Append(" Type: ").Append(Type).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -141,6 +151,11 @@ public bool Equals(AuthenticationNotificationRequest input) (this.Environment != null && this.Environment.Equals(input.Environment)) ) && + ( + this.Timestamp == input.Timestamp || + (this.Timestamp != null && + this.Timestamp.Equals(input.Timestamp)) + ) && ( this.Type == input.Type || this.Type.Equals(input.Type) @@ -164,6 +179,10 @@ public override int GetHashCode() { hashCode = (hashCode * 59) + this.Environment.GetHashCode(); } + if (this.Timestamp != null) + { + hashCode = (hashCode * 59) + this.Timestamp.GetHashCode(); + } hashCode = (hashCode * 59) + this.Type.GetHashCode(); return hashCode; } diff --git a/Adyen/Model/BinLookup/Amount.cs b/Adyen/Model/BinLookup/Amount.cs index fb7ebaad0..311da0060 100644 --- a/Adyen/Model/BinLookup/Amount.cs +++ b/Adyen/Model/BinLookup/Amount.cs @@ -40,8 +40,8 @@ protected Amount() { } /// /// Initializes a new instance of the class. /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). (required). - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). (required). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). (required). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). (required). public Amount(string currency = default(string), long? value = default(long?)) { this.Currency = currency; @@ -49,16 +49,16 @@ protected Amount() { } } /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). [DataMember(Name = "currency", IsRequired = false, EmitDefaultValue = false)] public string Currency { get; set; } /// - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). /// - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). [DataMember(Name = "value", IsRequired = false, EmitDefaultValue = false)] public long? Value { get; set; } diff --git a/Adyen/Model/Checkout/CardDetails.cs b/Adyen/Model/Checkout/CardDetails.cs index 831e05aee..512824693 100644 --- a/Adyen/Model/Checkout/CardDetails.cs +++ b/Adyen/Model/Checkout/CardDetails.cs @@ -95,7 +95,13 @@ public enum TypeEnum /// Enum Card for value: card /// [EnumMember(Value = "card")] - Card = 5 + Card = 5, + + /// + /// Enum Clicktopay for value: clicktopay + /// + [EnumMember(Value = "clicktopay")] + Clicktopay = 6 } @@ -113,6 +119,7 @@ public enum TypeEnum /// The checkout attempt identifier.. /// cupsecureplusSmscode. /// The card verification code. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).. + /// Only include this for JSON Web Encryption (JWE) implementations. The JWE-encrypted card details.. /// The encrypted card number.. /// The encrypted card expiry month.. /// The encrypted card expiry year.. @@ -132,12 +139,13 @@ public enum TypeEnum /// This is the `recurringDetailReference` returned in the response when you created the token.. /// Required for mobile integrations. Version of the 3D Secure 2 mobile SDK.. /// Default payment method details. Common for scheme payment methods, and for simple payment method details. (default to TypeEnum.Scheme). - public CardDetails(string brand = default(string), string checkoutAttemptId = default(string), string cupsecureplusSmscode = default(string), string cvc = default(string), string encryptedCardNumber = default(string), string encryptedExpiryMonth = default(string), string encryptedExpiryYear = default(string), string encryptedSecurityCode = default(string), string expiryMonth = default(string), string expiryYear = default(string), FundingSourceEnum? fundingSource = default(FundingSourceEnum?), string holderName = default(string), string networkPaymentReference = default(string), string number = default(string), string recurringDetailReference = default(string), string shopperNotificationReference = default(string), string srcCorrelationId = default(string), string srcDigitalCardId = default(string), string srcScheme = default(string), string srcTokenReference = default(string), string storedPaymentMethodId = default(string), string threeDS2SdkVersion = default(string), TypeEnum? type = TypeEnum.Scheme) + public CardDetails(string brand = default(string), string checkoutAttemptId = default(string), string cupsecureplusSmscode = default(string), string cvc = default(string), string encryptedCard = default(string), string encryptedCardNumber = default(string), string encryptedExpiryMonth = default(string), string encryptedExpiryYear = default(string), string encryptedSecurityCode = default(string), string expiryMonth = default(string), string expiryYear = default(string), FundingSourceEnum? fundingSource = default(FundingSourceEnum?), string holderName = default(string), string networkPaymentReference = default(string), string number = default(string), string recurringDetailReference = default(string), string shopperNotificationReference = default(string), string srcCorrelationId = default(string), string srcDigitalCardId = default(string), string srcScheme = default(string), string srcTokenReference = default(string), string storedPaymentMethodId = default(string), string threeDS2SdkVersion = default(string), TypeEnum? type = TypeEnum.Scheme) { this.Brand = brand; this.CheckoutAttemptId = checkoutAttemptId; this.CupsecureplusSmscode = cupsecureplusSmscode; this.Cvc = cvc; + this.EncryptedCard = encryptedCard; this.EncryptedCardNumber = encryptedCardNumber; this.EncryptedExpiryMonth = encryptedExpiryMonth; this.EncryptedExpiryYear = encryptedExpiryYear; @@ -187,6 +195,13 @@ public enum TypeEnum [DataMember(Name = "cvc", EmitDefaultValue = false)] public string Cvc { get; set; } + /// + /// Only include this for JSON Web Encryption (JWE) implementations. The JWE-encrypted card details. + /// + /// Only include this for JSON Web Encryption (JWE) implementations. The JWE-encrypted card details. + [DataMember(Name = "encryptedCard", EmitDefaultValue = false)] + public string EncryptedCard { get; set; } + /// /// The encrypted card number. /// @@ -319,6 +334,7 @@ public override string ToString() sb.Append(" CheckoutAttemptId: ").Append(CheckoutAttemptId).Append("\n"); sb.Append(" CupsecureplusSmscode: ").Append(CupsecureplusSmscode).Append("\n"); sb.Append(" Cvc: ").Append(Cvc).Append("\n"); + sb.Append(" EncryptedCard: ").Append(EncryptedCard).Append("\n"); sb.Append(" EncryptedCardNumber: ").Append(EncryptedCardNumber).Append("\n"); sb.Append(" EncryptedExpiryMonth: ").Append(EncryptedExpiryMonth).Append("\n"); sb.Append(" EncryptedExpiryYear: ").Append(EncryptedExpiryYear).Append("\n"); @@ -393,6 +409,11 @@ public bool Equals(CardDetails input) (this.Cvc != null && this.Cvc.Equals(input.Cvc)) ) && + ( + this.EncryptedCard == input.EncryptedCard || + (this.EncryptedCard != null && + this.EncryptedCard.Equals(input.EncryptedCard)) + ) && ( this.EncryptedCardNumber == input.EncryptedCardNumber || (this.EncryptedCardNumber != null && @@ -513,6 +534,10 @@ public override int GetHashCode() { hashCode = (hashCode * 59) + this.Cvc.GetHashCode(); } + if (this.EncryptedCard != null) + { + hashCode = (hashCode * 59) + this.EncryptedCard.GetHashCode(); + } if (this.EncryptedCardNumber != null) { hashCode = (hashCode * 59) + this.EncryptedCardNumber.GetHashCode(); @@ -593,6 +618,12 @@ public override int GetHashCode() /// Validation Result public IEnumerable Validate(ValidationContext validationContext) { + // EncryptedCard (string) maxLength + if (this.EncryptedCard != null && this.EncryptedCard.Length > 40000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for EncryptedCard, length must be less than 40000.", new [] { "EncryptedCard" }); + } + // EncryptedCardNumber (string) maxLength if (this.EncryptedCardNumber != null && this.EncryptedCardNumber.Length > 15000) { diff --git a/Adyen/Model/Checkout/CardDonations.cs b/Adyen/Model/Checkout/CardDonations.cs index 26ed07bf3..c8b4c31ea 100644 --- a/Adyen/Model/Checkout/CardDonations.cs +++ b/Adyen/Model/Checkout/CardDonations.cs @@ -95,7 +95,13 @@ public enum TypeEnum /// Enum Card for value: card /// [EnumMember(Value = "card")] - Card = 5 + Card = 5, + + /// + /// Enum Clicktopay for value: clicktopay + /// + [EnumMember(Value = "clicktopay")] + Clicktopay = 6 } @@ -113,6 +119,7 @@ public enum TypeEnum /// The checkout attempt identifier.. /// cupsecureplusSmscode. /// The card verification code. Only collect raw card data if you are [fully PCI compliant](https://docs.adyen.com/development-resources/pci-dss-compliance-guide).. + /// Only include this for JSON Web Encryption (JWE) implementations. The JWE-encrypted card details.. /// The encrypted card number.. /// The encrypted card expiry month.. /// The encrypted card expiry year.. @@ -132,12 +139,13 @@ public enum TypeEnum /// This is the `recurringDetailReference` returned in the response when you created the token.. /// Required for mobile integrations. Version of the 3D Secure 2 mobile SDK.. /// Default payment method details. Common for scheme payment methods, and for simple payment method details. (default to TypeEnum.Scheme). - public CardDonations(string brand = default(string), string checkoutAttemptId = default(string), string cupsecureplusSmscode = default(string), string cvc = default(string), string encryptedCardNumber = default(string), string encryptedExpiryMonth = default(string), string encryptedExpiryYear = default(string), string encryptedSecurityCode = default(string), string expiryMonth = default(string), string expiryYear = default(string), FundingSourceEnum? fundingSource = default(FundingSourceEnum?), string holderName = default(string), string networkPaymentReference = default(string), string number = default(string), string recurringDetailReference = default(string), string shopperNotificationReference = default(string), string srcCorrelationId = default(string), string srcDigitalCardId = default(string), string srcScheme = default(string), string srcTokenReference = default(string), string storedPaymentMethodId = default(string), string threeDS2SdkVersion = default(string), TypeEnum? type = TypeEnum.Scheme) + public CardDonations(string brand = default(string), string checkoutAttemptId = default(string), string cupsecureplusSmscode = default(string), string cvc = default(string), string encryptedCard = default(string), string encryptedCardNumber = default(string), string encryptedExpiryMonth = default(string), string encryptedExpiryYear = default(string), string encryptedSecurityCode = default(string), string expiryMonth = default(string), string expiryYear = default(string), FundingSourceEnum? fundingSource = default(FundingSourceEnum?), string holderName = default(string), string networkPaymentReference = default(string), string number = default(string), string recurringDetailReference = default(string), string shopperNotificationReference = default(string), string srcCorrelationId = default(string), string srcDigitalCardId = default(string), string srcScheme = default(string), string srcTokenReference = default(string), string storedPaymentMethodId = default(string), string threeDS2SdkVersion = default(string), TypeEnum? type = TypeEnum.Scheme) { this.Brand = brand; this.CheckoutAttemptId = checkoutAttemptId; this.CupsecureplusSmscode = cupsecureplusSmscode; this.Cvc = cvc; + this.EncryptedCard = encryptedCard; this.EncryptedCardNumber = encryptedCardNumber; this.EncryptedExpiryMonth = encryptedExpiryMonth; this.EncryptedExpiryYear = encryptedExpiryYear; @@ -187,6 +195,13 @@ public enum TypeEnum [DataMember(Name = "cvc", EmitDefaultValue = false)] public string Cvc { get; set; } + /// + /// Only include this for JSON Web Encryption (JWE) implementations. The JWE-encrypted card details. + /// + /// Only include this for JSON Web Encryption (JWE) implementations. The JWE-encrypted card details. + [DataMember(Name = "encryptedCard", EmitDefaultValue = false)] + public string EncryptedCard { get; set; } + /// /// The encrypted card number. /// @@ -319,6 +334,7 @@ public override string ToString() sb.Append(" CheckoutAttemptId: ").Append(CheckoutAttemptId).Append("\n"); sb.Append(" CupsecureplusSmscode: ").Append(CupsecureplusSmscode).Append("\n"); sb.Append(" Cvc: ").Append(Cvc).Append("\n"); + sb.Append(" EncryptedCard: ").Append(EncryptedCard).Append("\n"); sb.Append(" EncryptedCardNumber: ").Append(EncryptedCardNumber).Append("\n"); sb.Append(" EncryptedExpiryMonth: ").Append(EncryptedExpiryMonth).Append("\n"); sb.Append(" EncryptedExpiryYear: ").Append(EncryptedExpiryYear).Append("\n"); @@ -393,6 +409,11 @@ public bool Equals(CardDonations input) (this.Cvc != null && this.Cvc.Equals(input.Cvc)) ) && + ( + this.EncryptedCard == input.EncryptedCard || + (this.EncryptedCard != null && + this.EncryptedCard.Equals(input.EncryptedCard)) + ) && ( this.EncryptedCardNumber == input.EncryptedCardNumber || (this.EncryptedCardNumber != null && @@ -513,6 +534,10 @@ public override int GetHashCode() { hashCode = (hashCode * 59) + this.Cvc.GetHashCode(); } + if (this.EncryptedCard != null) + { + hashCode = (hashCode * 59) + this.EncryptedCard.GetHashCode(); + } if (this.EncryptedCardNumber != null) { hashCode = (hashCode * 59) + this.EncryptedCardNumber.GetHashCode(); @@ -593,6 +618,12 @@ public override int GetHashCode() /// Validation Result public IEnumerable Validate(ValidationContext validationContext) { + // EncryptedCard (string) maxLength + if (this.EncryptedCard != null && this.EncryptedCard.Length > 40000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for EncryptedCard, length must be less than 40000.", new [] { "EncryptedCard" }); + } + // EncryptedCardNumber (string) maxLength if (this.EncryptedCardNumber != null && this.EncryptedCardNumber.Length > 15000) { diff --git a/Adyen/Model/DisputeWebhooks/Amount.cs b/Adyen/Model/DisputeWebhooks/Amount.cs index bf0aad49f..150ac0361 100644 --- a/Adyen/Model/DisputeWebhooks/Amount.cs +++ b/Adyen/Model/DisputeWebhooks/Amount.cs @@ -40,8 +40,8 @@ protected Amount() { } /// /// Initializes a new instance of the class. /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). (required). - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). (required). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). (required). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). (required). public Amount(string currency = default(string), long? value = default(long?)) { this.Currency = currency; @@ -49,16 +49,16 @@ protected Amount() { } } /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). [DataMember(Name = "currency", IsRequired = false, EmitDefaultValue = false)] public string Currency { get; set; } /// - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). /// - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). [DataMember(Name = "value", IsRequired = false, EmitDefaultValue = false)] public long? Value { get; set; } diff --git a/Adyen/Model/LegalEntityManagement/CalculatePciStatusRequest.cs b/Adyen/Model/LegalEntityManagement/CalculatePciStatusRequest.cs new file mode 100644 index 000000000..35b309b01 --- /dev/null +++ b/Adyen/Model/LegalEntityManagement/CalculatePciStatusRequest.cs @@ -0,0 +1,158 @@ +/* +* Legal Entity Management API +* +* +* The version of the OpenAPI document: 3 +* +* 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.LegalEntityManagement +{ + /// + /// CalculatePciStatusRequest + /// + [DataContract(Name = "CalculatePciStatusRequest")] + public partial class CalculatePciStatusRequest : IEquatable, IValidatableObject + { + /// + /// Defines AdditionalSalesChannels + /// + [JsonConverter(typeof(StringEnumConverter))] + public enum AdditionalSalesChannelsEnum + { + /// + /// Enum ECommerce for value: eCommerce + /// + [EnumMember(Value = "eCommerce")] + ECommerce = 1, + + /// + /// Enum EcomMoto for value: ecomMoto + /// + [EnumMember(Value = "ecomMoto")] + EcomMoto = 2, + + /// + /// Enum Pos for value: pos + /// + [EnumMember(Value = "pos")] + Pos = 3, + + /// + /// Enum PosMoto for value: posMoto + /// + [EnumMember(Value = "posMoto")] + PosMoto = 4 + + } + + + + /// + /// An array of additional sales channels to generate PCI questionnaires. Include the relevant sales channels if you need your user to sign PCI questionnaires. Not required if you [create stores](https://docs.adyen.com/platforms) and [add payment methods](https://docs.adyen.com/adyen-for-platforms-model) before you generate the questionnaires. Possible values: * **eCommerce** * **pos** * **ecomMoto** * **posMoto** + /// + /// An array of additional sales channels to generate PCI questionnaires. Include the relevant sales channels if you need your user to sign PCI questionnaires. Not required if you [create stores](https://docs.adyen.com/platforms) and [add payment methods](https://docs.adyen.com/adyen-for-platforms-model) before you generate the questionnaires. Possible values: * **eCommerce** * **pos** * **ecomMoto** * **posMoto** + [DataMember(Name = "additionalSalesChannels", EmitDefaultValue = false)] + public List AdditionalSalesChannels { get; set; } + /// + /// Initializes a new instance of the class. + /// + /// An array of additional sales channels to generate PCI questionnaires. Include the relevant sales channels if you need your user to sign PCI questionnaires. Not required if you [create stores](https://docs.adyen.com/platforms) and [add payment methods](https://docs.adyen.com/adyen-for-platforms-model) before you generate the questionnaires. Possible values: * **eCommerce** * **pos** * **ecomMoto** * **posMoto** . + public CalculatePciStatusRequest(List additionalSalesChannels = default(List)) + { + this.AdditionalSalesChannels = additionalSalesChannels; + } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class CalculatePciStatusRequest {\n"); + sb.Append(" AdditionalSalesChannels: ").Append(AdditionalSalesChannels).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 CalculatePciStatusRequest); + } + + /// + /// Returns true if CalculatePciStatusRequest instances are equal + /// + /// Instance of CalculatePciStatusRequest to be compared + /// Boolean + public bool Equals(CalculatePciStatusRequest input) + { + if (input == null) + { + return false; + } + return + ( + this.AdditionalSalesChannels == input.AdditionalSalesChannels || + this.AdditionalSalesChannels.SequenceEqual(input.AdditionalSalesChannels) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = (hashCode * 59) + this.AdditionalSalesChannels.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/LegalEntityManagement/CalculatePciStatusResponse.cs b/Adyen/Model/LegalEntityManagement/CalculatePciStatusResponse.cs new file mode 100644 index 000000000..9bd725077 --- /dev/null +++ b/Adyen/Model/LegalEntityManagement/CalculatePciStatusResponse.cs @@ -0,0 +1,125 @@ +/* +* Legal Entity Management API +* +* +* The version of the OpenAPI document: 3 +* +* 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.LegalEntityManagement +{ + /// + /// CalculatePciStatusResponse + /// + [DataContract(Name = "CalculatePciStatusResponse")] + public partial class CalculatePciStatusResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// Indicates if the user is required to sign PCI questionnaires. If **false**, they do not need to sign any questionnaires.. + public CalculatePciStatusResponse(bool? signingRequired = default(bool?)) + { + this.SigningRequired = signingRequired; + } + + /// + /// Indicates if the user is required to sign PCI questionnaires. If **false**, they do not need to sign any questionnaires. + /// + /// Indicates if the user is required to sign PCI questionnaires. If **false**, they do not need to sign any questionnaires. + [DataMember(Name = "signingRequired", EmitDefaultValue = false)] + public bool? SigningRequired { 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 CalculatePciStatusResponse {\n"); + sb.Append(" SigningRequired: ").Append(SigningRequired).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 CalculatePciStatusResponse); + } + + /// + /// Returns true if CalculatePciStatusResponse instances are equal + /// + /// Instance of CalculatePciStatusResponse to be compared + /// Boolean + public bool Equals(CalculatePciStatusResponse input) + { + if (input == null) + { + return false; + } + return + ( + this.SigningRequired == input.SigningRequired || + this.SigningRequired.Equals(input.SigningRequired) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = (hashCode * 59) + this.SigningRequired.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/LegalEntityManagement/Document.cs b/Adyen/Model/LegalEntityManagement/Document.cs index b73cb57f2..1b1c0361f 100644 --- a/Adyen/Model/LegalEntityManagement/Document.cs +++ b/Adyen/Model/LegalEntityManagement/Document.cs @@ -33,9 +33,9 @@ namespace Adyen.Model.LegalEntityManagement public partial class Document : IEquatable, IValidatableObject { /// - /// Type of document, used when providing an ID number or uploading a document. The possible values depend on the legal entity type. * For **organization**, the `type` values can be **proofOfAddress**, **registrationDocument**, **vatDocument**, **proofOfOrganizationTaxInfo**, **proofOfOwnership**, **proofOfIndustry**, **proofOfSignatory**, or **proofOfFundingOrWealthSource**. * For **individual**, the `type` values can be **identityCard**, **driversLicense**, **passport**, **liveSelfie**, **proofOfNationalIdNumber**, **proofOfResidency**, **proofOfIndustry**, **proofOfIndividualTaxId**, **proofOfFundingOrWealthSource** or **proofOfRelationship**. * For **soleProprietorship**, the `type` values can be **constitutionalDocument**, **proofOfAddress**, or **proofOfIndustry**. * For **trust**, the `type` value can be **constitutionalDocument**. * Use **bankStatement** to upload documents for a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id). + /// Type of document, used when providing an ID number or uploading a document. The possible values depend on the legal entity type. * For **organization**, the `type` values can be **proofOfAddress**, **registrationDocument**, **vatDocument**, **proofOfOrganizationTaxInfo**, **proofOfOwnership**, **proofOfIndustry**, **proofOfSignatory**, or **proofOfFundingOrWealthSource**. * For **individual**, the `type` values can be **identityCard**, **driversLicense**, **passport**, **liveSelfie**, **proofOfNationalIdNumber**, **proofOfResidency**, **proofOfIndustry**, **proofOfIndividualTaxId**, **proofOfFundingOrWealthSource** or **proofOfRelationship**. * For **soleProprietorship**, the `type` values can be **constitutionalDocument**, **proofOfAddress**, or **proofOfIndustry**. * For **trust**, the `type` value is **constitutionalDocument**. * For **unincorporatedPartnership**, the `type` value is **constitutionalDocument**. * Use **bankStatement** to upload documents for a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id). /// - /// Type of document, used when providing an ID number or uploading a document. The possible values depend on the legal entity type. * For **organization**, the `type` values can be **proofOfAddress**, **registrationDocument**, **vatDocument**, **proofOfOrganizationTaxInfo**, **proofOfOwnership**, **proofOfIndustry**, **proofOfSignatory**, or **proofOfFundingOrWealthSource**. * For **individual**, the `type` values can be **identityCard**, **driversLicense**, **passport**, **liveSelfie**, **proofOfNationalIdNumber**, **proofOfResidency**, **proofOfIndustry**, **proofOfIndividualTaxId**, **proofOfFundingOrWealthSource** or **proofOfRelationship**. * For **soleProprietorship**, the `type` values can be **constitutionalDocument**, **proofOfAddress**, or **proofOfIndustry**. * For **trust**, the `type` value can be **constitutionalDocument**. * Use **bankStatement** to upload documents for a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id). + /// Type of document, used when providing an ID number or uploading a document. The possible values depend on the legal entity type. * For **organization**, the `type` values can be **proofOfAddress**, **registrationDocument**, **vatDocument**, **proofOfOrganizationTaxInfo**, **proofOfOwnership**, **proofOfIndustry**, **proofOfSignatory**, or **proofOfFundingOrWealthSource**. * For **individual**, the `type` values can be **identityCard**, **driversLicense**, **passport**, **liveSelfie**, **proofOfNationalIdNumber**, **proofOfResidency**, **proofOfIndustry**, **proofOfIndividualTaxId**, **proofOfFundingOrWealthSource** or **proofOfRelationship**. * For **soleProprietorship**, the `type` values can be **constitutionalDocument**, **proofOfAddress**, or **proofOfIndustry**. * For **trust**, the `type` value is **constitutionalDocument**. * For **unincorporatedPartnership**, the `type` value is **constitutionalDocument**. * Use **bankStatement** to upload documents for a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id). [JsonConverter(typeof(StringEnumConverter))] public enum TypeEnum { @@ -157,9 +157,9 @@ public enum TypeEnum /// - /// Type of document, used when providing an ID number or uploading a document. The possible values depend on the legal entity type. * For **organization**, the `type` values can be **proofOfAddress**, **registrationDocument**, **vatDocument**, **proofOfOrganizationTaxInfo**, **proofOfOwnership**, **proofOfIndustry**, **proofOfSignatory**, or **proofOfFundingOrWealthSource**. * For **individual**, the `type` values can be **identityCard**, **driversLicense**, **passport**, **liveSelfie**, **proofOfNationalIdNumber**, **proofOfResidency**, **proofOfIndustry**, **proofOfIndividualTaxId**, **proofOfFundingOrWealthSource** or **proofOfRelationship**. * For **soleProprietorship**, the `type` values can be **constitutionalDocument**, **proofOfAddress**, or **proofOfIndustry**. * For **trust**, the `type` value can be **constitutionalDocument**. * Use **bankStatement** to upload documents for a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id). + /// Type of document, used when providing an ID number or uploading a document. The possible values depend on the legal entity type. * For **organization**, the `type` values can be **proofOfAddress**, **registrationDocument**, **vatDocument**, **proofOfOrganizationTaxInfo**, **proofOfOwnership**, **proofOfIndustry**, **proofOfSignatory**, or **proofOfFundingOrWealthSource**. * For **individual**, the `type` values can be **identityCard**, **driversLicense**, **passport**, **liveSelfie**, **proofOfNationalIdNumber**, **proofOfResidency**, **proofOfIndustry**, **proofOfIndividualTaxId**, **proofOfFundingOrWealthSource** or **proofOfRelationship**. * For **soleProprietorship**, the `type` values can be **constitutionalDocument**, **proofOfAddress**, or **proofOfIndustry**. * For **trust**, the `type` value is **constitutionalDocument**. * For **unincorporatedPartnership**, the `type` value is **constitutionalDocument**. * Use **bankStatement** to upload documents for a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id). /// - /// Type of document, used when providing an ID number or uploading a document. The possible values depend on the legal entity type. * For **organization**, the `type` values can be **proofOfAddress**, **registrationDocument**, **vatDocument**, **proofOfOrganizationTaxInfo**, **proofOfOwnership**, **proofOfIndustry**, **proofOfSignatory**, or **proofOfFundingOrWealthSource**. * For **individual**, the `type` values can be **identityCard**, **driversLicense**, **passport**, **liveSelfie**, **proofOfNationalIdNumber**, **proofOfResidency**, **proofOfIndustry**, **proofOfIndividualTaxId**, **proofOfFundingOrWealthSource** or **proofOfRelationship**. * For **soleProprietorship**, the `type` values can be **constitutionalDocument**, **proofOfAddress**, or **proofOfIndustry**. * For **trust**, the `type` value can be **constitutionalDocument**. * Use **bankStatement** to upload documents for a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id). + /// Type of document, used when providing an ID number or uploading a document. The possible values depend on the legal entity type. * For **organization**, the `type` values can be **proofOfAddress**, **registrationDocument**, **vatDocument**, **proofOfOrganizationTaxInfo**, **proofOfOwnership**, **proofOfIndustry**, **proofOfSignatory**, or **proofOfFundingOrWealthSource**. * For **individual**, the `type` values can be **identityCard**, **driversLicense**, **passport**, **liveSelfie**, **proofOfNationalIdNumber**, **proofOfResidency**, **proofOfIndustry**, **proofOfIndividualTaxId**, **proofOfFundingOrWealthSource** or **proofOfRelationship**. * For **soleProprietorship**, the `type` values can be **constitutionalDocument**, **proofOfAddress**, or **proofOfIndustry**. * For **trust**, the `type` value is **constitutionalDocument**. * For **unincorporatedPartnership**, the `type` value is **constitutionalDocument**. * Use **bankStatement** to upload documents for a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id). [DataMember(Name = "type", IsRequired = false, EmitDefaultValue = false)] public TypeEnum Type { get; set; } /// @@ -179,7 +179,7 @@ protected Document() { } /// The state or province where the document was issued (AU only).. /// The number in the document.. /// owner. - /// Type of document, used when providing an ID number or uploading a document. The possible values depend on the legal entity type. * For **organization**, the `type` values can be **proofOfAddress**, **registrationDocument**, **vatDocument**, **proofOfOrganizationTaxInfo**, **proofOfOwnership**, **proofOfIndustry**, **proofOfSignatory**, or **proofOfFundingOrWealthSource**. * For **individual**, the `type` values can be **identityCard**, **driversLicense**, **passport**, **liveSelfie**, **proofOfNationalIdNumber**, **proofOfResidency**, **proofOfIndustry**, **proofOfIndividualTaxId**, **proofOfFundingOrWealthSource** or **proofOfRelationship**. * For **soleProprietorship**, the `type` values can be **constitutionalDocument**, **proofOfAddress**, or **proofOfIndustry**. * For **trust**, the `type` value can be **constitutionalDocument**. * Use **bankStatement** to upload documents for a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id). (required). + /// Type of document, used when providing an ID number or uploading a document. The possible values depend on the legal entity type. * For **organization**, the `type` values can be **proofOfAddress**, **registrationDocument**, **vatDocument**, **proofOfOrganizationTaxInfo**, **proofOfOwnership**, **proofOfIndustry**, **proofOfSignatory**, or **proofOfFundingOrWealthSource**. * For **individual**, the `type` values can be **identityCard**, **driversLicense**, **passport**, **liveSelfie**, **proofOfNationalIdNumber**, **proofOfResidency**, **proofOfIndustry**, **proofOfIndividualTaxId**, **proofOfFundingOrWealthSource** or **proofOfRelationship**. * For **soleProprietorship**, the `type` values can be **constitutionalDocument**, **proofOfAddress**, or **proofOfIndustry**. * For **trust**, the `type` value is **constitutionalDocument**. * For **unincorporatedPartnership**, the `type` value is **constitutionalDocument**. * Use **bankStatement** to upload documents for a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id). (required). public Document(Attachment attachment = default(Attachment), List attachments = default(List), string description = default(string), string expiryDate = default(string), string fileName = default(string), string issuerCountry = default(string), string issuerState = default(string), string number = default(string), OwnerEntity owner = default(OwnerEntity), TypeEnum type = default(TypeEnum)) { this.Description = description; diff --git a/Adyen/Model/LegalEntityManagement/GeneratePciDescriptionResponse.cs b/Adyen/Model/LegalEntityManagement/GeneratePciDescriptionResponse.cs index 0bb491c18..9de1904e3 100644 --- a/Adyen/Model/LegalEntityManagement/GeneratePciDescriptionResponse.cs +++ b/Adyen/Model/LegalEntityManagement/GeneratePciDescriptionResponse.cs @@ -37,7 +37,7 @@ public partial class GeneratePciDescriptionResponse : IEquatable /// The generated questionnaires in a base64 encoded format.. /// The two-letter [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) language code for the questionnaire. For example, **en**.. - /// The array of Adyen-generated unique identifiers for the questionnaires.. + /// The array of Adyen-generated unique identifiers for the questionnaires. If empty, the user is not required to sign questionnaires.. public GeneratePciDescriptionResponse(byte[] content = default(byte[]), string language = default(string), List pciTemplateReferences = default(List)) { this.Content = content; @@ -60,9 +60,9 @@ public partial class GeneratePciDescriptionResponse : IEquatable - /// The array of Adyen-generated unique identifiers for the questionnaires. + /// The array of Adyen-generated unique identifiers for the questionnaires. If empty, the user is not required to sign questionnaires. /// - /// The array of Adyen-generated unique identifiers for the questionnaires. + /// The array of Adyen-generated unique identifiers for the questionnaires. If empty, the user is not required to sign questionnaires. [DataMember(Name = "pciTemplateReferences", EmitDefaultValue = false)] public List PciTemplateReferences { get; set; } diff --git a/Adyen/Model/LegalEntityManagement/LegalEntity.cs b/Adyen/Model/LegalEntityManagement/LegalEntity.cs index 438e7f9b0..f2ded1904 100644 --- a/Adyen/Model/LegalEntityManagement/LegalEntity.cs +++ b/Adyen/Model/LegalEntityManagement/LegalEntity.cs @@ -96,8 +96,9 @@ protected LegalEntity() { } /// soleProprietorship. /// trust. /// The type of legal entity. Possible values: **individual**, **organization**, **soleProprietorship**, or **trust**.. + /// unincorporatedPartnership. /// A key-value pair that specifies the verification process for a legal entity. Set to **upfront** for upfront verification for [marketplaces](https://docs.adyen.com/marketplaces/verification-overview/verification-types/#upfront-verification).. - public LegalEntity(List documentDetails = default(List), List documents = default(List), List entityAssociations = default(List), Individual individual = default(Individual), Organization organization = default(Organization), List problems = default(List), string reference = default(string), SoleProprietorship soleProprietorship = default(SoleProprietorship), Trust trust = default(Trust), TypeEnum? type = default(TypeEnum?), string verificationPlan = default(string)) + public LegalEntity(List documentDetails = default(List), List documents = default(List), List entityAssociations = default(List), Individual individual = default(Individual), Organization organization = default(Organization), List problems = default(List), string reference = default(string), SoleProprietorship soleProprietorship = default(SoleProprietorship), Trust trust = default(Trust), TypeEnum? type = default(TypeEnum?), UnincorporatedPartnership unincorporatedPartnership = default(UnincorporatedPartnership), string verificationPlan = default(string)) { this.DocumentDetails = documentDetails; this.Documents = documents; @@ -109,6 +110,7 @@ protected LegalEntity() { } this.SoleProprietorship = soleProprietorship; this.Trust = trust; this.Type = type; + this.UnincorporatedPartnership = unincorporatedPartnership; this.VerificationPlan = verificationPlan; } @@ -193,6 +195,12 @@ protected LegalEntity() { } [DataMember(Name = "trust", EmitDefaultValue = false)] public Trust Trust { get; set; } + /// + /// Gets or Sets UnincorporatedPartnership + /// + [DataMember(Name = "unincorporatedPartnership", EmitDefaultValue = false)] + public UnincorporatedPartnership UnincorporatedPartnership { get; set; } + /// /// List of verification deadlines and the capabilities that will be disallowed if verification errors are not resolved. /// @@ -228,6 +236,7 @@ public override string ToString() sb.Append(" TransferInstruments: ").Append(TransferInstruments).Append("\n"); sb.Append(" Trust: ").Append(Trust).Append("\n"); sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" UnincorporatedPartnership: ").Append(UnincorporatedPartnership).Append("\n"); sb.Append(" VerificationDeadlines: ").Append(VerificationDeadlines).Append("\n"); sb.Append(" VerificationPlan: ").Append(VerificationPlan).Append("\n"); sb.Append("}\n"); @@ -335,6 +344,11 @@ public bool Equals(LegalEntity input) this.Type == input.Type || this.Type.Equals(input.Type) ) && + ( + this.UnincorporatedPartnership == input.UnincorporatedPartnership || + (this.UnincorporatedPartnership != null && + this.UnincorporatedPartnership.Equals(input.UnincorporatedPartnership)) + ) && ( this.VerificationDeadlines == input.VerificationDeadlines || this.VerificationDeadlines != null && @@ -406,6 +420,10 @@ public override int GetHashCode() hashCode = (hashCode * 59) + this.Trust.GetHashCode(); } hashCode = (hashCode * 59) + this.Type.GetHashCode(); + if (this.UnincorporatedPartnership != null) + { + hashCode = (hashCode * 59) + this.UnincorporatedPartnership.GetHashCode(); + } if (this.VerificationDeadlines != null) { hashCode = (hashCode * 59) + this.VerificationDeadlines.GetHashCode(); diff --git a/Adyen/Model/LegalEntityManagement/LegalEntityAssociation.cs b/Adyen/Model/LegalEntityManagement/LegalEntityAssociation.cs index 1cc75315d..ba1278f94 100644 --- a/Adyen/Model/LegalEntityManagement/LegalEntityAssociation.cs +++ b/Adyen/Model/LegalEntityManagement/LegalEntityAssociation.cs @@ -33,9 +33,9 @@ namespace Adyen.Model.LegalEntityManagement public partial class LegalEntityAssociation : IEquatable, IValidatableObject { /// - /// Defines the relationship of the legal entity to the current legal entity. Possible value for individuals: **legalRepresentative**. Possible values for organizations: **uboThroughOwnership**, **uboThroughControl**, **director**, **signatory**, or **ultimateParentCompany**. Possible values for sole proprietorships: **soleProprietorship**. Possible value for trusts: **trust**. Possible values for trust members: **definedBeneficiary**, **protector**, **secondaryTrustee**, **settlor**, **uboThroughControl**, or **uboThroughOwnership**. + /// Defines the relationship of the legal entity to the current legal entity. Possible value for individuals: **legalRepresentative**. Possible values for organizations: **uboThroughOwnership**, **uboThroughControl**, **director**, **signatory**, or **ultimateParentCompany**. Possible values for sole proprietorships: **soleProprietorship**. Possible value for trusts: **trust**. Possible values for trust members: **definedBeneficiary**, **protector**, **secondaryTrustee**, **settlor**, **uboThroughControl**, or **uboThroughOwnership**. Possible value for unincorporated partnership: **unincorporatedPartnership**. Possible values for unincorporated partnership members: **secondaryPartner**, **uboThroughControl**, **uboThroughOwnership** /// - /// Defines the relationship of the legal entity to the current legal entity. Possible value for individuals: **legalRepresentative**. Possible values for organizations: **uboThroughOwnership**, **uboThroughControl**, **director**, **signatory**, or **ultimateParentCompany**. Possible values for sole proprietorships: **soleProprietorship**. Possible value for trusts: **trust**. Possible values for trust members: **definedBeneficiary**, **protector**, **secondaryTrustee**, **settlor**, **uboThroughControl**, or **uboThroughOwnership**. + /// Defines the relationship of the legal entity to the current legal entity. Possible value for individuals: **legalRepresentative**. Possible values for organizations: **uboThroughOwnership**, **uboThroughControl**, **director**, **signatory**, or **ultimateParentCompany**. Possible values for sole proprietorships: **soleProprietorship**. Possible value for trusts: **trust**. Possible values for trust members: **definedBeneficiary**, **protector**, **secondaryTrustee**, **settlor**, **uboThroughControl**, or **uboThroughOwnership**. Possible value for unincorporated partnership: **unincorporatedPartnership**. Possible values for unincorporated partnership members: **secondaryPartner**, **uboThroughControl**, **uboThroughOwnership** [JsonConverter(typeof(StringEnumConverter))] public enum TypeEnum { @@ -75,73 +75,85 @@ public enum TypeEnum [EnumMember(Value = "protector")] Protector = 6, + /// + /// Enum SecondaryPartner for value: secondaryPartner + /// + [EnumMember(Value = "secondaryPartner")] + SecondaryPartner = 7, + /// /// Enum SecondaryTrustee for value: secondaryTrustee /// [EnumMember(Value = "secondaryTrustee")] - SecondaryTrustee = 7, + SecondaryTrustee = 8, /// /// Enum Settlor for value: settlor /// [EnumMember(Value = "settlor")] - Settlor = 8, + Settlor = 9, /// /// Enum Signatory for value: signatory /// [EnumMember(Value = "signatory")] - Signatory = 9, + Signatory = 10, /// /// Enum SoleProprietorship for value: soleProprietorship /// [EnumMember(Value = "soleProprietorship")] - SoleProprietorship = 10, + SoleProprietorship = 11, /// /// Enum Trust for value: trust /// [EnumMember(Value = "trust")] - Trust = 11, + Trust = 12, /// /// Enum TrustOwnership for value: trustOwnership /// [EnumMember(Value = "trustOwnership")] - TrustOwnership = 12, + TrustOwnership = 13, /// /// Enum UboThroughControl for value: uboThroughControl /// [EnumMember(Value = "uboThroughControl")] - UboThroughControl = 13, + UboThroughControl = 14, /// /// Enum UboThroughOwnership for value: uboThroughOwnership /// [EnumMember(Value = "uboThroughOwnership")] - UboThroughOwnership = 14, + UboThroughOwnership = 15, /// /// Enum UltimateParentCompany for value: ultimateParentCompany /// [EnumMember(Value = "ultimateParentCompany")] - UltimateParentCompany = 15, + UltimateParentCompany = 16, /// /// Enum UndefinedBeneficiary for value: undefinedBeneficiary /// [EnumMember(Value = "undefinedBeneficiary")] - UndefinedBeneficiary = 16 + UndefinedBeneficiary = 17, + + /// + /// Enum UnincorporatedPartnership for value: unincorporatedPartnership + /// + [EnumMember(Value = "unincorporatedPartnership")] + UnincorporatedPartnership = 18 } /// - /// Defines the relationship of the legal entity to the current legal entity. Possible value for individuals: **legalRepresentative**. Possible values for organizations: **uboThroughOwnership**, **uboThroughControl**, **director**, **signatory**, or **ultimateParentCompany**. Possible values for sole proprietorships: **soleProprietorship**. Possible value for trusts: **trust**. Possible values for trust members: **definedBeneficiary**, **protector**, **secondaryTrustee**, **settlor**, **uboThroughControl**, or **uboThroughOwnership**. + /// Defines the relationship of the legal entity to the current legal entity. Possible value for individuals: **legalRepresentative**. Possible values for organizations: **uboThroughOwnership**, **uboThroughControl**, **director**, **signatory**, or **ultimateParentCompany**. Possible values for sole proprietorships: **soleProprietorship**. Possible value for trusts: **trust**. Possible values for trust members: **definedBeneficiary**, **protector**, **secondaryTrustee**, **settlor**, **uboThroughControl**, or **uboThroughOwnership**. Possible value for unincorporated partnership: **unincorporatedPartnership**. Possible values for unincorporated partnership members: **secondaryPartner**, **uboThroughControl**, **uboThroughOwnership** /// - /// Defines the relationship of the legal entity to the current legal entity. Possible value for individuals: **legalRepresentative**. Possible values for organizations: **uboThroughOwnership**, **uboThroughControl**, **director**, **signatory**, or **ultimateParentCompany**. Possible values for sole proprietorships: **soleProprietorship**. Possible value for trusts: **trust**. Possible values for trust members: **definedBeneficiary**, **protector**, **secondaryTrustee**, **settlor**, **uboThroughControl**, or **uboThroughOwnership**. + /// Defines the relationship of the legal entity to the current legal entity. Possible value for individuals: **legalRepresentative**. Possible values for organizations: **uboThroughOwnership**, **uboThroughControl**, **director**, **signatory**, or **ultimateParentCompany**. Possible values for sole proprietorships: **soleProprietorship**. Possible value for trusts: **trust**. Possible values for trust members: **definedBeneficiary**, **protector**, **secondaryTrustee**, **settlor**, **uboThroughControl**, or **uboThroughOwnership**. Possible value for unincorporated partnership: **unincorporatedPartnership**. Possible values for unincorporated partnership members: **secondaryPartner**, **uboThroughControl**, **uboThroughOwnership** [DataMember(Name = "type", IsRequired = false, EmitDefaultValue = false)] public TypeEnum Type { get; set; } /// @@ -155,13 +167,15 @@ protected LegalEntityAssociation() { } /// The individual's job title if the `type` is **uboThroughControl** or **signatory**.. /// The unique identifier of the associated [legal entity](https://docs.adyen.com/api-explorer/legalentity/latest/post/legalEntities#responses-200-id). (required). /// The individual's relationship to a legal representative if the `type` is **legalRepresentative**. Possible values: **parent**, **guardian**.. - /// Defines the relationship of the legal entity to the current legal entity. Possible value for individuals: **legalRepresentative**. Possible values for organizations: **uboThroughOwnership**, **uboThroughControl**, **director**, **signatory**, or **ultimateParentCompany**. Possible values for sole proprietorships: **soleProprietorship**. Possible value for trusts: **trust**. Possible values for trust members: **definedBeneficiary**, **protector**, **secondaryTrustee**, **settlor**, **uboThroughControl**, or **uboThroughOwnership**. (required). - public LegalEntityAssociation(string jobTitle = default(string), string legalEntityId = default(string), string relationship = default(string), TypeEnum type = default(TypeEnum)) + /// Defines the KYC exemption reason for a settlor associated with a trust. Only applicable to trusts in Australia. For example, **professionalServiceProvider**, **deceased**, or **contributionBelowThreshold**.. + /// Defines the relationship of the legal entity to the current legal entity. Possible value for individuals: **legalRepresentative**. Possible values for organizations: **uboThroughOwnership**, **uboThroughControl**, **director**, **signatory**, or **ultimateParentCompany**. Possible values for sole proprietorships: **soleProprietorship**. Possible value for trusts: **trust**. Possible values for trust members: **definedBeneficiary**, **protector**, **secondaryTrustee**, **settlor**, **uboThroughControl**, or **uboThroughOwnership**. Possible value for unincorporated partnership: **unincorporatedPartnership**. Possible values for unincorporated partnership members: **secondaryPartner**, **uboThroughControl**, **uboThroughOwnership** (required). + public LegalEntityAssociation(string jobTitle = default(string), string legalEntityId = default(string), string relationship = default(string), List settlorExemptionReason = default(List), TypeEnum type = default(TypeEnum)) { this.LegalEntityId = legalEntityId; this.Type = type; this.JobTitle = jobTitle; this.Relationship = relationship; + this.SettlorExemptionReason = settlorExemptionReason; } /// @@ -207,11 +221,11 @@ protected LegalEntityAssociation() { } public string Relationship { get; set; } /// - /// Defines the Kyc Exemption Reason for a Settlor associated with a trust. For example, **professionalServiceProvider**, **deceased**, or **contributionBelowThreshold**. + /// Defines the KYC exemption reason for a settlor associated with a trust. Only applicable to trusts in Australia. For example, **professionalServiceProvider**, **deceased**, or **contributionBelowThreshold**. /// - /// Defines the Kyc Exemption Reason for a Settlor associated with a trust. For example, **professionalServiceProvider**, **deceased**, or **contributionBelowThreshold**. + /// Defines the KYC exemption reason for a settlor associated with a trust. Only applicable to trusts in Australia. For example, **professionalServiceProvider**, **deceased**, or **contributionBelowThreshold**. [DataMember(Name = "settlorExemptionReason", EmitDefaultValue = false)] - public List SettlorExemptionReason { get; private set; } + public List SettlorExemptionReason { get; set; } /// /// Returns the string presentation of the object diff --git a/Adyen/Model/LegalEntityManagement/LegalEntityInfo.cs b/Adyen/Model/LegalEntityManagement/LegalEntityInfo.cs index 9b4168eb4..c48107620 100644 --- a/Adyen/Model/LegalEntityManagement/LegalEntityInfo.cs +++ b/Adyen/Model/LegalEntityManagement/LegalEntityInfo.cs @@ -88,8 +88,9 @@ public enum TypeEnum /// soleProprietorship. /// trust. /// The type of legal entity. Possible values: **individual**, **organization**, **soleProprietorship**, or **trust**.. + /// unincorporatedPartnership. /// A key-value pair that specifies the verification process for a legal entity. Set to **upfront** for upfront verification for [marketplaces](https://docs.adyen.com/marketplaces/verification-overview/verification-types/#upfront-verification).. - public LegalEntityInfo(List entityAssociations = default(List), Individual individual = default(Individual), Organization organization = default(Organization), string reference = default(string), SoleProprietorship soleProprietorship = default(SoleProprietorship), Trust trust = default(Trust), TypeEnum? type = default(TypeEnum?), string verificationPlan = default(string)) + public LegalEntityInfo(List entityAssociations = default(List), Individual individual = default(Individual), Organization organization = default(Organization), string reference = default(string), SoleProprietorship soleProprietorship = default(SoleProprietorship), Trust trust = default(Trust), TypeEnum? type = default(TypeEnum?), UnincorporatedPartnership unincorporatedPartnership = default(UnincorporatedPartnership), string verificationPlan = default(string)) { this.EntityAssociations = entityAssociations; this.Individual = individual; @@ -98,6 +99,7 @@ public enum TypeEnum this.SoleProprietorship = soleProprietorship; this.Trust = trust; this.Type = type; + this.UnincorporatedPartnership = unincorporatedPartnership; this.VerificationPlan = verificationPlan; } @@ -146,6 +148,12 @@ public enum TypeEnum [DataMember(Name = "trust", EmitDefaultValue = false)] public Trust Trust { get; set; } + /// + /// Gets or Sets UnincorporatedPartnership + /// + [DataMember(Name = "unincorporatedPartnership", EmitDefaultValue = false)] + public UnincorporatedPartnership UnincorporatedPartnership { get; set; } + /// /// A key-value pair that specifies the verification process for a legal entity. Set to **upfront** for upfront verification for [marketplaces](https://docs.adyen.com/marketplaces/verification-overview/verification-types/#upfront-verification). /// @@ -169,6 +177,7 @@ public override string ToString() sb.Append(" SoleProprietorship: ").Append(SoleProprietorship).Append("\n"); sb.Append(" Trust: ").Append(Trust).Append("\n"); sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" UnincorporatedPartnership: ").Append(UnincorporatedPartnership).Append("\n"); sb.Append(" VerificationPlan: ").Append(VerificationPlan).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -246,6 +255,11 @@ public bool Equals(LegalEntityInfo input) this.Type == input.Type || this.Type.Equals(input.Type) ) && + ( + this.UnincorporatedPartnership == input.UnincorporatedPartnership || + (this.UnincorporatedPartnership != null && + this.UnincorporatedPartnership.Equals(input.UnincorporatedPartnership)) + ) && ( this.VerificationPlan == input.VerificationPlan || (this.VerificationPlan != null && @@ -291,6 +305,10 @@ public override int GetHashCode() hashCode = (hashCode * 59) + this.Trust.GetHashCode(); } hashCode = (hashCode * 59) + this.Type.GetHashCode(); + if (this.UnincorporatedPartnership != null) + { + hashCode = (hashCode * 59) + this.UnincorporatedPartnership.GetHashCode(); + } if (this.VerificationPlan != null) { hashCode = (hashCode * 59) + this.VerificationPlan.GetHashCode(); diff --git a/Adyen/Model/LegalEntityManagement/LegalEntityInfoRequiredType.cs b/Adyen/Model/LegalEntityManagement/LegalEntityInfoRequiredType.cs index f2cd20779..f19702852 100644 --- a/Adyen/Model/LegalEntityManagement/LegalEntityInfoRequiredType.cs +++ b/Adyen/Model/LegalEntityManagement/LegalEntityInfoRequiredType.cs @@ -93,8 +93,9 @@ protected LegalEntityInfoRequiredType() { } /// soleProprietorship. /// trust. /// The type of legal entity. Possible values: **individual**, **organization**, **soleProprietorship**, or **trust**. (required). + /// unincorporatedPartnership. /// A key-value pair that specifies the verification process for a legal entity. Set to **upfront** for upfront verification for [marketplaces](https://docs.adyen.com/marketplaces/verification-overview/verification-types/#upfront-verification).. - public LegalEntityInfoRequiredType(List entityAssociations = default(List), Individual individual = default(Individual), Organization organization = default(Organization), string reference = default(string), SoleProprietorship soleProprietorship = default(SoleProprietorship), Trust trust = default(Trust), TypeEnum type = default(TypeEnum), string verificationPlan = default(string)) + public LegalEntityInfoRequiredType(List entityAssociations = default(List), Individual individual = default(Individual), Organization organization = default(Organization), string reference = default(string), SoleProprietorship soleProprietorship = default(SoleProprietorship), Trust trust = default(Trust), TypeEnum type = default(TypeEnum), UnincorporatedPartnership unincorporatedPartnership = default(UnincorporatedPartnership), string verificationPlan = default(string)) { this.Type = type; this.EntityAssociations = entityAssociations; @@ -103,6 +104,7 @@ protected LegalEntityInfoRequiredType() { } this.Reference = reference; this.SoleProprietorship = soleProprietorship; this.Trust = trust; + this.UnincorporatedPartnership = unincorporatedPartnership; this.VerificationPlan = verificationPlan; } @@ -151,6 +153,12 @@ protected LegalEntityInfoRequiredType() { } [DataMember(Name = "trust", EmitDefaultValue = false)] public Trust Trust { get; set; } + /// + /// Gets or Sets UnincorporatedPartnership + /// + [DataMember(Name = "unincorporatedPartnership", EmitDefaultValue = false)] + public UnincorporatedPartnership UnincorporatedPartnership { get; set; } + /// /// A key-value pair that specifies the verification process for a legal entity. Set to **upfront** for upfront verification for [marketplaces](https://docs.adyen.com/marketplaces/verification-overview/verification-types/#upfront-verification). /// @@ -174,6 +182,7 @@ public override string ToString() sb.Append(" SoleProprietorship: ").Append(SoleProprietorship).Append("\n"); sb.Append(" Trust: ").Append(Trust).Append("\n"); sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" UnincorporatedPartnership: ").Append(UnincorporatedPartnership).Append("\n"); sb.Append(" VerificationPlan: ").Append(VerificationPlan).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -251,6 +260,11 @@ public bool Equals(LegalEntityInfoRequiredType input) this.Type == input.Type || this.Type.Equals(input.Type) ) && + ( + this.UnincorporatedPartnership == input.UnincorporatedPartnership || + (this.UnincorporatedPartnership != null && + this.UnincorporatedPartnership.Equals(input.UnincorporatedPartnership)) + ) && ( this.VerificationPlan == input.VerificationPlan || (this.VerificationPlan != null && @@ -296,6 +310,10 @@ public override int GetHashCode() hashCode = (hashCode * 59) + this.Trust.GetHashCode(); } hashCode = (hashCode * 59) + this.Type.GetHashCode(); + if (this.UnincorporatedPartnership != null) + { + hashCode = (hashCode * 59) + this.UnincorporatedPartnership.GetHashCode(); + } if (this.VerificationPlan != null) { hashCode = (hashCode * 59) + this.VerificationPlan.GetHashCode(); diff --git a/Adyen/Model/LegalEntityManagement/UnincorporatedPartnership.cs b/Adyen/Model/LegalEntityManagement/UnincorporatedPartnership.cs new file mode 100644 index 000000000..a4b8fd4eb --- /dev/null +++ b/Adyen/Model/LegalEntityManagement/UnincorporatedPartnership.cs @@ -0,0 +1,532 @@ +/* +* Legal Entity Management API +* +* +* The version of the OpenAPI document: 3 +* +* 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.LegalEntityManagement +{ + /// + /// UnincorporatedPartnership + /// + [DataContract(Name = "UnincorporatedPartnership")] + public partial class UnincorporatedPartnership : IEquatable, IValidatableObject + { + /// + /// Type of Partnership. Possible values: * **limitedPartnership** * **generalPartnership** * **familyPartnership** * **commercialPartnership** * **publicPartnership** * **otherPartnership** * **gbr** * **gmbh** * **kgaa** * **cv** * **vof** * **maatschap** * **privateFundLimitedPartnership** * **businessTrustEntity** * **businessPartnership** * **limitedLiabilityPartnership** * **eg** * **cooperative** * **vos** * **comunidadDeBienes** * **herenciaYacente** * **comunidadDePropietarios** * **sep** * **sca** * **bt** * **kkt** * **scs** * **snc** + /// + /// Type of Partnership. Possible values: * **limitedPartnership** * **generalPartnership** * **familyPartnership** * **commercialPartnership** * **publicPartnership** * **otherPartnership** * **gbr** * **gmbh** * **kgaa** * **cv** * **vof** * **maatschap** * **privateFundLimitedPartnership** * **businessTrustEntity** * **businessPartnership** * **limitedLiabilityPartnership** * **eg** * **cooperative** * **vos** * **comunidadDeBienes** * **herenciaYacente** * **comunidadDePropietarios** * **sep** * **sca** * **bt** * **kkt** * **scs** * **snc** + [JsonConverter(typeof(StringEnumConverter))] + public enum TypeEnum + { + /// + /// Enum LimitedPartnership for value: limitedPartnership + /// + [EnumMember(Value = "limitedPartnership")] + LimitedPartnership = 1, + + /// + /// Enum GeneralPartnership for value: generalPartnership + /// + [EnumMember(Value = "generalPartnership")] + GeneralPartnership = 2, + + /// + /// Enum FamilyPartnership for value: familyPartnership + /// + [EnumMember(Value = "familyPartnership")] + FamilyPartnership = 3, + + /// + /// Enum CommercialPartnership for value: commercialPartnership + /// + [EnumMember(Value = "commercialPartnership")] + CommercialPartnership = 4, + + /// + /// Enum PublicPartnership for value: publicPartnership + /// + [EnumMember(Value = "publicPartnership")] + PublicPartnership = 5, + + /// + /// Enum OtherPartnership for value: otherPartnership + /// + [EnumMember(Value = "otherPartnership")] + OtherPartnership = 6, + + /// + /// Enum Gbr for value: gbr + /// + [EnumMember(Value = "gbr")] + Gbr = 7, + + /// + /// Enum Gmbh for value: gmbh + /// + [EnumMember(Value = "gmbh")] + Gmbh = 8, + + /// + /// Enum Kgaa for value: kgaa + /// + [EnumMember(Value = "kgaa")] + Kgaa = 9, + + /// + /// Enum Cv for value: cv + /// + [EnumMember(Value = "cv")] + Cv = 10, + + /// + /// Enum Vof for value: vof + /// + [EnumMember(Value = "vof")] + Vof = 11, + + /// + /// Enum Maatschap for value: maatschap + /// + [EnumMember(Value = "maatschap")] + Maatschap = 12, + + /// + /// Enum PrivateFundLimitedPartnership for value: privateFundLimitedPartnership + /// + [EnumMember(Value = "privateFundLimitedPartnership")] + PrivateFundLimitedPartnership = 13, + + /// + /// Enum BusinessTrustEntity for value: businessTrustEntity + /// + [EnumMember(Value = "businessTrustEntity")] + BusinessTrustEntity = 14, + + /// + /// Enum BusinessPartnership for value: businessPartnership + /// + [EnumMember(Value = "businessPartnership")] + BusinessPartnership = 15, + + /// + /// Enum LimitedLiabilityPartnership for value: limitedLiabilityPartnership + /// + [EnumMember(Value = "limitedLiabilityPartnership")] + LimitedLiabilityPartnership = 16, + + /// + /// Enum Eg for value: eg + /// + [EnumMember(Value = "eg")] + Eg = 17, + + /// + /// Enum Cooperative for value: cooperative + /// + [EnumMember(Value = "cooperative")] + Cooperative = 18, + + /// + /// Enum Vos for value: vos + /// + [EnumMember(Value = "vos")] + Vos = 19, + + /// + /// Enum ComunidadDeBienes for value: comunidadDeBienes + /// + [EnumMember(Value = "comunidadDeBienes")] + ComunidadDeBienes = 20, + + /// + /// Enum HerenciaYacente for value: herenciaYacente + /// + [EnumMember(Value = "herenciaYacente")] + HerenciaYacente = 21, + + /// + /// Enum ComunidadDePropietarios for value: comunidadDePropietarios + /// + [EnumMember(Value = "comunidadDePropietarios")] + ComunidadDePropietarios = 22, + + /// + /// Enum Sep for value: sep + /// + [EnumMember(Value = "sep")] + Sep = 23, + + /// + /// Enum Sca for value: sca + /// + [EnumMember(Value = "sca")] + Sca = 24, + + /// + /// Enum Bt for value: bt + /// + [EnumMember(Value = "bt")] + Bt = 25, + + /// + /// Enum Kkt for value: kkt + /// + [EnumMember(Value = "kkt")] + Kkt = 26, + + /// + /// Enum Scs for value: scs + /// + [EnumMember(Value = "scs")] + Scs = 27, + + /// + /// Enum Snc for value: snc + /// + [EnumMember(Value = "snc")] + Snc = 28 + + } + + + /// + /// Type of Partnership. Possible values: * **limitedPartnership** * **generalPartnership** * **familyPartnership** * **commercialPartnership** * **publicPartnership** * **otherPartnership** * **gbr** * **gmbh** * **kgaa** * **cv** * **vof** * **maatschap** * **privateFundLimitedPartnership** * **businessTrustEntity** * **businessPartnership** * **limitedLiabilityPartnership** * **eg** * **cooperative** * **vos** * **comunidadDeBienes** * **herenciaYacente** * **comunidadDePropietarios** * **sep** * **sca** * **bt** * **kkt** * **scs** * **snc** + /// + /// Type of Partnership. Possible values: * **limitedPartnership** * **generalPartnership** * **familyPartnership** * **commercialPartnership** * **publicPartnership** * **otherPartnership** * **gbr** * **gmbh** * **kgaa** * **cv** * **vof** * **maatschap** * **privateFundLimitedPartnership** * **businessTrustEntity** * **businessPartnership** * **limitedLiabilityPartnership** * **eg** * **cooperative** * **vos** * **comunidadDeBienes** * **herenciaYacente** * **comunidadDePropietarios** * **sep** * **sca** * **bt** * **kkt** * **scs** * **snc** + [DataMember(Name = "type", EmitDefaultValue = false)] + public TypeEnum? Type { get; set; } + /// + /// The reason for not providing a VAT number. Possible values: **industryExemption**, **belowTaxThreshold**. + /// + /// The reason for not providing a VAT number. Possible values: **industryExemption**, **belowTaxThreshold**. + [JsonConverter(typeof(StringEnumConverter))] + public enum VatAbsenceReasonEnum + { + /// + /// Enum IndustryExemption for value: industryExemption + /// + [EnumMember(Value = "industryExemption")] + IndustryExemption = 1, + + /// + /// Enum BelowTaxThreshold for value: belowTaxThreshold + /// + [EnumMember(Value = "belowTaxThreshold")] + BelowTaxThreshold = 2 + + } + + + /// + /// The reason for not providing a VAT number. Possible values: **industryExemption**, **belowTaxThreshold**. + /// + /// The reason for not providing a VAT number. Possible values: **industryExemption**, **belowTaxThreshold**. + [DataMember(Name = "vatAbsenceReason", EmitDefaultValue = false)] + public VatAbsenceReasonEnum? VatAbsenceReason { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected UnincorporatedPartnership() { } + /// + /// Initializes a new instance of the class. + /// + /// The two-character [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the governing country. (required). + /// The date when the legal arrangement was incorporated in YYYY-MM-DD format.. + /// Short description about the Legal Arrangement.. + /// The registered name, if different from the `name`.. + /// The legal name. (required). + /// principalPlaceOfBusiness. + /// registeredAddress (required). + /// The registration number.. + /// The tax information of the entity.. + /// Type of Partnership. Possible values: * **limitedPartnership** * **generalPartnership** * **familyPartnership** * **commercialPartnership** * **publicPartnership** * **otherPartnership** * **gbr** * **gmbh** * **kgaa** * **cv** * **vof** * **maatschap** * **privateFundLimitedPartnership** * **businessTrustEntity** * **businessPartnership** * **limitedLiabilityPartnership** * **eg** * **cooperative** * **vos** * **comunidadDeBienes** * **herenciaYacente** * **comunidadDePropietarios** * **sep** * **sca** * **bt** * **kkt** * **scs** * **snc** . + /// The reason for not providing a VAT number. Possible values: **industryExemption**, **belowTaxThreshold**.. + /// The VAT number.. + public UnincorporatedPartnership(string countryOfGoverningLaw = default(string), string dateOfIncorporation = default(string), string description = default(string), string doingBusinessAs = default(string), string name = default(string), Address principalPlaceOfBusiness = default(Address), Address registeredAddress = default(Address), string registrationNumber = default(string), List taxInformation = default(List), TypeEnum? type = default(TypeEnum?), VatAbsenceReasonEnum? vatAbsenceReason = default(VatAbsenceReasonEnum?), string vatNumber = default(string)) + { + this.CountryOfGoverningLaw = countryOfGoverningLaw; + this.Name = name; + this.RegisteredAddress = registeredAddress; + this.DateOfIncorporation = dateOfIncorporation; + this.Description = description; + this.DoingBusinessAs = doingBusinessAs; + this.PrincipalPlaceOfBusiness = principalPlaceOfBusiness; + this.RegistrationNumber = registrationNumber; + this.TaxInformation = taxInformation; + this.Type = type; + this.VatAbsenceReason = vatAbsenceReason; + this.VatNumber = vatNumber; + } + + /// + /// The two-character [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the governing country. + /// + /// The two-character [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code of the governing country. + [DataMember(Name = "countryOfGoverningLaw", IsRequired = false, EmitDefaultValue = false)] + public string CountryOfGoverningLaw { get; set; } + + /// + /// The date when the legal arrangement was incorporated in YYYY-MM-DD format. + /// + /// The date when the legal arrangement was incorporated in YYYY-MM-DD format. + [DataMember(Name = "dateOfIncorporation", EmitDefaultValue = false)] + public string DateOfIncorporation { get; set; } + + /// + /// Short description about the Legal Arrangement. + /// + /// Short description about the Legal Arrangement. + [DataMember(Name = "description", EmitDefaultValue = false)] + public string Description { get; set; } + + /// + /// The registered name, if different from the `name`. + /// + /// The registered name, if different from the `name`. + [DataMember(Name = "doingBusinessAs", EmitDefaultValue = false)] + public string DoingBusinessAs { get; set; } + + /// + /// The legal name. + /// + /// The legal name. + [DataMember(Name = "name", IsRequired = false, EmitDefaultValue = false)] + public string Name { get; set; } + + /// + /// Gets or Sets PrincipalPlaceOfBusiness + /// + [DataMember(Name = "principalPlaceOfBusiness", EmitDefaultValue = false)] + public Address PrincipalPlaceOfBusiness { get; set; } + + /// + /// Gets or Sets RegisteredAddress + /// + [DataMember(Name = "registeredAddress", IsRequired = false, EmitDefaultValue = false)] + public Address RegisteredAddress { get; set; } + + /// + /// The registration number. + /// + /// The registration number. + [DataMember(Name = "registrationNumber", EmitDefaultValue = false)] + public string RegistrationNumber { get; set; } + + /// + /// The tax information of the entity. + /// + /// The tax information of the entity. + [DataMember(Name = "taxInformation", EmitDefaultValue = false)] + public List TaxInformation { get; set; } + + /// + /// The VAT number. + /// + /// The VAT number. + [DataMember(Name = "vatNumber", EmitDefaultValue = false)] + public string VatNumber { 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 UnincorporatedPartnership {\n"); + sb.Append(" CountryOfGoverningLaw: ").Append(CountryOfGoverningLaw).Append("\n"); + sb.Append(" DateOfIncorporation: ").Append(DateOfIncorporation).Append("\n"); + sb.Append(" Description: ").Append(Description).Append("\n"); + sb.Append(" DoingBusinessAs: ").Append(DoingBusinessAs).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" PrincipalPlaceOfBusiness: ").Append(PrincipalPlaceOfBusiness).Append("\n"); + sb.Append(" RegisteredAddress: ").Append(RegisteredAddress).Append("\n"); + sb.Append(" RegistrationNumber: ").Append(RegistrationNumber).Append("\n"); + sb.Append(" TaxInformation: ").Append(TaxInformation).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" VatAbsenceReason: ").Append(VatAbsenceReason).Append("\n"); + sb.Append(" VatNumber: ").Append(VatNumber).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 UnincorporatedPartnership); + } + + /// + /// Returns true if UnincorporatedPartnership instances are equal + /// + /// Instance of UnincorporatedPartnership to be compared + /// Boolean + public bool Equals(UnincorporatedPartnership input) + { + if (input == null) + { + return false; + } + return + ( + this.CountryOfGoverningLaw == input.CountryOfGoverningLaw || + (this.CountryOfGoverningLaw != null && + this.CountryOfGoverningLaw.Equals(input.CountryOfGoverningLaw)) + ) && + ( + this.DateOfIncorporation == input.DateOfIncorporation || + (this.DateOfIncorporation != null && + this.DateOfIncorporation.Equals(input.DateOfIncorporation)) + ) && + ( + this.Description == input.Description || + (this.Description != null && + this.Description.Equals(input.Description)) + ) && + ( + this.DoingBusinessAs == input.DoingBusinessAs || + (this.DoingBusinessAs != null && + this.DoingBusinessAs.Equals(input.DoingBusinessAs)) + ) && + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.PrincipalPlaceOfBusiness == input.PrincipalPlaceOfBusiness || + (this.PrincipalPlaceOfBusiness != null && + this.PrincipalPlaceOfBusiness.Equals(input.PrincipalPlaceOfBusiness)) + ) && + ( + this.RegisteredAddress == input.RegisteredAddress || + (this.RegisteredAddress != null && + this.RegisteredAddress.Equals(input.RegisteredAddress)) + ) && + ( + this.RegistrationNumber == input.RegistrationNumber || + (this.RegistrationNumber != null && + this.RegistrationNumber.Equals(input.RegistrationNumber)) + ) && + ( + this.TaxInformation == input.TaxInformation || + this.TaxInformation != null && + input.TaxInformation != null && + this.TaxInformation.SequenceEqual(input.TaxInformation) + ) && + ( + this.Type == input.Type || + this.Type.Equals(input.Type) + ) && + ( + this.VatAbsenceReason == input.VatAbsenceReason || + this.VatAbsenceReason.Equals(input.VatAbsenceReason) + ) && + ( + this.VatNumber == input.VatNumber || + (this.VatNumber != null && + this.VatNumber.Equals(input.VatNumber)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.CountryOfGoverningLaw != null) + { + hashCode = (hashCode * 59) + this.CountryOfGoverningLaw.GetHashCode(); + } + if (this.DateOfIncorporation != null) + { + hashCode = (hashCode * 59) + this.DateOfIncorporation.GetHashCode(); + } + if (this.Description != null) + { + hashCode = (hashCode * 59) + this.Description.GetHashCode(); + } + if (this.DoingBusinessAs != null) + { + hashCode = (hashCode * 59) + this.DoingBusinessAs.GetHashCode(); + } + if (this.Name != null) + { + hashCode = (hashCode * 59) + this.Name.GetHashCode(); + } + if (this.PrincipalPlaceOfBusiness != null) + { + hashCode = (hashCode * 59) + this.PrincipalPlaceOfBusiness.GetHashCode(); + } + if (this.RegisteredAddress != null) + { + hashCode = (hashCode * 59) + this.RegisteredAddress.GetHashCode(); + } + if (this.RegistrationNumber != null) + { + hashCode = (hashCode * 59) + this.RegistrationNumber.GetHashCode(); + } + if (this.TaxInformation != null) + { + hashCode = (hashCode * 59) + this.TaxInformation.GetHashCode(); + } + hashCode = (hashCode * 59) + this.Type.GetHashCode(); + hashCode = (hashCode * 59) + this.VatAbsenceReason.GetHashCode(); + if (this.VatNumber != null) + { + hashCode = (hashCode * 59) + this.VatNumber.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/Payout/Amount.cs b/Adyen/Model/Payout/Amount.cs index 2e1103463..cbd0cd634 100644 --- a/Adyen/Model/Payout/Amount.cs +++ b/Adyen/Model/Payout/Amount.cs @@ -40,8 +40,8 @@ protected Amount() { } /// /// Initializes a new instance of the class. /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). (required). - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). (required). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). (required). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). (required). public Amount(string currency = default(string), long? value = default(long?)) { this.Currency = currency; @@ -49,16 +49,16 @@ protected Amount() { } } /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). [DataMember(Name = "currency", IsRequired = false, EmitDefaultValue = false)] public string Currency { get; set; } /// - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). /// - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). [DataMember(Name = "value", IsRequired = false, EmitDefaultValue = false)] public long? Value { get; set; } diff --git a/Adyen/Model/Payout/ResponseAdditionalDataCard.cs b/Adyen/Model/Payout/ResponseAdditionalDataCard.cs index f8771bd05..19528be32 100644 --- a/Adyen/Model/Payout/ResponseAdditionalDataCard.cs +++ b/Adyen/Model/Payout/ResponseAdditionalDataCard.cs @@ -32,6 +32,88 @@ namespace Adyen.Model.Payout [DataContract(Name = "ResponseAdditionalDataCard")] public partial class ResponseAdditionalDataCard : IEquatable, IValidatableObject { + /// + /// The Card Product ID represents the type of card following card scheme product definitions and can be returned for Adyen Acquiring service level payments. Possible values Visa: * **A** - Visa Traditional * **B** - Visa Traditional Rewards * **C** - Visa Signature * **D** - Visa Signature Preferred * **F** - Visa Classic Possible values Mastercard: * **MCC** - Mastercard Card * **MCE** - Mastercard Electronic Card * **MCF** - Mastercard Corporate Fleet Card * **MCG** - Gold Mastercard Card * **MCH** - Mastercard Premium Charge * **MCI** - Mastercard Select Debit + /// + /// The Card Product ID represents the type of card following card scheme product definitions and can be returned for Adyen Acquiring service level payments. Possible values Visa: * **A** - Visa Traditional * **B** - Visa Traditional Rewards * **C** - Visa Signature * **D** - Visa Signature Preferred * **F** - Visa Classic Possible values Mastercard: * **MCC** - Mastercard Card * **MCE** - Mastercard Electronic Card * **MCF** - Mastercard Corporate Fleet Card * **MCG** - Gold Mastercard Card * **MCH** - Mastercard Premium Charge * **MCI** - Mastercard Select Debit + [JsonConverter(typeof(StringEnumConverter))] + public enum CardProductIdEnum + { + /// + /// Enum A for value: A + /// + [EnumMember(Value = "A")] + A = 1, + + /// + /// Enum B for value: B + /// + [EnumMember(Value = "B")] + B = 2, + + /// + /// Enum C for value: C + /// + [EnumMember(Value = "C")] + C = 3, + + /// + /// Enum D for value: D + /// + [EnumMember(Value = "D")] + D = 4, + + /// + /// Enum F for value: F + /// + [EnumMember(Value = "F")] + F = 5, + + /// + /// Enum MCC for value: MCC + /// + [EnumMember(Value = "MCC")] + MCC = 6, + + /// + /// Enum MCE for value: MCE + /// + [EnumMember(Value = "MCE")] + MCE = 7, + + /// + /// Enum MCF for value: MCF + /// + [EnumMember(Value = "MCF")] + MCF = 8, + + /// + /// Enum MCG for value: MCG + /// + [EnumMember(Value = "MCG")] + MCG = 9, + + /// + /// Enum MCH for value: MCH + /// + [EnumMember(Value = "MCH")] + MCH = 10, + + /// + /// Enum MCI for value: MCI + /// + [EnumMember(Value = "MCI")] + MCI = 11 + + } + + + /// + /// The Card Product ID represents the type of card following card scheme product definitions and can be returned for Adyen Acquiring service level payments. Possible values Visa: * **A** - Visa Traditional * **B** - Visa Traditional Rewards * **C** - Visa Signature * **D** - Visa Signature Preferred * **F** - Visa Classic Possible values Mastercard: * **MCC** - Mastercard Card * **MCE** - Mastercard Electronic Card * **MCF** - Mastercard Corporate Fleet Card * **MCG** - Gold Mastercard Card * **MCH** - Mastercard Premium Charge * **MCI** - Mastercard Select Debit + /// + /// The Card Product ID represents the type of card following card scheme product definitions and can be returned for Adyen Acquiring service level payments. Possible values Visa: * **A** - Visa Traditional * **B** - Visa Traditional Rewards * **C** - Visa Signature * **D** - Visa Signature Preferred * **F** - Visa Classic Possible values Mastercard: * **MCC** - Mastercard Card * **MCE** - Mastercard Electronic Card * **MCF** - Mastercard Corporate Fleet Card * **MCG** - Gold Mastercard Card * **MCH** - Mastercard Premium Charge * **MCI** - Mastercard Select Debit + [DataMember(Name = "cardProductId", EmitDefaultValue = false)] + public CardProductIdEnum? CardProductId { get; set; } /// /// Initializes a new instance of the class. /// @@ -41,9 +123,10 @@ public partial class ResponseAdditionalDataCard : IEquatableThe country where the card was issued. Example: US. /// The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. Example: USD. /// The card payment method used for the transaction. Example: amex. + /// The Card Product ID represents the type of card following card scheme product definitions and can be returned for Adyen Acquiring service level payments. Possible values Visa: * **A** - Visa Traditional * **B** - Visa Traditional Rewards * **C** - Visa Signature * **D** - Visa Signature Preferred * **F** - Visa Classic Possible values Mastercard: * **MCC** - Mastercard Card * **MCE** - Mastercard Electronic Card * **MCF** - Mastercard Corporate Fleet Card * **MCG** - Gold Mastercard Card * **MCH** - Mastercard Premium Charge * **MCI** - Mastercard Select Debit . /// The last four digits of a card number. > Returned only in case of a card payment.. /// The first eight digits of the card number. Only returned if the card number is 16 digits or more. This is the [Bank Identification Number (BIN)](https://docs.adyen.com/get-started-with-adyen/payment-glossary#bank-identification-number-bin) for card numbers with an eight-digit BIN. Example: 52123423. - public ResponseAdditionalDataCard(string cardBin = default(string), string cardHolderName = default(string), string cardIssuingBank = default(string), string cardIssuingCountry = default(string), string cardIssuingCurrency = default(string), string cardPaymentMethod = default(string), string cardSummary = default(string), string issuerBin = default(string)) + public ResponseAdditionalDataCard(string cardBin = default(string), string cardHolderName = default(string), string cardIssuingBank = default(string), string cardIssuingCountry = default(string), string cardIssuingCurrency = default(string), string cardPaymentMethod = default(string), CardProductIdEnum? cardProductId = default(CardProductIdEnum?), string cardSummary = default(string), string issuerBin = default(string)) { this.CardBin = cardBin; this.CardHolderName = cardHolderName; @@ -51,6 +134,7 @@ public partial class ResponseAdditionalDataCard : IEquatable /// Initializes a new instance of the class. /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). (required). - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). (required). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). (required). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). (required). public Amount(string currency = default(string), long? value = default(long?)) { this.Currency = currency; @@ -49,16 +49,16 @@ protected Amount() { } } /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). [DataMember(Name = "currency", IsRequired = false, EmitDefaultValue = false)] public string Currency { get; set; } /// - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). /// - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). [DataMember(Name = "value", IsRequired = false, EmitDefaultValue = false)] public long? Value { get; set; } diff --git a/Adyen/Model/TransactionWebhooks/Amount.cs b/Adyen/Model/TransactionWebhooks/Amount.cs index f4132e02d..27c938e95 100644 --- a/Adyen/Model/TransactionWebhooks/Amount.cs +++ b/Adyen/Model/TransactionWebhooks/Amount.cs @@ -40,8 +40,8 @@ protected Amount() { } /// /// Initializes a new instance of the class. /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). (required). - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). (required). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). (required). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). (required). public Amount(string currency = default(string), long? value = default(long?)) { this.Currency = currency; @@ -49,16 +49,16 @@ protected Amount() { } } /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). [DataMember(Name = "currency", IsRequired = false, EmitDefaultValue = false)] public string Currency { get; set; } /// - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). /// - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). [DataMember(Name = "value", IsRequired = false, EmitDefaultValue = false)] public long? Value { get; set; } diff --git a/Adyen/Model/TransactionWebhooks/PlatformPayment.cs b/Adyen/Model/TransactionWebhooks/PlatformPayment.cs index aee400b05..7914c9b77 100644 --- a/Adyen/Model/TransactionWebhooks/PlatformPayment.cs +++ b/Adyen/Model/TransactionWebhooks/PlatformPayment.cs @@ -33,9 +33,9 @@ namespace Adyen.Model.TransactionWebhooks public partial class PlatformPayment : IEquatable, IValidatableObject { /// - /// The type of the related split. + /// Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/) or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/). Possible values: * **AcquiringFees**: for the acquiring fee incurred on a transaction. * **AdyenCommission**: for the transaction fee due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing). * **AdyenFees**: for all the transaction fees due to Adyen. This is the sum of Adyen's commission and Adyen's markup. * **AdyenMarkup**: for the transaction fee due to Adyen under [Interchange++ pricing](https://www.adyen.com/pricing). * **BalanceAccount**: or the sale amount of a transaction. * **Commission**: for your platform's commission on a transaction. * **Interchange**: for the interchange fee (fee paid to the issuer) incurred on a transaction. * **PaymentFee**: for all of the transaction fees. * **Remainder**: for the left over amount after currency conversion. * **SchemeFee**: for the scheme fee incurred on a transaction. This is the sum of the interchange fees and the acquiring fees. * **Surcharge**: for the surcharge paid by the customer on a transaction. * **Tip**: for the tip paid by the customer. * **TopUp**: for an incoming transfer to top up your user's balance account. * **VAT**: for the Value Added Tax. /// - /// The type of the related split. + /// Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/) or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/). Possible values: * **AcquiringFees**: for the acquiring fee incurred on a transaction. * **AdyenCommission**: for the transaction fee due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing). * **AdyenFees**: for all the transaction fees due to Adyen. This is the sum of Adyen's commission and Adyen's markup. * **AdyenMarkup**: for the transaction fee due to Adyen under [Interchange++ pricing](https://www.adyen.com/pricing). * **BalanceAccount**: or the sale amount of a transaction. * **Commission**: for your platform's commission on a transaction. * **Interchange**: for the interchange fee (fee paid to the issuer) incurred on a transaction. * **PaymentFee**: for all of the transaction fees. * **Remainder**: for the left over amount after currency conversion. * **SchemeFee**: for the scheme fee incurred on a transaction. This is the sum of the interchange fees and the acquiring fees. * **Surcharge**: for the surcharge paid by the customer on a transaction. * **Tip**: for the tip paid by the customer. * **TopUp**: for an incoming transfer to top up your user's balance account. * **VAT**: for the Value Added Tax. [JsonConverter(typeof(StringEnumConverter))] public enum PlatformPaymentTypeEnum { @@ -133,9 +133,9 @@ public enum PlatformPaymentTypeEnum /// - /// The type of the related split. + /// Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/) or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/). Possible values: * **AcquiringFees**: for the acquiring fee incurred on a transaction. * **AdyenCommission**: for the transaction fee due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing). * **AdyenFees**: for all the transaction fees due to Adyen. This is the sum of Adyen's commission and Adyen's markup. * **AdyenMarkup**: for the transaction fee due to Adyen under [Interchange++ pricing](https://www.adyen.com/pricing). * **BalanceAccount**: or the sale amount of a transaction. * **Commission**: for your platform's commission on a transaction. * **Interchange**: for the interchange fee (fee paid to the issuer) incurred on a transaction. * **PaymentFee**: for all of the transaction fees. * **Remainder**: for the left over amount after currency conversion. * **SchemeFee**: for the scheme fee incurred on a transaction. This is the sum of the interchange fees and the acquiring fees. * **Surcharge**: for the surcharge paid by the customer on a transaction. * **Tip**: for the tip paid by the customer. * **TopUp**: for an incoming transfer to top up your user's balance account. * **VAT**: for the Value Added Tax. /// - /// The type of the related split. + /// Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/) or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/). Possible values: * **AcquiringFees**: for the acquiring fee incurred on a transaction. * **AdyenCommission**: for the transaction fee due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing). * **AdyenFees**: for all the transaction fees due to Adyen. This is the sum of Adyen's commission and Adyen's markup. * **AdyenMarkup**: for the transaction fee due to Adyen under [Interchange++ pricing](https://www.adyen.com/pricing). * **BalanceAccount**: or the sale amount of a transaction. * **Commission**: for your platform's commission on a transaction. * **Interchange**: for the interchange fee (fee paid to the issuer) incurred on a transaction. * **PaymentFee**: for all of the transaction fees. * **Remainder**: for the left over amount after currency conversion. * **SchemeFee**: for the scheme fee incurred on a transaction. This is the sum of the interchange fees and the acquiring fees. * **Surcharge**: for the surcharge paid by the customer on a transaction. * **Tip**: for the tip paid by the customer. * **TopUp**: for an incoming transfer to top up your user's balance account. * **VAT**: for the Value Added Tax. [DataMember(Name = "platformPaymentType", EmitDefaultValue = false)] public PlatformPaymentTypeEnum? PlatformPaymentType { get; set; } /// @@ -166,7 +166,7 @@ public enum TypeEnum /// The capture's merchant reference included in the transfer.. /// The capture reference included in the transfer.. /// The payment's merchant reference included in the transfer.. - /// The type of the related split.. + /// Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/) or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/). Possible values: * **AcquiringFees**: for the acquiring fee incurred on a transaction. * **AdyenCommission**: for the transaction fee due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing). * **AdyenFees**: for all the transaction fees due to Adyen. This is the sum of Adyen's commission and Adyen's markup. * **AdyenMarkup**: for the transaction fee due to Adyen under [Interchange++ pricing](https://www.adyen.com/pricing). * **BalanceAccount**: or the sale amount of a transaction. * **Commission**: for your platform's commission on a transaction. * **Interchange**: for the interchange fee (fee paid to the issuer) incurred on a transaction. * **PaymentFee**: for all of the transaction fees. * **Remainder**: for the left over amount after currency conversion. * **SchemeFee**: for the scheme fee incurred on a transaction. This is the sum of the interchange fees and the acquiring fees. * **Surcharge**: for the surcharge paid by the customer on a transaction. * **Tip**: for the tip paid by the customer. * **TopUp**: for an incoming transfer to top up your user's balance account. * **VAT**: for the Value Added Tax.. /// The payment reference included in the transfer.. /// **platformPayment** (default to TypeEnum.PlatformPayment). public PlatformPayment(string modificationMerchantReference = default(string), string modificationPspReference = default(string), string paymentMerchantReference = default(string), PlatformPaymentTypeEnum? platformPaymentType = default(PlatformPaymentTypeEnum?), string pspPaymentReference = default(string), TypeEnum? type = TypeEnum.PlatformPayment) diff --git a/Adyen/Model/TransactionWebhooks/TransactionNotificationRequestV4.cs b/Adyen/Model/TransactionWebhooks/TransactionNotificationRequestV4.cs index 6fdb6e08f..767484e66 100644 --- a/Adyen/Model/TransactionWebhooks/TransactionNotificationRequestV4.cs +++ b/Adyen/Model/TransactionWebhooks/TransactionNotificationRequestV4.cs @@ -64,11 +64,13 @@ protected TransactionNotificationRequestV4() { } /// /// data (required). /// The environment from which the webhook originated. Possible values: **test**, **live**. (required). + /// When the event was queued.. /// Type of the webhook.. - public TransactionNotificationRequestV4(Transaction data = default(Transaction), string environment = default(string), TypeEnum? type = default(TypeEnum?)) + public TransactionNotificationRequestV4(Transaction data = default(Transaction), string environment = default(string), DateTime timestamp = default(DateTime), TypeEnum? type = default(TypeEnum?)) { this.Data = data; this.Environment = environment; + this.Timestamp = timestamp; this.Type = type; } @@ -85,6 +87,13 @@ protected TransactionNotificationRequestV4() { } [DataMember(Name = "environment", IsRequired = false, EmitDefaultValue = false)] public string Environment { get; set; } + /// + /// When the event was queued. + /// + /// When the event was queued. + [DataMember(Name = "timestamp", EmitDefaultValue = false)] + public DateTime Timestamp { get; set; } + /// /// Returns the string presentation of the object /// @@ -95,6 +104,7 @@ public override string ToString() sb.Append("class TransactionNotificationRequestV4 {\n"); sb.Append(" Data: ").Append(Data).Append("\n"); sb.Append(" Environment: ").Append(Environment).Append("\n"); + sb.Append(" Timestamp: ").Append(Timestamp).Append("\n"); sb.Append(" Type: ").Append(Type).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -141,6 +151,11 @@ public bool Equals(TransactionNotificationRequestV4 input) (this.Environment != null && this.Environment.Equals(input.Environment)) ) && + ( + this.Timestamp == input.Timestamp || + (this.Timestamp != null && + this.Timestamp.Equals(input.Timestamp)) + ) && ( this.Type == input.Type || this.Type.Equals(input.Type) @@ -164,6 +179,10 @@ public override int GetHashCode() { hashCode = (hashCode * 59) + this.Environment.GetHashCode(); } + if (this.Timestamp != null) + { + hashCode = (hashCode * 59) + this.Timestamp.GetHashCode(); + } hashCode = (hashCode * 59) + this.Type.GetHashCode(); return hashCode; } diff --git a/Adyen/Model/TransferWebhooks/Airline.cs b/Adyen/Model/TransferWebhooks/Airline.cs new file mode 100644 index 000000000..ed340acf7 --- /dev/null +++ b/Adyen/Model/TransferWebhooks/Airline.cs @@ -0,0 +1,149 @@ +/* +* Transfer webhooks +* +* +* The version of the OpenAPI document: 4 +* +* 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.TransferWebhooks +{ + /// + /// Airline + /// + [DataContract(Name = "Airline")] + public partial class Airline : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// Details about the flight legs for this ticket.. + /// The ticket's unique identifier. + public Airline(List legs = default(List), string ticketNumber = default(string)) + { + this.Legs = legs; + this.TicketNumber = ticketNumber; + } + + /// + /// Details about the flight legs for this ticket. + /// + /// Details about the flight legs for this ticket. + [DataMember(Name = "legs", EmitDefaultValue = false)] + public List Legs { get; set; } + + /// + /// The ticket's unique identifier + /// + /// The ticket's unique identifier + [DataMember(Name = "ticketNumber", EmitDefaultValue = false)] + public string TicketNumber { 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 Airline {\n"); + sb.Append(" Legs: ").Append(Legs).Append("\n"); + sb.Append(" TicketNumber: ").Append(TicketNumber).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 Airline); + } + + /// + /// Returns true if Airline instances are equal + /// + /// Instance of Airline to be compared + /// Boolean + public bool Equals(Airline input) + { + if (input == null) + { + return false; + } + return + ( + this.Legs == input.Legs || + this.Legs != null && + input.Legs != null && + this.Legs.SequenceEqual(input.Legs) + ) && + ( + this.TicketNumber == input.TicketNumber || + (this.TicketNumber != null && + this.TicketNumber.Equals(input.TicketNumber)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Legs != null) + { + hashCode = (hashCode * 59) + this.Legs.GetHashCode(); + } + if (this.TicketNumber != null) + { + hashCode = (hashCode * 59) + this.TicketNumber.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/TransferWebhooks/Amount.cs b/Adyen/Model/TransferWebhooks/Amount.cs index e5ce1a918..fac41e3d7 100644 --- a/Adyen/Model/TransferWebhooks/Amount.cs +++ b/Adyen/Model/TransferWebhooks/Amount.cs @@ -40,8 +40,8 @@ protected Amount() { } /// /// Initializes a new instance of the class. /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). (required). - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). (required). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). (required). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). (required). public Amount(string currency = default(string), long? value = default(long?)) { this.Currency = currency; @@ -49,16 +49,16 @@ protected Amount() { } } /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). [DataMember(Name = "currency", IsRequired = false, EmitDefaultValue = false)] public string Currency { get; set; } /// - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). /// - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). [DataMember(Name = "value", IsRequired = false, EmitDefaultValue = false)] public long? Value { get; set; } diff --git a/Adyen/Model/TransferWebhooks/Leg.cs b/Adyen/Model/TransferWebhooks/Leg.cs new file mode 100644 index 000000000..7acfff0c4 --- /dev/null +++ b/Adyen/Model/TransferWebhooks/Leg.cs @@ -0,0 +1,224 @@ +/* +* Transfer webhooks +* +* +* The version of the OpenAPI document: 4 +* +* 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.TransferWebhooks +{ + /// + /// Leg + /// + [DataContract(Name = "Leg")] + public partial class Leg : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// The IATA 3-letter airport code of the destination airport. This field is required if the airline data includes leg details.. + /// The basic fare code for this leg.. + /// IATA code of the carrier operating the flight.. + /// The IATA three-letter airport code of the departure airport. This field is required if the airline data includes leg details. + /// The flight departure date.. + /// The flight identifier.. + public Leg(string arrivalAirportCode = default(string), string basicFareCode = default(string), string carrierCode = default(string), string departureAirportCode = default(string), string departureDate = default(string), string flightNumber = default(string)) + { + this.ArrivalAirportCode = arrivalAirportCode; + this.BasicFareCode = basicFareCode; + this.CarrierCode = carrierCode; + this.DepartureAirportCode = departureAirportCode; + this.DepartureDate = departureDate; + this.FlightNumber = flightNumber; + } + + /// + /// The IATA 3-letter airport code of the destination airport. This field is required if the airline data includes leg details. + /// + /// The IATA 3-letter airport code of the destination airport. This field is required if the airline data includes leg details. + [DataMember(Name = "arrivalAirportCode", EmitDefaultValue = false)] + public string ArrivalAirportCode { get; set; } + + /// + /// The basic fare code for this leg. + /// + /// The basic fare code for this leg. + [DataMember(Name = "basicFareCode", EmitDefaultValue = false)] + public string BasicFareCode { get; set; } + + /// + /// IATA code of the carrier operating the flight. + /// + /// IATA code of the carrier operating the flight. + [DataMember(Name = "carrierCode", EmitDefaultValue = false)] + public string CarrierCode { get; set; } + + /// + /// The IATA three-letter airport code of the departure airport. This field is required if the airline data includes leg details + /// + /// The IATA three-letter airport code of the departure airport. This field is required if the airline data includes leg details + [DataMember(Name = "departureAirportCode", EmitDefaultValue = false)] + public string DepartureAirportCode { get; set; } + + /// + /// The flight departure date. + /// + /// The flight departure date. + [DataMember(Name = "departureDate", EmitDefaultValue = false)] + public string DepartureDate { get; set; } + + /// + /// The flight identifier. + /// + /// The flight identifier. + [DataMember(Name = "flightNumber", EmitDefaultValue = false)] + public string FlightNumber { 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 Leg {\n"); + sb.Append(" ArrivalAirportCode: ").Append(ArrivalAirportCode).Append("\n"); + sb.Append(" BasicFareCode: ").Append(BasicFareCode).Append("\n"); + sb.Append(" CarrierCode: ").Append(CarrierCode).Append("\n"); + sb.Append(" DepartureAirportCode: ").Append(DepartureAirportCode).Append("\n"); + sb.Append(" DepartureDate: ").Append(DepartureDate).Append("\n"); + sb.Append(" FlightNumber: ").Append(FlightNumber).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 Leg); + } + + /// + /// Returns true if Leg instances are equal + /// + /// Instance of Leg to be compared + /// Boolean + public bool Equals(Leg input) + { + if (input == null) + { + return false; + } + return + ( + this.ArrivalAirportCode == input.ArrivalAirportCode || + (this.ArrivalAirportCode != null && + this.ArrivalAirportCode.Equals(input.ArrivalAirportCode)) + ) && + ( + this.BasicFareCode == input.BasicFareCode || + (this.BasicFareCode != null && + this.BasicFareCode.Equals(input.BasicFareCode)) + ) && + ( + this.CarrierCode == input.CarrierCode || + (this.CarrierCode != null && + this.CarrierCode.Equals(input.CarrierCode)) + ) && + ( + this.DepartureAirportCode == input.DepartureAirportCode || + (this.DepartureAirportCode != null && + this.DepartureAirportCode.Equals(input.DepartureAirportCode)) + ) && + ( + this.DepartureDate == input.DepartureDate || + (this.DepartureDate != null && + this.DepartureDate.Equals(input.DepartureDate)) + ) && + ( + this.FlightNumber == input.FlightNumber || + (this.FlightNumber != null && + this.FlightNumber.Equals(input.FlightNumber)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.ArrivalAirportCode != null) + { + hashCode = (hashCode * 59) + this.ArrivalAirportCode.GetHashCode(); + } + if (this.BasicFareCode != null) + { + hashCode = (hashCode * 59) + this.BasicFareCode.GetHashCode(); + } + if (this.CarrierCode != null) + { + hashCode = (hashCode * 59) + this.CarrierCode.GetHashCode(); + } + if (this.DepartureAirportCode != null) + { + hashCode = (hashCode * 59) + this.DepartureAirportCode.GetHashCode(); + } + if (this.DepartureDate != null) + { + hashCode = (hashCode * 59) + this.DepartureDate.GetHashCode(); + } + if (this.FlightNumber != null) + { + hashCode = (hashCode * 59) + this.FlightNumber.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/TransferWebhooks/MerchantPurchaseData.cs b/Adyen/Model/TransferWebhooks/MerchantPurchaseData.cs new file mode 100644 index 000000000..a12c7cd8b --- /dev/null +++ b/Adyen/Model/TransferWebhooks/MerchantPurchaseData.cs @@ -0,0 +1,163 @@ +/* +* Transfer webhooks +* +* +* The version of the OpenAPI document: 4 +* +* 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.TransferWebhooks +{ + /// + /// MerchantPurchaseData + /// + [DataContract(Name = "MerchantPurchaseData")] + public partial class MerchantPurchaseData : IEquatable, IValidatableObject + { + /// + /// The type of events data. Possible values: - **merchantPurchaseData**: merchant purchase data + /// + /// The type of events data. Possible values: - **merchantPurchaseData**: merchant purchase data + [JsonConverter(typeof(StringEnumConverter))] + public enum TypeEnum + { + /// + /// Enum MerchantPurchaseData for value: merchantPurchaseData + /// + [EnumMember(Value = "merchantPurchaseData")] + MerchantPurchaseData = 1 + + } + + + /// + /// The type of events data. Possible values: - **merchantPurchaseData**: merchant purchase data + /// + /// The type of events data. Possible values: - **merchantPurchaseData**: merchant purchase data + [DataMember(Name = "type", IsRequired = false, EmitDefaultValue = false)] + public TypeEnum Type { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected MerchantPurchaseData() { } + /// + /// Initializes a new instance of the class. + /// + /// airline. + /// The type of events data. Possible values: - **merchantPurchaseData**: merchant purchase data (required) (default to TypeEnum.MerchantPurchaseData). + public MerchantPurchaseData(Airline airline = default(Airline), TypeEnum type = TypeEnum.MerchantPurchaseData) + { + this.Type = type; + this.Airline = airline; + } + + /// + /// Gets or Sets Airline + /// + [DataMember(Name = "airline", EmitDefaultValue = false)] + public Airline Airline { 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 MerchantPurchaseData {\n"); + sb.Append(" Airline: ").Append(Airline).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 MerchantPurchaseData); + } + + /// + /// Returns true if MerchantPurchaseData instances are equal + /// + /// Instance of MerchantPurchaseData to be compared + /// Boolean + public bool Equals(MerchantPurchaseData input) + { + if (input == null) + { + return false; + } + return + ( + this.Airline == input.Airline || + (this.Airline != null && + this.Airline.Equals(input.Airline)) + ) && + ( + 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.Airline != null) + { + hashCode = (hashCode * 59) + this.Airline.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/TransferWebhooks/PlatformPayment.cs b/Adyen/Model/TransferWebhooks/PlatformPayment.cs index 55126d6f1..8e0a2f0b0 100644 --- a/Adyen/Model/TransferWebhooks/PlatformPayment.cs +++ b/Adyen/Model/TransferWebhooks/PlatformPayment.cs @@ -33,9 +33,9 @@ namespace Adyen.Model.TransferWebhooks public partial class PlatformPayment : IEquatable, IValidatableObject { /// - /// The type of the related split. + /// Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/) or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/). Possible values: * **AcquiringFees**: for the acquiring fee incurred on a transaction. * **AdyenCommission**: for the transaction fee due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing). * **AdyenFees**: for all the transaction fees due to Adyen. This is the sum of Adyen's commission and Adyen's markup. * **AdyenMarkup**: for the transaction fee due to Adyen under [Interchange++ pricing](https://www.adyen.com/pricing). * **BalanceAccount**: or the sale amount of a transaction. * **Commission**: for your platform's commission on a transaction. * **Interchange**: for the interchange fee (fee paid to the issuer) incurred on a transaction. * **PaymentFee**: for all of the transaction fees. * **Remainder**: for the left over amount after currency conversion. * **SchemeFee**: for the scheme fee incurred on a transaction. This is the sum of the interchange fees and the acquiring fees. * **Surcharge**: for the surcharge paid by the customer on a transaction. * **Tip**: for the tip paid by the customer. * **TopUp**: for an incoming transfer to top up your user's balance account. * **VAT**: for the Value Added Tax. /// - /// The type of the related split. + /// Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/) or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/). Possible values: * **AcquiringFees**: for the acquiring fee incurred on a transaction. * **AdyenCommission**: for the transaction fee due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing). * **AdyenFees**: for all the transaction fees due to Adyen. This is the sum of Adyen's commission and Adyen's markup. * **AdyenMarkup**: for the transaction fee due to Adyen under [Interchange++ pricing](https://www.adyen.com/pricing). * **BalanceAccount**: or the sale amount of a transaction. * **Commission**: for your platform's commission on a transaction. * **Interchange**: for the interchange fee (fee paid to the issuer) incurred on a transaction. * **PaymentFee**: for all of the transaction fees. * **Remainder**: for the left over amount after currency conversion. * **SchemeFee**: for the scheme fee incurred on a transaction. This is the sum of the interchange fees and the acquiring fees. * **Surcharge**: for the surcharge paid by the customer on a transaction. * **Tip**: for the tip paid by the customer. * **TopUp**: for an incoming transfer to top up your user's balance account. * **VAT**: for the Value Added Tax. [JsonConverter(typeof(StringEnumConverter))] public enum PlatformPaymentTypeEnum { @@ -133,9 +133,9 @@ public enum PlatformPaymentTypeEnum /// - /// The type of the related split. + /// Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/) or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/). Possible values: * **AcquiringFees**: for the acquiring fee incurred on a transaction. * **AdyenCommission**: for the transaction fee due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing). * **AdyenFees**: for all the transaction fees due to Adyen. This is the sum of Adyen's commission and Adyen's markup. * **AdyenMarkup**: for the transaction fee due to Adyen under [Interchange++ pricing](https://www.adyen.com/pricing). * **BalanceAccount**: or the sale amount of a transaction. * **Commission**: for your platform's commission on a transaction. * **Interchange**: for the interchange fee (fee paid to the issuer) incurred on a transaction. * **PaymentFee**: for all of the transaction fees. * **Remainder**: for the left over amount after currency conversion. * **SchemeFee**: for the scheme fee incurred on a transaction. This is the sum of the interchange fees and the acquiring fees. * **Surcharge**: for the surcharge paid by the customer on a transaction. * **Tip**: for the tip paid by the customer. * **TopUp**: for an incoming transfer to top up your user's balance account. * **VAT**: for the Value Added Tax. /// - /// The type of the related split. + /// Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/) or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/). Possible values: * **AcquiringFees**: for the acquiring fee incurred on a transaction. * **AdyenCommission**: for the transaction fee due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing). * **AdyenFees**: for all the transaction fees due to Adyen. This is the sum of Adyen's commission and Adyen's markup. * **AdyenMarkup**: for the transaction fee due to Adyen under [Interchange++ pricing](https://www.adyen.com/pricing). * **BalanceAccount**: or the sale amount of a transaction. * **Commission**: for your platform's commission on a transaction. * **Interchange**: for the interchange fee (fee paid to the issuer) incurred on a transaction. * **PaymentFee**: for all of the transaction fees. * **Remainder**: for the left over amount after currency conversion. * **SchemeFee**: for the scheme fee incurred on a transaction. This is the sum of the interchange fees and the acquiring fees. * **Surcharge**: for the surcharge paid by the customer on a transaction. * **Tip**: for the tip paid by the customer. * **TopUp**: for an incoming transfer to top up your user's balance account. * **VAT**: for the Value Added Tax. [DataMember(Name = "platformPaymentType", EmitDefaultValue = false)] public PlatformPaymentTypeEnum? PlatformPaymentType { get; set; } /// @@ -166,7 +166,7 @@ public enum TypeEnum /// The capture's merchant reference included in the transfer.. /// The capture reference included in the transfer.. /// The payment's merchant reference included in the transfer.. - /// The type of the related split.. + /// Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/) or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/). Possible values: * **AcquiringFees**: for the acquiring fee incurred on a transaction. * **AdyenCommission**: for the transaction fee due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing). * **AdyenFees**: for all the transaction fees due to Adyen. This is the sum of Adyen's commission and Adyen's markup. * **AdyenMarkup**: for the transaction fee due to Adyen under [Interchange++ pricing](https://www.adyen.com/pricing). * **BalanceAccount**: or the sale amount of a transaction. * **Commission**: for your platform's commission on a transaction. * **Interchange**: for the interchange fee (fee paid to the issuer) incurred on a transaction. * **PaymentFee**: for all of the transaction fees. * **Remainder**: for the left over amount after currency conversion. * **SchemeFee**: for the scheme fee incurred on a transaction. This is the sum of the interchange fees and the acquiring fees. * **Surcharge**: for the surcharge paid by the customer on a transaction. * **Tip**: for the tip paid by the customer. * **TopUp**: for an incoming transfer to top up your user's balance account. * **VAT**: for the Value Added Tax.. /// The payment reference included in the transfer.. /// **platformPayment** (default to TypeEnum.PlatformPayment). public PlatformPayment(string modificationMerchantReference = default(string), string modificationPspReference = default(string), string paymentMerchantReference = default(string), PlatformPaymentTypeEnum? platformPaymentType = default(PlatformPaymentTypeEnum?), string pspPaymentReference = default(string), TypeEnum? type = TypeEnum.PlatformPayment) diff --git a/Adyen/Model/TransferWebhooks/TransferData.cs b/Adyen/Model/TransferWebhooks/TransferData.cs index 3fa3082c9..865256f29 100644 --- a/Adyen/Model/TransferWebhooks/TransferData.cs +++ b/Adyen/Model/TransferWebhooks/TransferData.cs @@ -33,9 +33,9 @@ namespace Adyen.Model.TransferWebhooks public partial class TransferData : IEquatable, IValidatableObject { /// - /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by an Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. + /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account. /// - /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by an Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. + /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account. [JsonConverter(typeof(StringEnumConverter))] public enum CategoryEnum { @@ -67,15 +67,21 @@ public enum CategoryEnum /// Enum PlatformPayment for value: platformPayment /// [EnumMember(Value = "platformPayment")] - PlatformPayment = 5 + PlatformPayment = 5, + + /// + /// Enum TopUp for value: topUp + /// + [EnumMember(Value = "topUp")] + TopUp = 6 } /// - /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by an Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. + /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account. /// - /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by an Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. + /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account. [DataMember(Name = "category", IsRequired = false, EmitDefaultValue = false)] public CategoryEnum Category { get; set; } /// @@ -935,13 +941,14 @@ protected TransferData() { } /// balanceAccount. /// The unique identifier of the balance platform.. /// The list of the latest balance statuses in the transfer.. - /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by an Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. (required). + /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account. (required). /// categoryData. /// counterparty. /// The date and time when the event was triggered, in ISO 8601 extended format. For example, **2020-12-18T10:15:30+01:00**.. /// Your description for the transfer. It is used by most banks as the transfer description. We recommend sending a maximum of 140 characters, otherwise the description may be truncated. Supported characters: **[a-z] [A-Z] [0-9] / - ?** **: ( ) . , ' + Space** Supported characters for **regular** and **fast** transfers to a US counterparty: **[a-z] [A-Z] [0-9] & $ % # @** **~ = + - _ ' \" ! ?**. /// directDebitInformation. /// The direction of the transfer. Possible values: **incoming**, **outgoing**.. + /// The event id listed under events, that triggered the notification.. /// The list of events leading up to the current status of the transfer.. /// The ID of the resource.. /// paymentInstrument. @@ -954,7 +961,7 @@ protected TransferData() { } /// tracking. /// transactionRulesResult. /// The type of transfer or transaction. For example, **refund**, **payment**, **internalTransfer**, **bankTransfer**.. - public TransferData(ResourceReference accountHolder = default(ResourceReference), Amount amount = default(Amount), ResourceReference balanceAccount = default(ResourceReference), string balancePlatform = default(string), List balances = default(List), CategoryEnum category = default(CategoryEnum), TransferDataCategoryData categoryData = default(TransferDataCategoryData), TransferNotificationCounterParty counterparty = default(TransferNotificationCounterParty), DateTime creationDate = default(DateTime), string description = default(string), DirectDebitInformation directDebitInformation = default(DirectDebitInformation), DirectionEnum? direction = default(DirectionEnum?), List events = default(List), string id = default(string), PaymentInstrument paymentInstrument = default(PaymentInstrument), ReasonEnum? reason = default(ReasonEnum?), string reference = default(string), string referenceForBeneficiary = default(string), TransferReview review = default(TransferReview), int? sequenceNumber = default(int?), StatusEnum status = default(StatusEnum), TransferDataTracking tracking = default(TransferDataTracking), TransactionRulesResult transactionRulesResult = default(TransactionRulesResult), TypeEnum? type = default(TypeEnum?)) + public TransferData(ResourceReference accountHolder = default(ResourceReference), Amount amount = default(Amount), ResourceReference balanceAccount = default(ResourceReference), string balancePlatform = default(string), List balances = default(List), CategoryEnum category = default(CategoryEnum), TransferDataCategoryData categoryData = default(TransferDataCategoryData), TransferNotificationCounterParty counterparty = default(TransferNotificationCounterParty), DateTime creationDate = default(DateTime), string description = default(string), DirectDebitInformation directDebitInformation = default(DirectDebitInformation), DirectionEnum? direction = default(DirectionEnum?), string eventId = default(string), List events = default(List), string id = default(string), PaymentInstrument paymentInstrument = default(PaymentInstrument), ReasonEnum? reason = default(ReasonEnum?), string reference = default(string), string referenceForBeneficiary = default(string), TransferReview review = default(TransferReview), int? sequenceNumber = default(int?), StatusEnum status = default(StatusEnum), TransferDataTracking tracking = default(TransferDataTracking), TransactionRulesResult transactionRulesResult = default(TransactionRulesResult), TypeEnum? type = default(TypeEnum?)) { this.Amount = amount; this.Category = category; @@ -969,6 +976,7 @@ protected TransferData() { } this.Description = description; this.DirectDebitInformation = directDebitInformation; this.Direction = direction; + this.EventId = eventId; this.Events = events; this.Id = id; this.PaymentInstrument = paymentInstrument; @@ -1046,6 +1054,13 @@ protected TransferData() { } [DataMember(Name = "directDebitInformation", EmitDefaultValue = false)] public DirectDebitInformation DirectDebitInformation { get; set; } + /// + /// The event id listed under events, that triggered the notification. + /// + /// The event id listed under events, that triggered the notification. + [DataMember(Name = "eventId", EmitDefaultValue = false)] + public string EventId { get; set; } + /// /// The list of events leading up to the current status of the transfer. /// @@ -1125,6 +1140,7 @@ public override string ToString() sb.Append(" Description: ").Append(Description).Append("\n"); sb.Append(" DirectDebitInformation: ").Append(DirectDebitInformation).Append("\n"); sb.Append(" Direction: ").Append(Direction).Append("\n"); + sb.Append(" EventId: ").Append(EventId).Append("\n"); sb.Append(" Events: ").Append(Events).Append("\n"); sb.Append(" Id: ").Append(Id).Append("\n"); sb.Append(" PaymentInstrument: ").Append(PaymentInstrument).Append("\n"); @@ -1231,6 +1247,11 @@ public bool Equals(TransferData input) this.Direction == input.Direction || this.Direction.Equals(input.Direction) ) && + ( + this.EventId == input.EventId || + (this.EventId != null && + this.EventId.Equals(input.EventId)) + ) && ( this.Events == input.Events || this.Events != null && @@ -1341,6 +1362,10 @@ public override int GetHashCode() hashCode = (hashCode * 59) + this.DirectDebitInformation.GetHashCode(); } hashCode = (hashCode * 59) + this.Direction.GetHashCode(); + if (this.EventId != null) + { + hashCode = (hashCode * 59) + this.EventId.GetHashCode(); + } if (this.Events != null) { hashCode = (hashCode * 59) + this.Events.GetHashCode(); diff --git a/Adyen/Model/TransferWebhooks/TransferEvent.cs b/Adyen/Model/TransferWebhooks/TransferEvent.cs index 7d2526c5d..09dffa38f 100644 --- a/Adyen/Model/TransferWebhooks/TransferEvent.cs +++ b/Adyen/Model/TransferWebhooks/TransferEvent.cs @@ -640,6 +640,7 @@ public enum TypeEnum /// Scheme unique arn identifier useful for tracing captures, chargebacks, refunds, etc.. /// The date when the transfer request was sent.. /// The estimated time when the beneficiary should have access to the funds.. + /// A list of event data.. /// externalReason. /// The unique identifier of the transfer event.. /// modification. @@ -652,13 +653,14 @@ public enum TypeEnum /// The type of the transfer event. Possible values: **accounting**, **tracking**.. /// The date when the tracking status was updated.. /// 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)) + public TransferEvent(Amount amount = default(Amount), List amountAdjustments = default(List), string arn = default(string), DateTime bookingDate = default(DateTime), DateTime estimatedArrivalTime = default(DateTime), List eventsData = default(List), 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; this.AmountAdjustments = amountAdjustments; this.Arn = arn; this.BookingDate = bookingDate; this.EstimatedArrivalTime = estimatedArrivalTime; + this.EventsData = eventsData; this.ExternalReason = externalReason; this.Id = id; this.Modification = modification; @@ -707,6 +709,13 @@ public enum TypeEnum [DataMember(Name = "estimatedArrivalTime", EmitDefaultValue = false)] public DateTime EstimatedArrivalTime { get; set; } + /// + /// A list of event data. + /// + /// A list of event data. + [DataMember(Name = "eventsData", EmitDefaultValue = false)] + public List EventsData { get; set; } + /// /// Gets or Sets ExternalReason /// @@ -779,6 +788,7 @@ public override string ToString() sb.Append(" Arn: ").Append(Arn).Append("\n"); sb.Append(" BookingDate: ").Append(BookingDate).Append("\n"); sb.Append(" EstimatedArrivalTime: ").Append(EstimatedArrivalTime).Append("\n"); + sb.Append(" EventsData: ").Append(EventsData).Append("\n"); sb.Append(" ExternalReason: ").Append(ExternalReason).Append("\n"); sb.Append(" Id: ").Append(Id).Append("\n"); sb.Append(" Modification: ").Append(Modification).Append("\n"); @@ -852,6 +862,12 @@ public bool Equals(TransferEvent input) (this.EstimatedArrivalTime != null && this.EstimatedArrivalTime.Equals(input.EstimatedArrivalTime)) ) && + ( + this.EventsData == input.EventsData || + this.EventsData != null && + input.EventsData != null && + this.EventsData.SequenceEqual(input.EventsData) + ) && ( this.ExternalReason == input.ExternalReason || (this.ExternalReason != null && @@ -941,6 +957,10 @@ public override int GetHashCode() { hashCode = (hashCode * 59) + this.EstimatedArrivalTime.GetHashCode(); } + if (this.EventsData != null) + { + hashCode = (hashCode * 59) + this.EventsData.GetHashCode(); + } if (this.ExternalReason != null) { hashCode = (hashCode * 59) + this.ExternalReason.GetHashCode(); diff --git a/Adyen/Model/TransferWebhooks/TransferEventEventsDataInner.cs b/Adyen/Model/TransferWebhooks/TransferEventEventsDataInner.cs new file mode 100644 index 000000000..1c664f5b8 --- /dev/null +++ b/Adyen/Model/TransferWebhooks/TransferEventEventsDataInner.cs @@ -0,0 +1,248 @@ +/* +* Transfer webhooks +* +* +* The version of the OpenAPI document: 4 +* +* 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; +using System.Reflection; + +namespace Adyen.Model.TransferWebhooks +{ + /// + /// TransferEventEventsDataInner + /// + [JsonConverter(typeof(TransferEventEventsDataInnerJsonConverter))] + [DataContract(Name = "TransferEvent_eventsData_inner")] + public partial class TransferEventEventsDataInner : AbstractOpenAPISchema, IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class + /// with the class + /// + /// An instance of MerchantPurchaseData. + public TransferEventEventsDataInner(MerchantPurchaseData actualInstance) + { + this.IsNullable = false; + this.SchemaType= "oneOf"; + this.ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null."); + } + + + private Object _actualInstance; + + /// + /// Gets or Sets ActualInstance + /// + public override Object ActualInstance + { + get + { + return _actualInstance; + } + set + { + if (value.GetType() == typeof(MerchantPurchaseData)) + { + this._actualInstance = value; + } + else + { + throw new ArgumentException("Invalid instance found. Must be the following types: MerchantPurchaseData"); + } + } + } + + /// + /// Get the actual instance of `MerchantPurchaseData`. If the actual instance is not `MerchantPurchaseData`, + /// the InvalidClassException will be thrown + /// + /// An instance of MerchantPurchaseData + public MerchantPurchaseData GetMerchantPurchaseData() + { + return (MerchantPurchaseData)this.ActualInstance; + } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class TransferEventEventsDataInner {\n"); + sb.Append(" ActualInstance: ").Append(this.ActualInstance).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public override string ToJson() + { + return JsonConvert.SerializeObject(this.ActualInstance, TransferEventEventsDataInner.SerializerSettings); + } + + /// + /// Converts the JSON string into an instance of TransferEventEventsDataInner + /// + /// JSON string + /// An instance of TransferEventEventsDataInner + public static TransferEventEventsDataInner FromJson(string jsonString) + { + TransferEventEventsDataInner newTransferEventEventsDataInner = null; + + if (string.IsNullOrEmpty(jsonString)) + { + return newTransferEventEventsDataInner; + } + int match = 0; + List matchedTypes = new List(); + JToken typeToken = JObject.Parse(jsonString).GetValue("type"); + string type = typeToken?.Value(); + // Throw exception if jsonString does not contain type param + if (type == null) + { + throw new InvalidDataException("JsonString does not contain required enum type for deserialization."); + } + try + { + // Check if the jsonString type enum matches the MerchantPurchaseData type enums + if (ContainsValue(type)) + { + newTransferEventEventsDataInner = new TransferEventEventsDataInner(JsonConvert.DeserializeObject(jsonString, TransferEventEventsDataInner.SerializerSettings)); + matchedTypes.Add("MerchantPurchaseData"); + match++; + } + } + catch (Exception ex) + { + if (!(ex is JsonSerializationException)) + { + throw new InvalidDataException(string.Format("Failed to deserialize `{0}` into target: {1}", jsonString, ex.ToString())); + } + } + + if (match != 1) + { + throw new InvalidDataException("The JSON string `" + jsonString + "` cannot be deserialized into any schema defined. MatchedTypes are: " + matchedTypes); + } + + // deserialization is considered successful at this point if no exception has been thrown. + return newTransferEventEventsDataInner; + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as TransferEventEventsDataInner); + } + + /// + /// Returns true if TransferEventEventsDataInner instances are equal + /// + /// Instance of TransferEventEventsDataInner to be compared + /// Boolean + public bool Equals(TransferEventEventsDataInner input) + { + if (input == null) + return false; + + return this.ActualInstance.Equals(input.ActualInstance); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.ActualInstance != null) + hashCode = hashCode * 59 + this.ActualInstance.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + + /// + /// Custom JSON converter for TransferEventEventsDataInner + /// + public class TransferEventEventsDataInnerJsonConverter : JsonConverter + { + /// + /// To write the JSON string + /// + /// JSON writer + /// Object to be converted into a JSON string + /// JSON Serializer + public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) + { + writer.WriteRawValue((string)(typeof(TransferEventEventsDataInner).GetMethod("ToJson").Invoke(value, null))); + } + + /// + /// To convert a JSON string into an object + /// + /// JSON reader + /// Object type + /// Existing value + /// JSON Serializer + /// The object converted from the JSON string + public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) + { + if(reader.TokenType != JsonToken.Null) + { + return TransferEventEventsDataInner.FromJson(JObject.Load(reader).ToString(Formatting.None)); + } + return null; + } + + /// + /// Check if the object can be converted + /// + /// Object type + /// True if the object can be converted + public override bool CanConvert(Type objectType) + { + return false; + } + } + +} diff --git a/Adyen/Model/TransferWebhooks/TransferNotificationRequest.cs b/Adyen/Model/TransferWebhooks/TransferNotificationRequest.cs index e989ac5da..0e1aa9cc3 100644 --- a/Adyen/Model/TransferWebhooks/TransferNotificationRequest.cs +++ b/Adyen/Model/TransferWebhooks/TransferNotificationRequest.cs @@ -70,11 +70,13 @@ protected TransferNotificationRequest() { } /// /// data (required). /// The environment from which the webhook originated. Possible values: **test**, **live**. (required). + /// When the event was queued.. /// The type of webhook.. - public TransferNotificationRequest(TransferData data = default(TransferData), string environment = default(string), TypeEnum? type = default(TypeEnum?)) + public TransferNotificationRequest(TransferData data = default(TransferData), string environment = default(string), DateTime timestamp = default(DateTime), TypeEnum? type = default(TypeEnum?)) { this.Data = data; this.Environment = environment; + this.Timestamp = timestamp; this.Type = type; } @@ -91,6 +93,13 @@ protected TransferNotificationRequest() { } [DataMember(Name = "environment", IsRequired = false, EmitDefaultValue = false)] public string Environment { get; set; } + /// + /// When the event was queued. + /// + /// When the event was queued. + [DataMember(Name = "timestamp", EmitDefaultValue = false)] + public DateTime Timestamp { get; set; } + /// /// Returns the string presentation of the object /// @@ -101,6 +110,7 @@ public override string ToString() sb.Append("class TransferNotificationRequest {\n"); sb.Append(" Data: ").Append(Data).Append("\n"); sb.Append(" Environment: ").Append(Environment).Append("\n"); + sb.Append(" Timestamp: ").Append(Timestamp).Append("\n"); sb.Append(" Type: ").Append(Type).Append("\n"); sb.Append("}\n"); return sb.ToString(); @@ -147,6 +157,11 @@ public bool Equals(TransferNotificationRequest input) (this.Environment != null && this.Environment.Equals(input.Environment)) ) && + ( + this.Timestamp == input.Timestamp || + (this.Timestamp != null && + this.Timestamp.Equals(input.Timestamp)) + ) && ( this.Type == input.Type || this.Type.Equals(input.Type) @@ -170,6 +185,10 @@ public override int GetHashCode() { hashCode = (hashCode * 59) + this.Environment.GetHashCode(); } + if (this.Timestamp != null) + { + hashCode = (hashCode * 59) + this.Timestamp.GetHashCode(); + } hashCode = (hashCode * 59) + this.Type.GetHashCode(); return hashCode; } diff --git a/Adyen/Model/Transfers/Airline.cs b/Adyen/Model/Transfers/Airline.cs new file mode 100644 index 000000000..1b70fe119 --- /dev/null +++ b/Adyen/Model/Transfers/Airline.cs @@ -0,0 +1,149 @@ +/* +* Transfers API +* +* +* The version of the OpenAPI document: 4 +* +* 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.Transfers +{ + /// + /// Airline + /// + [DataContract(Name = "Airline")] + public partial class Airline : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// Details about the flight legs for this ticket.. + /// The ticket's unique identifier. + public Airline(List legs = default(List), string ticketNumber = default(string)) + { + this.Legs = legs; + this.TicketNumber = ticketNumber; + } + + /// + /// Details about the flight legs for this ticket. + /// + /// Details about the flight legs for this ticket. + [DataMember(Name = "legs", EmitDefaultValue = false)] + public List Legs { get; set; } + + /// + /// The ticket's unique identifier + /// + /// The ticket's unique identifier + [DataMember(Name = "ticketNumber", EmitDefaultValue = false)] + public string TicketNumber { 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 Airline {\n"); + sb.Append(" Legs: ").Append(Legs).Append("\n"); + sb.Append(" TicketNumber: ").Append(TicketNumber).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 Airline); + } + + /// + /// Returns true if Airline instances are equal + /// + /// Instance of Airline to be compared + /// Boolean + public bool Equals(Airline input) + { + if (input == null) + { + return false; + } + return + ( + this.Legs == input.Legs || + this.Legs != null && + input.Legs != null && + this.Legs.SequenceEqual(input.Legs) + ) && + ( + this.TicketNumber == input.TicketNumber || + (this.TicketNumber != null && + this.TicketNumber.Equals(input.TicketNumber)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Legs != null) + { + hashCode = (hashCode * 59) + this.Legs.GetHashCode(); + } + if (this.TicketNumber != null) + { + hashCode = (hashCode * 59) + this.TicketNumber.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/Transfers/Amount.cs b/Adyen/Model/Transfers/Amount.cs index d6499ea6c..b6d3c694e 100644 --- a/Adyen/Model/Transfers/Amount.cs +++ b/Adyen/Model/Transfers/Amount.cs @@ -40,8 +40,8 @@ protected Amount() { } /// /// Initializes a new instance of the class. /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). (required). - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). (required). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). (required). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). (required). public Amount(string currency = default(string), long? value = default(long?)) { this.Currency = currency; @@ -49,16 +49,16 @@ protected Amount() { } } /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). /// - /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). + /// The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes). [DataMember(Name = "currency", IsRequired = false, EmitDefaultValue = false)] public string Currency { get; set; } /// - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). /// - /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). + /// The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units). [DataMember(Name = "value", IsRequired = false, EmitDefaultValue = false)] public long? Value { get; set; } diff --git a/Adyen/Model/Transfers/Leg.cs b/Adyen/Model/Transfers/Leg.cs new file mode 100644 index 000000000..c8b1b2fb6 --- /dev/null +++ b/Adyen/Model/Transfers/Leg.cs @@ -0,0 +1,224 @@ +/* +* Transfers API +* +* +* The version of the OpenAPI document: 4 +* +* 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.Transfers +{ + /// + /// Leg + /// + [DataContract(Name = "Leg")] + public partial class Leg : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// The IATA 3-letter airport code of the destination airport. This field is required if the airline data includes leg details.. + /// The basic fare code for this leg.. + /// IATA code of the carrier operating the flight.. + /// The IATA three-letter airport code of the departure airport. This field is required if the airline data includes leg details. + /// The flight departure date.. + /// The flight identifier.. + public Leg(string arrivalAirportCode = default(string), string basicFareCode = default(string), string carrierCode = default(string), string departureAirportCode = default(string), string departureDate = default(string), string flightNumber = default(string)) + { + this.ArrivalAirportCode = arrivalAirportCode; + this.BasicFareCode = basicFareCode; + this.CarrierCode = carrierCode; + this.DepartureAirportCode = departureAirportCode; + this.DepartureDate = departureDate; + this.FlightNumber = flightNumber; + } + + /// + /// The IATA 3-letter airport code of the destination airport. This field is required if the airline data includes leg details. + /// + /// The IATA 3-letter airport code of the destination airport. This field is required if the airline data includes leg details. + [DataMember(Name = "arrivalAirportCode", EmitDefaultValue = false)] + public string ArrivalAirportCode { get; set; } + + /// + /// The basic fare code for this leg. + /// + /// The basic fare code for this leg. + [DataMember(Name = "basicFareCode", EmitDefaultValue = false)] + public string BasicFareCode { get; set; } + + /// + /// IATA code of the carrier operating the flight. + /// + /// IATA code of the carrier operating the flight. + [DataMember(Name = "carrierCode", EmitDefaultValue = false)] + public string CarrierCode { get; set; } + + /// + /// The IATA three-letter airport code of the departure airport. This field is required if the airline data includes leg details + /// + /// The IATA three-letter airport code of the departure airport. This field is required if the airline data includes leg details + [DataMember(Name = "departureAirportCode", EmitDefaultValue = false)] + public string DepartureAirportCode { get; set; } + + /// + /// The flight departure date. + /// + /// The flight departure date. + [DataMember(Name = "departureDate", EmitDefaultValue = false)] + public string DepartureDate { get; set; } + + /// + /// The flight identifier. + /// + /// The flight identifier. + [DataMember(Name = "flightNumber", EmitDefaultValue = false)] + public string FlightNumber { 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 Leg {\n"); + sb.Append(" ArrivalAirportCode: ").Append(ArrivalAirportCode).Append("\n"); + sb.Append(" BasicFareCode: ").Append(BasicFareCode).Append("\n"); + sb.Append(" CarrierCode: ").Append(CarrierCode).Append("\n"); + sb.Append(" DepartureAirportCode: ").Append(DepartureAirportCode).Append("\n"); + sb.Append(" DepartureDate: ").Append(DepartureDate).Append("\n"); + sb.Append(" FlightNumber: ").Append(FlightNumber).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 Leg); + } + + /// + /// Returns true if Leg instances are equal + /// + /// Instance of Leg to be compared + /// Boolean + public bool Equals(Leg input) + { + if (input == null) + { + return false; + } + return + ( + this.ArrivalAirportCode == input.ArrivalAirportCode || + (this.ArrivalAirportCode != null && + this.ArrivalAirportCode.Equals(input.ArrivalAirportCode)) + ) && + ( + this.BasicFareCode == input.BasicFareCode || + (this.BasicFareCode != null && + this.BasicFareCode.Equals(input.BasicFareCode)) + ) && + ( + this.CarrierCode == input.CarrierCode || + (this.CarrierCode != null && + this.CarrierCode.Equals(input.CarrierCode)) + ) && + ( + this.DepartureAirportCode == input.DepartureAirportCode || + (this.DepartureAirportCode != null && + this.DepartureAirportCode.Equals(input.DepartureAirportCode)) + ) && + ( + this.DepartureDate == input.DepartureDate || + (this.DepartureDate != null && + this.DepartureDate.Equals(input.DepartureDate)) + ) && + ( + this.FlightNumber == input.FlightNumber || + (this.FlightNumber != null && + this.FlightNumber.Equals(input.FlightNumber)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.ArrivalAirportCode != null) + { + hashCode = (hashCode * 59) + this.ArrivalAirportCode.GetHashCode(); + } + if (this.BasicFareCode != null) + { + hashCode = (hashCode * 59) + this.BasicFareCode.GetHashCode(); + } + if (this.CarrierCode != null) + { + hashCode = (hashCode * 59) + this.CarrierCode.GetHashCode(); + } + if (this.DepartureAirportCode != null) + { + hashCode = (hashCode * 59) + this.DepartureAirportCode.GetHashCode(); + } + if (this.DepartureDate != null) + { + hashCode = (hashCode * 59) + this.DepartureDate.GetHashCode(); + } + if (this.FlightNumber != null) + { + hashCode = (hashCode * 59) + this.FlightNumber.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/Transfers/MerchantPurchaseData.cs b/Adyen/Model/Transfers/MerchantPurchaseData.cs new file mode 100644 index 000000000..c1a7f8d2e --- /dev/null +++ b/Adyen/Model/Transfers/MerchantPurchaseData.cs @@ -0,0 +1,163 @@ +/* +* Transfers API +* +* +* The version of the OpenAPI document: 4 +* +* 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.Transfers +{ + /// + /// MerchantPurchaseData + /// + [DataContract(Name = "MerchantPurchaseData")] + public partial class MerchantPurchaseData : IEquatable, IValidatableObject + { + /// + /// The type of events data. Possible values: - **merchantPurchaseData**: merchant purchase data + /// + /// The type of events data. Possible values: - **merchantPurchaseData**: merchant purchase data + [JsonConverter(typeof(StringEnumConverter))] + public enum TypeEnum + { + /// + /// Enum MerchantPurchaseData for value: merchantPurchaseData + /// + [EnumMember(Value = "merchantPurchaseData")] + MerchantPurchaseData = 1 + + } + + + /// + /// The type of events data. Possible values: - **merchantPurchaseData**: merchant purchase data + /// + /// The type of events data. Possible values: - **merchantPurchaseData**: merchant purchase data + [DataMember(Name = "type", IsRequired = false, EmitDefaultValue = false)] + public TypeEnum Type { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected MerchantPurchaseData() { } + /// + /// Initializes a new instance of the class. + /// + /// airline. + /// The type of events data. Possible values: - **merchantPurchaseData**: merchant purchase data (required) (default to TypeEnum.MerchantPurchaseData). + public MerchantPurchaseData(Airline airline = default(Airline), TypeEnum type = TypeEnum.MerchantPurchaseData) + { + this.Type = type; + this.Airline = airline; + } + + /// + /// Gets or Sets Airline + /// + [DataMember(Name = "airline", EmitDefaultValue = false)] + public Airline Airline { 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 MerchantPurchaseData {\n"); + sb.Append(" Airline: ").Append(Airline).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 MerchantPurchaseData); + } + + /// + /// Returns true if MerchantPurchaseData instances are equal + /// + /// Instance of MerchantPurchaseData to be compared + /// Boolean + public bool Equals(MerchantPurchaseData input) + { + if (input == null) + { + return false; + } + return + ( + this.Airline == input.Airline || + (this.Airline != null && + this.Airline.Equals(input.Airline)) + ) && + ( + 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.Airline != null) + { + hashCode = (hashCode * 59) + this.Airline.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/Transfers/PlatformPayment.cs b/Adyen/Model/Transfers/PlatformPayment.cs index dc19f8614..0f6d83476 100644 --- a/Adyen/Model/Transfers/PlatformPayment.cs +++ b/Adyen/Model/Transfers/PlatformPayment.cs @@ -33,9 +33,9 @@ namespace Adyen.Model.Transfers public partial class PlatformPayment : IEquatable, IValidatableObject { /// - /// The type of the related split. + /// Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/) or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/). Possible values: * **AcquiringFees**: for the acquiring fee incurred on a transaction. * **AdyenCommission**: for the transaction fee due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing). * **AdyenFees**: for all the transaction fees due to Adyen. This is the sum of Adyen's commission and Adyen's markup. * **AdyenMarkup**: for the transaction fee due to Adyen under [Interchange++ pricing](https://www.adyen.com/pricing). * **BalanceAccount**: or the sale amount of a transaction. * **Commission**: for your platform's commission on a transaction. * **Interchange**: for the interchange fee (fee paid to the issuer) incurred on a transaction. * **PaymentFee**: for all of the transaction fees. * **Remainder**: for the left over amount after currency conversion. * **SchemeFee**: for the scheme fee incurred on a transaction. This is the sum of the interchange fees and the acquiring fees. * **Surcharge**: for the surcharge paid by the customer on a transaction. * **Tip**: for the tip paid by the customer. * **TopUp**: for an incoming transfer to top up your user's balance account. * **VAT**: for the Value Added Tax. /// - /// The type of the related split. + /// Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/) or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/). Possible values: * **AcquiringFees**: for the acquiring fee incurred on a transaction. * **AdyenCommission**: for the transaction fee due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing). * **AdyenFees**: for all the transaction fees due to Adyen. This is the sum of Adyen's commission and Adyen's markup. * **AdyenMarkup**: for the transaction fee due to Adyen under [Interchange++ pricing](https://www.adyen.com/pricing). * **BalanceAccount**: or the sale amount of a transaction. * **Commission**: for your platform's commission on a transaction. * **Interchange**: for the interchange fee (fee paid to the issuer) incurred on a transaction. * **PaymentFee**: for all of the transaction fees. * **Remainder**: for the left over amount after currency conversion. * **SchemeFee**: for the scheme fee incurred on a transaction. This is the sum of the interchange fees and the acquiring fees. * **Surcharge**: for the surcharge paid by the customer on a transaction. * **Tip**: for the tip paid by the customer. * **TopUp**: for an incoming transfer to top up your user's balance account. * **VAT**: for the Value Added Tax. [JsonConverter(typeof(StringEnumConverter))] public enum PlatformPaymentTypeEnum { @@ -133,9 +133,9 @@ public enum PlatformPaymentTypeEnum /// - /// The type of the related split. + /// Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/) or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/). Possible values: * **AcquiringFees**: for the acquiring fee incurred on a transaction. * **AdyenCommission**: for the transaction fee due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing). * **AdyenFees**: for all the transaction fees due to Adyen. This is the sum of Adyen's commission and Adyen's markup. * **AdyenMarkup**: for the transaction fee due to Adyen under [Interchange++ pricing](https://www.adyen.com/pricing). * **BalanceAccount**: or the sale amount of a transaction. * **Commission**: for your platform's commission on a transaction. * **Interchange**: for the interchange fee (fee paid to the issuer) incurred on a transaction. * **PaymentFee**: for all of the transaction fees. * **Remainder**: for the left over amount after currency conversion. * **SchemeFee**: for the scheme fee incurred on a transaction. This is the sum of the interchange fees and the acquiring fees. * **Surcharge**: for the surcharge paid by the customer on a transaction. * **Tip**: for the tip paid by the customer. * **TopUp**: for an incoming transfer to top up your user's balance account. * **VAT**: for the Value Added Tax. /// - /// The type of the related split. + /// Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/) or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/). Possible values: * **AcquiringFees**: for the acquiring fee incurred on a transaction. * **AdyenCommission**: for the transaction fee due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing). * **AdyenFees**: for all the transaction fees due to Adyen. This is the sum of Adyen's commission and Adyen's markup. * **AdyenMarkup**: for the transaction fee due to Adyen under [Interchange++ pricing](https://www.adyen.com/pricing). * **BalanceAccount**: or the sale amount of a transaction. * **Commission**: for your platform's commission on a transaction. * **Interchange**: for the interchange fee (fee paid to the issuer) incurred on a transaction. * **PaymentFee**: for all of the transaction fees. * **Remainder**: for the left over amount after currency conversion. * **SchemeFee**: for the scheme fee incurred on a transaction. This is the sum of the interchange fees and the acquiring fees. * **Surcharge**: for the surcharge paid by the customer on a transaction. * **Tip**: for the tip paid by the customer. * **TopUp**: for an incoming transfer to top up your user's balance account. * **VAT**: for the Value Added Tax. [DataMember(Name = "platformPaymentType", EmitDefaultValue = false)] public PlatformPaymentTypeEnum? PlatformPaymentType { get; set; } /// @@ -166,7 +166,7 @@ public enum TypeEnum /// The capture's merchant reference included in the transfer.. /// The capture reference included in the transfer.. /// The payment's merchant reference included in the transfer.. - /// The type of the related split.. + /// Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/) or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/). Possible values: * **AcquiringFees**: for the acquiring fee incurred on a transaction. * **AdyenCommission**: for the transaction fee due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing). * **AdyenFees**: for all the transaction fees due to Adyen. This is the sum of Adyen's commission and Adyen's markup. * **AdyenMarkup**: for the transaction fee due to Adyen under [Interchange++ pricing](https://www.adyen.com/pricing). * **BalanceAccount**: or the sale amount of a transaction. * **Commission**: for your platform's commission on a transaction. * **Interchange**: for the interchange fee (fee paid to the issuer) incurred on a transaction. * **PaymentFee**: for all of the transaction fees. * **Remainder**: for the left over amount after currency conversion. * **SchemeFee**: for the scheme fee incurred on a transaction. This is the sum of the interchange fees and the acquiring fees. * **Surcharge**: for the surcharge paid by the customer on a transaction. * **Tip**: for the tip paid by the customer. * **TopUp**: for an incoming transfer to top up your user's balance account. * **VAT**: for the Value Added Tax.. /// The payment reference included in the transfer.. /// **platformPayment** (default to TypeEnum.PlatformPayment). public PlatformPayment(string modificationMerchantReference = default(string), string modificationPspReference = default(string), string paymentMerchantReference = default(string), PlatformPaymentTypeEnum? platformPaymentType = default(PlatformPaymentTypeEnum?), string pspPaymentReference = default(string), TypeEnum? type = TypeEnum.PlatformPayment) diff --git a/Adyen/Model/Transfers/Transfer.cs b/Adyen/Model/Transfers/Transfer.cs index f49d95ba0..46de51c81 100644 --- a/Adyen/Model/Transfers/Transfer.cs +++ b/Adyen/Model/Transfers/Transfer.cs @@ -33,9 +33,9 @@ namespace Adyen.Model.Transfers public partial class Transfer : IEquatable, IValidatableObject { /// - /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by an Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. + /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account. /// - /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by an Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. + /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account. [JsonConverter(typeof(StringEnumConverter))] public enum CategoryEnum { @@ -67,15 +67,21 @@ public enum CategoryEnum /// Enum PlatformPayment for value: platformPayment /// [EnumMember(Value = "platformPayment")] - PlatformPayment = 5 + PlatformPayment = 5, + + /// + /// Enum TopUp for value: topUp + /// + [EnumMember(Value = "topUp")] + TopUp = 6 } /// - /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by an Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. + /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account. /// - /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by an Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. + /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account. [DataMember(Name = "category", IsRequired = false, EmitDefaultValue = false)] public CategoryEnum Category { get; set; } /// @@ -933,7 +939,7 @@ protected Transfer() { } /// accountHolder. /// amount (required). /// balanceAccount. - /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by an Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. (required). + /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account. (required). /// categoryData. /// counterparty (required). /// The date and time when the event was triggered, in ISO 8601 extended format. For example, **2020-12-18T10:15:30+01:00**.. diff --git a/Adyen/Model/Transfers/TransferData.cs b/Adyen/Model/Transfers/TransferData.cs index 32110f644..c4ae9cbb6 100644 --- a/Adyen/Model/Transfers/TransferData.cs +++ b/Adyen/Model/Transfers/TransferData.cs @@ -33,9 +33,9 @@ namespace Adyen.Model.Transfers public partial class TransferData : IEquatable, IValidatableObject { /// - /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by an Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. + /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account. /// - /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by an Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. + /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account. [JsonConverter(typeof(StringEnumConverter))] public enum CategoryEnum { @@ -67,15 +67,21 @@ public enum CategoryEnum /// Enum PlatformPayment for value: platformPayment /// [EnumMember(Value = "platformPayment")] - PlatformPayment = 5 + PlatformPayment = 5, + + /// + /// Enum TopUp for value: topUp + /// + [EnumMember(Value = "topUp")] + TopUp = 6 } /// - /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by an Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. + /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account. /// - /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by an Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. + /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account. [DataMember(Name = "category", IsRequired = false, EmitDefaultValue = false)] public CategoryEnum Category { get; set; } /// @@ -935,13 +941,14 @@ protected TransferData() { } /// balanceAccount. /// The unique identifier of the balance platform.. /// The list of the latest balance statuses in the transfer.. - /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by an Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. (required). + /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account. (required). /// categoryData. /// counterparty. /// The date and time when the event was triggered, in ISO 8601 extended format. For example, **2020-12-18T10:15:30+01:00**.. /// Your description for the transfer. It is used by most banks as the transfer description. We recommend sending a maximum of 140 characters, otherwise the description may be truncated. Supported characters: **[a-z] [A-Z] [0-9] / - ?** **: ( ) . , ' + Space** Supported characters for **regular** and **fast** transfers to a US counterparty: **[a-z] [A-Z] [0-9] & $ % # @** **~ = + - _ ' \" ! ?**. /// directDebitInformation. /// The direction of the transfer. Possible values: **incoming**, **outgoing**.. + /// The event id listed under events, that triggered the notification.. /// The list of events leading up to the current status of the transfer.. /// The ID of the resource.. /// paymentInstrument. @@ -954,7 +961,7 @@ protected TransferData() { } /// tracking. /// transactionRulesResult. /// The type of transfer or transaction. For example, **refund**, **payment**, **internalTransfer**, **bankTransfer**.. - public TransferData(ResourceReference accountHolder = default(ResourceReference), Amount amount = default(Amount), ResourceReference balanceAccount = default(ResourceReference), string balancePlatform = default(string), List balances = default(List), CategoryEnum category = default(CategoryEnum), TransferCategoryData categoryData = default(TransferCategoryData), TransferNotificationCounterParty counterparty = default(TransferNotificationCounterParty), DateTime creationDate = default(DateTime), string description = default(string), DirectDebitInformation directDebitInformation = default(DirectDebitInformation), DirectionEnum? direction = default(DirectionEnum?), List events = default(List), string id = default(string), PaymentInstrument paymentInstrument = default(PaymentInstrument), ReasonEnum? reason = default(ReasonEnum?), string reference = default(string), string referenceForBeneficiary = default(string), TransferReview review = default(TransferReview), int? sequenceNumber = default(int?), StatusEnum status = default(StatusEnum), TransferDataTracking tracking = default(TransferDataTracking), TransactionRulesResult transactionRulesResult = default(TransactionRulesResult), TypeEnum? type = default(TypeEnum?)) + public TransferData(ResourceReference accountHolder = default(ResourceReference), Amount amount = default(Amount), ResourceReference balanceAccount = default(ResourceReference), string balancePlatform = default(string), List balances = default(List), CategoryEnum category = default(CategoryEnum), TransferCategoryData categoryData = default(TransferCategoryData), TransferNotificationCounterParty counterparty = default(TransferNotificationCounterParty), DateTime creationDate = default(DateTime), string description = default(string), DirectDebitInformation directDebitInformation = default(DirectDebitInformation), DirectionEnum? direction = default(DirectionEnum?), string eventId = default(string), List events = default(List), string id = default(string), PaymentInstrument paymentInstrument = default(PaymentInstrument), ReasonEnum? reason = default(ReasonEnum?), string reference = default(string), string referenceForBeneficiary = default(string), TransferReview review = default(TransferReview), int? sequenceNumber = default(int?), StatusEnum status = default(StatusEnum), TransferDataTracking tracking = default(TransferDataTracking), TransactionRulesResult transactionRulesResult = default(TransactionRulesResult), TypeEnum? type = default(TypeEnum?)) { this.Amount = amount; this.Category = category; @@ -969,6 +976,7 @@ protected TransferData() { } this.Description = description; this.DirectDebitInformation = directDebitInformation; this.Direction = direction; + this.EventId = eventId; this.Events = events; this.Id = id; this.PaymentInstrument = paymentInstrument; @@ -1046,6 +1054,13 @@ protected TransferData() { } [DataMember(Name = "directDebitInformation", EmitDefaultValue = false)] public DirectDebitInformation DirectDebitInformation { get; set; } + /// + /// The event id listed under events, that triggered the notification. + /// + /// The event id listed under events, that triggered the notification. + [DataMember(Name = "eventId", EmitDefaultValue = false)] + public string EventId { get; set; } + /// /// The list of events leading up to the current status of the transfer. /// @@ -1125,6 +1140,7 @@ public override string ToString() sb.Append(" Description: ").Append(Description).Append("\n"); sb.Append(" DirectDebitInformation: ").Append(DirectDebitInformation).Append("\n"); sb.Append(" Direction: ").Append(Direction).Append("\n"); + sb.Append(" EventId: ").Append(EventId).Append("\n"); sb.Append(" Events: ").Append(Events).Append("\n"); sb.Append(" Id: ").Append(Id).Append("\n"); sb.Append(" PaymentInstrument: ").Append(PaymentInstrument).Append("\n"); @@ -1231,6 +1247,11 @@ public bool Equals(TransferData input) this.Direction == input.Direction || this.Direction.Equals(input.Direction) ) && + ( + this.EventId == input.EventId || + (this.EventId != null && + this.EventId.Equals(input.EventId)) + ) && ( this.Events == input.Events || this.Events != null && @@ -1341,6 +1362,10 @@ public override int GetHashCode() hashCode = (hashCode * 59) + this.DirectDebitInformation.GetHashCode(); } hashCode = (hashCode * 59) + this.Direction.GetHashCode(); + if (this.EventId != null) + { + hashCode = (hashCode * 59) + this.EventId.GetHashCode(); + } if (this.Events != null) { hashCode = (hashCode * 59) + this.Events.GetHashCode(); diff --git a/Adyen/Model/Transfers/TransferEvent.cs b/Adyen/Model/Transfers/TransferEvent.cs index 01d24dd28..1769ac2a4 100644 --- a/Adyen/Model/Transfers/TransferEvent.cs +++ b/Adyen/Model/Transfers/TransferEvent.cs @@ -640,6 +640,7 @@ public enum TypeEnum /// Scheme unique arn identifier useful for tracing captures, chargebacks, refunds, etc.. /// The date when the transfer request was sent.. /// The estimated time when the beneficiary should have access to the funds.. + /// A list of event data.. /// externalReason. /// The unique identifier of the transfer event.. /// modification. @@ -652,13 +653,14 @@ public enum TypeEnum /// The type of the transfer event. Possible values: **accounting**, **tracking**.. /// The date when the tracking status was updated.. /// 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)) + public TransferEvent(Amount amount = default(Amount), List amountAdjustments = default(List), string arn = default(string), DateTime bookingDate = default(DateTime), DateTime estimatedArrivalTime = default(DateTime), List eventsData = default(List), 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; this.AmountAdjustments = amountAdjustments; this.Arn = arn; this.BookingDate = bookingDate; this.EstimatedArrivalTime = estimatedArrivalTime; + this.EventsData = eventsData; this.ExternalReason = externalReason; this.Id = id; this.Modification = modification; @@ -707,6 +709,13 @@ public enum TypeEnum [DataMember(Name = "estimatedArrivalTime", EmitDefaultValue = false)] public DateTime EstimatedArrivalTime { get; set; } + /// + /// A list of event data. + /// + /// A list of event data. + [DataMember(Name = "eventsData", EmitDefaultValue = false)] + public List EventsData { get; set; } + /// /// Gets or Sets ExternalReason /// @@ -779,6 +788,7 @@ public override string ToString() sb.Append(" Arn: ").Append(Arn).Append("\n"); sb.Append(" BookingDate: ").Append(BookingDate).Append("\n"); sb.Append(" EstimatedArrivalTime: ").Append(EstimatedArrivalTime).Append("\n"); + sb.Append(" EventsData: ").Append(EventsData).Append("\n"); sb.Append(" ExternalReason: ").Append(ExternalReason).Append("\n"); sb.Append(" Id: ").Append(Id).Append("\n"); sb.Append(" Modification: ").Append(Modification).Append("\n"); @@ -852,6 +862,12 @@ public bool Equals(TransferEvent input) (this.EstimatedArrivalTime != null && this.EstimatedArrivalTime.Equals(input.EstimatedArrivalTime)) ) && + ( + this.EventsData == input.EventsData || + this.EventsData != null && + input.EventsData != null && + this.EventsData.SequenceEqual(input.EventsData) + ) && ( this.ExternalReason == input.ExternalReason || (this.ExternalReason != null && @@ -941,6 +957,10 @@ public override int GetHashCode() { hashCode = (hashCode * 59) + this.EstimatedArrivalTime.GetHashCode(); } + if (this.EventsData != null) + { + hashCode = (hashCode * 59) + this.EventsData.GetHashCode(); + } if (this.ExternalReason != null) { hashCode = (hashCode * 59) + this.ExternalReason.GetHashCode(); diff --git a/Adyen/Model/Transfers/TransferEventEventsDataInner.cs b/Adyen/Model/Transfers/TransferEventEventsDataInner.cs new file mode 100644 index 000000000..4f2beb7dc --- /dev/null +++ b/Adyen/Model/Transfers/TransferEventEventsDataInner.cs @@ -0,0 +1,248 @@ +/* +* Transfers API +* +* +* The version of the OpenAPI document: 4 +* +* 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; +using System.Reflection; + +namespace Adyen.Model.Transfers +{ + /// + /// TransferEventEventsDataInner + /// + [JsonConverter(typeof(TransferEventEventsDataInnerJsonConverter))] + [DataContract(Name = "TransferEvent_eventsData_inner")] + public partial class TransferEventEventsDataInner : AbstractOpenAPISchema, IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class + /// with the class + /// + /// An instance of MerchantPurchaseData. + public TransferEventEventsDataInner(MerchantPurchaseData actualInstance) + { + this.IsNullable = false; + this.SchemaType= "oneOf"; + this.ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null."); + } + + + private Object _actualInstance; + + /// + /// Gets or Sets ActualInstance + /// + public override Object ActualInstance + { + get + { + return _actualInstance; + } + set + { + if (value.GetType() == typeof(MerchantPurchaseData)) + { + this._actualInstance = value; + } + else + { + throw new ArgumentException("Invalid instance found. Must be the following types: MerchantPurchaseData"); + } + } + } + + /// + /// Get the actual instance of `MerchantPurchaseData`. If the actual instance is not `MerchantPurchaseData`, + /// the InvalidClassException will be thrown + /// + /// An instance of MerchantPurchaseData + public MerchantPurchaseData GetMerchantPurchaseData() + { + return (MerchantPurchaseData)this.ActualInstance; + } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class TransferEventEventsDataInner {\n"); + sb.Append(" ActualInstance: ").Append(this.ActualInstance).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public override string ToJson() + { + return JsonConvert.SerializeObject(this.ActualInstance, TransferEventEventsDataInner.SerializerSettings); + } + + /// + /// Converts the JSON string into an instance of TransferEventEventsDataInner + /// + /// JSON string + /// An instance of TransferEventEventsDataInner + public static TransferEventEventsDataInner FromJson(string jsonString) + { + TransferEventEventsDataInner newTransferEventEventsDataInner = null; + + if (string.IsNullOrEmpty(jsonString)) + { + return newTransferEventEventsDataInner; + } + int match = 0; + List matchedTypes = new List(); + JToken typeToken = JObject.Parse(jsonString).GetValue("type"); + string type = typeToken?.Value(); + // Throw exception if jsonString does not contain type param + if (type == null) + { + throw new InvalidDataException("JsonString does not contain required enum type for deserialization."); + } + try + { + // Check if the jsonString type enum matches the MerchantPurchaseData type enums + if (ContainsValue(type)) + { + newTransferEventEventsDataInner = new TransferEventEventsDataInner(JsonConvert.DeserializeObject(jsonString, TransferEventEventsDataInner.SerializerSettings)); + matchedTypes.Add("MerchantPurchaseData"); + match++; + } + } + catch (Exception ex) + { + if (!(ex is JsonSerializationException)) + { + throw new InvalidDataException(string.Format("Failed to deserialize `{0}` into target: {1}", jsonString, ex.ToString())); + } + } + + if (match != 1) + { + throw new InvalidDataException("The JSON string `" + jsonString + "` cannot be deserialized into any schema defined. MatchedTypes are: " + matchedTypes); + } + + // deserialization is considered successful at this point if no exception has been thrown. + return newTransferEventEventsDataInner; + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as TransferEventEventsDataInner); + } + + /// + /// Returns true if TransferEventEventsDataInner instances are equal + /// + /// Instance of TransferEventEventsDataInner to be compared + /// Boolean + public bool Equals(TransferEventEventsDataInner input) + { + if (input == null) + return false; + + return this.ActualInstance.Equals(input.ActualInstance); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.ActualInstance != null) + hashCode = hashCode * 59 + this.ActualInstance.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + + /// + /// Custom JSON converter for TransferEventEventsDataInner + /// + public class TransferEventEventsDataInnerJsonConverter : JsonConverter + { + /// + /// To write the JSON string + /// + /// JSON writer + /// Object to be converted into a JSON string + /// JSON Serializer + public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) + { + writer.WriteRawValue((string)(typeof(TransferEventEventsDataInner).GetMethod("ToJson").Invoke(value, null))); + } + + /// + /// To convert a JSON string into an object + /// + /// JSON reader + /// Object type + /// Existing value + /// JSON Serializer + /// The object converted from the JSON string + public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) + { + if(reader.TokenType != JsonToken.Null) + { + return TransferEventEventsDataInner.FromJson(JObject.Load(reader).ToString(Formatting.None)); + } + return null; + } + + /// + /// Check if the object can be converted + /// + /// Object type + /// True if the object can be converted + public override bool CanConvert(Type objectType) + { + return false; + } + } + +} diff --git a/Adyen/Model/Transfers/TransferInfo.cs b/Adyen/Model/Transfers/TransferInfo.cs index fdbb1160b..a42c994ca 100644 --- a/Adyen/Model/Transfers/TransferInfo.cs +++ b/Adyen/Model/Transfers/TransferInfo.cs @@ -33,9 +33,9 @@ namespace Adyen.Model.Transfers public partial class TransferInfo : IEquatable, IValidatableObject { /// - /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. + /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account. /// - /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. + /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account. [JsonConverter(typeof(StringEnumConverter))] public enum CategoryEnum { @@ -67,15 +67,21 @@ public enum CategoryEnum /// Enum PlatformPayment for value: platformPayment /// [EnumMember(Value = "platformPayment")] - PlatformPayment = 5 + PlatformPayment = 5, + + /// + /// Enum TopUp for value: topUp + /// + [EnumMember(Value = "topUp")] + TopUp = 6 } /// - /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. + /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account. /// - /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. + /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account. [DataMember(Name = "category", IsRequired = false, EmitDefaultValue = false)] public CategoryEnum Category { get; set; } /// @@ -226,7 +232,7 @@ protected TransferInfo() { } /// /// amount (required). /// The unique identifier of the source [balance account](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/balanceAccounts#responses-200-id). If you want to make a transfer using a **virtual** **bankAccount** assigned to the balance account, you must specify the [payment instrument ID](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/paymentInstruments#responses-200-id) of the **virtual** **bankAccount**. If you only specify a balance account ID, Adyen uses the default **physical** **bankAccount** payment instrument assigned to the balance account.. - /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. (required). + /// The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account. (required). /// counterparty (required). /// Your description for the transfer. It is used by most banks as the transfer description. We recommend sending a maximum of 140 characters, otherwise the description may be truncated. Supported characters: **[a-z] [A-Z] [0-9] / - ?** **: ( ) . , ' + Space** Supported characters for **regular** and **fast** transfers to a US counterparty: **[a-z] [A-Z] [0-9] & $ % # @** **~ = + - _ ' \" ! ?**. /// The unique identifier of the source [payment instrument](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/paymentInstruments#responses-200-id). If you want to make a transfer using a **virtual** **bankAccount**, you must specify the payment instrument ID of the **virtual** **bankAccount**. If you only specify a balance account ID, Adyen uses the default **physical** **bankAccount** payment instrument assigned to the balance account.. diff --git a/Adyen/Service/LegalEntityManagement/PCIQuestionnairesService.cs b/Adyen/Service/LegalEntityManagement/PCIQuestionnairesService.cs index 08b732ee5..dc818a201 100644 --- a/Adyen/Service/LegalEntityManagement/PCIQuestionnairesService.cs +++ b/Adyen/Service/LegalEntityManagement/PCIQuestionnairesService.cs @@ -24,6 +24,25 @@ namespace Adyen.Service.LegalEntityManagement /// public interface IPCIQuestionnairesService { + /// + /// Calculate PCI status of a legal entity + /// + /// - The unique identifier of the legal entity to calculate PCI status. + /// - + /// - Additional request options. + /// . + Model.LegalEntityManagement.CalculatePciStatusResponse CalculatePciStatusOfLegalEntity(string id, CalculatePciStatusRequest calculatePciStatusRequest = default, RequestOptions requestOptions = default); + + /// + /// Calculate PCI status of a legal entity + /// + /// - The unique identifier of the legal entity to calculate PCI status. + /// - + /// - Additional request options. + /// A CancellationToken enables cooperative cancellation between threads, thread pool work items, or Task objects. + /// Task of . + Task CalculatePciStatusOfLegalEntityAsync(string id, CalculatePciStatusRequest calculatePciStatusRequest = default, RequestOptions requestOptions = default, CancellationToken cancellationToken = default); + /// /// Generate PCI questionnaire /// @@ -112,6 +131,18 @@ public PCIQuestionnairesService(Client client) : base(client) _baseUrl = CreateBaseUrl("https://kyc-test.adyen.com/lem/v3"); } + public Model.LegalEntityManagement.CalculatePciStatusResponse CalculatePciStatusOfLegalEntity(string id, CalculatePciStatusRequest calculatePciStatusRequest = default, RequestOptions requestOptions = default) + { + return CalculatePciStatusOfLegalEntityAsync(id, calculatePciStatusRequest, requestOptions).ConfigureAwait(false).GetAwaiter().GetResult(); + } + + public async Task CalculatePciStatusOfLegalEntityAsync(string id, CalculatePciStatusRequest calculatePciStatusRequest = default, RequestOptions requestOptions = default, CancellationToken cancellationToken = default) + { + var endpoint = _baseUrl + $"/legalEntities/{id}/pciQuestionnaires/signingRequired"; + var resource = new ServiceResource(this, endpoint); + return await resource.RequestAsync(calculatePciStatusRequest.ToJson(), requestOptions, new HttpMethod("POST"), cancellationToken).ConfigureAwait(false); + } + public Model.LegalEntityManagement.GeneratePciDescriptionResponse GeneratePciQuestionnaire(string id, GeneratePciDescriptionRequest generatePciDescriptionRequest = default, RequestOptions requestOptions = default) { return GeneratePciQuestionnaireAsync(id, generatePciDescriptionRequest, requestOptions).ConfigureAwait(false).GetAwaiter().GetResult();