Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 27 additions & 2 deletions Adyen/Payment/Models/ResponseAdditionalDataCard.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ public partial class ResponseAdditionalDataCard
/// <summary>
/// Initializes a new instance of the <see cref="ResponseAdditionalDataCard" /> class.
/// </summary>
/// <param name="cardAltID">This is an ALT ID (alternate ID) mapped to the Card PAN. &gt; Returned only in case of Ecommerce Card Payment in India</param>
/// <param name="cardBin">The first six digits of the card number. 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 a six-digit BIN. Example: 521234</param>
/// <param name="cardHolderName">The cardholder name passed in the payment request.</param>
/// <param name="cardIssuingBank">The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.</param>
Expand All @@ -44,8 +45,9 @@ public partial class ResponseAdditionalDataCard
/// <param name="cardSummary">The last four digits of a card number. &gt; Returned only in case of a card payment.</param>
/// <param name="issuerBin">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</param>
[JsonConstructor]
public ResponseAdditionalDataCard(Option<string?> cardBin = default, Option<string?> cardHolderName = default, Option<string?> cardIssuingBank = default, Option<string?> cardIssuingCountry = default, Option<string?> cardIssuingCurrency = default, Option<string?> cardPaymentMethod = default, Option<CardProductIdEnum?> cardProductId = default, Option<string?> cardSummary = default, Option<string?> issuerBin = default)
public ResponseAdditionalDataCard(Option<string?> cardAltID = default, Option<string?> cardBin = default, Option<string?> cardHolderName = default, Option<string?> cardIssuingBank = default, Option<string?> cardIssuingCountry = default, Option<string?> cardIssuingCurrency = default, Option<string?> cardPaymentMethod = default, Option<CardProductIdEnum?> cardProductId = default, Option<string?> cardSummary = default, Option<string?> issuerBin = default)
{
_CardAltIDOption = cardAltID;
_CardBinOption = cardBin;
_CardHolderNameOption = cardHolderName;
_CardIssuingBankOption = cardIssuingBank;
Expand Down Expand Up @@ -265,6 +267,20 @@ public override void Write(Utf8JsonWriter writer, CardProductIdEnum value, JsonS
[JsonPropertyName("cardProductId")]
public CardProductIdEnum? CardProductId { get { return this._CardProductIdOption; } set { this._CardProductIdOption = new(value); } }

/// <summary>
/// This is used to track if an optional field is set. If set, <see cref="CardAltID"/> will be populated.
/// </summary>
[JsonIgnore]
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
public Option<string?> _CardAltIDOption { get; private set; }

/// <summary>
/// This is an ALT ID (alternate ID) mapped to the Card PAN. &gt; Returned only in case of Ecommerce Card Payment in India
/// </summary>
/// <value>This is an ALT ID (alternate ID) mapped to the Card PAN. > Returned only in case of Ecommerce Card Payment in India</value>
[JsonPropertyName("cardAltID")]
public string? CardAltID { get { return this._CardAltIDOption; } set { this._CardAltIDOption = new(value); } }

/// <summary>
/// This is used to track if an optional field is set. If set, <see cref="CardBin"/> will be populated.
/// </summary>
Expand Down Expand Up @@ -385,6 +401,7 @@ public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class ResponseAdditionalDataCard {\n");
sb.Append(" CardAltID: ").Append(CardAltID).Append("\n");
sb.Append(" CardBin: ").Append(CardBin).Append("\n");
sb.Append(" CardHolderName: ").Append(CardHolderName).Append("\n");
sb.Append(" CardIssuingBank: ").Append(CardIssuingBank).Append("\n");
Expand Down Expand Up @@ -421,6 +438,7 @@ public override ResponseAdditionalDataCard Read(ref Utf8JsonReader utf8JsonReade

JsonTokenType startingTokenType = utf8JsonReader.TokenType;

Option<string?> cardAltID = default;
Option<string?> cardBin = default;
Option<string?> cardHolderName = default;
Option<string?> cardIssuingBank = default;
Expand All @@ -446,6 +464,9 @@ public override ResponseAdditionalDataCard Read(ref Utf8JsonReader utf8JsonReade

switch (jsonPropertyName)
{
case "cardAltID":
cardAltID = new Option<string?>(utf8JsonReader.GetString()!);
break;
case "cardBin":
cardBin = new Option<string?>(utf8JsonReader.GetString()!);
break;
Expand Down Expand Up @@ -481,7 +502,7 @@ public override ResponseAdditionalDataCard Read(ref Utf8JsonReader utf8JsonReade
}


return new ResponseAdditionalDataCard(cardBin, cardHolderName, cardIssuingBank, cardIssuingCountry, cardIssuingCurrency, cardPaymentMethod, cardProductId, cardSummary, issuerBin);
return new ResponseAdditionalDataCard(cardAltID, cardBin, cardHolderName, cardIssuingBank, cardIssuingCountry, cardIssuingCurrency, cardPaymentMethod, cardProductId, cardSummary, issuerBin);
}

/// <summary>
Expand Down Expand Up @@ -510,6 +531,10 @@ public override void Write(Utf8JsonWriter writer, ResponseAdditionalDataCard res
public void WriteProperties(Utf8JsonWriter writer, ResponseAdditionalDataCard responseAdditionalDataCard, JsonSerializerOptions jsonSerializerOptions)
{

if (responseAdditionalDataCard._CardAltIDOption.IsSet)
if (responseAdditionalDataCard.CardAltID != null)
writer.WriteString("cardAltID", responseAdditionalDataCard.CardAltID);

Comment on lines +534 to +537
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The nested if statements can be combined into a single condition for better readability and conciseness. Using braces also improves code clarity and prevents potential issues if more statements are added later. Since this is generated code, this might be an improvement to apply to the code generator template.

            if (responseAdditionalDataCard._CardAltIDOption.IsSet && responseAdditionalDataCard.CardAltID != null)
            {
                writer.WriteString("cardAltID", responseAdditionalDataCard.CardAltID);
            }

if (responseAdditionalDataCard._CardBinOption.IsSet)
if (responseAdditionalDataCard.CardBin != null)
writer.WriteString("cardBin", responseAdditionalDataCard.CardBin);
Expand Down
Loading
Loading