diff --git a/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/ApplePayPaymentRequest.cs b/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/ApplePayPaymentRequest.cs index e81d3395..6da81fa7 100644 --- a/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/ApplePayPaymentRequest.cs +++ b/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/ApplePayPaymentRequest.cs @@ -1,10 +1,17 @@ -namespace Mollie.Api.Models.Payment.Request.PaymentSpecificParameters { +using System.Diagnostics.CodeAnalysis; + +namespace Mollie.Api.Models.Payment.Request.PaymentSpecificParameters { public record ApplePayPaymentRequest : PaymentRequest { public ApplePayPaymentRequest() { Method = PaymentMethod.ApplePay; } + [SetsRequiredMembers] + public ApplePayPaymentRequest(PaymentRequest paymentRequest) : base(paymentRequest) { + Method = PaymentMethod.ApplePay; + } + /// /// Optional - The Apple Pay Payment Token object (encoded as JSON) that is part of the result of authorizing a payment /// request. The token contains the payment information needed to authorize the payment. diff --git a/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/BankTransferPaymentRequest.cs b/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/BankTransferPaymentRequest.cs index d4959b54..51cb56c0 100644 --- a/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/BankTransferPaymentRequest.cs +++ b/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/BankTransferPaymentRequest.cs @@ -1,9 +1,16 @@ +using System.Diagnostics.CodeAnalysis; + namespace Mollie.Api.Models.Payment.Request.PaymentSpecificParameters { public record BankTransferPaymentRequest : PaymentRequest { public BankTransferPaymentRequest() { Method = PaymentMethod.BankTransfer; } + [SetsRequiredMembers] + public BankTransferPaymentRequest(PaymentRequest paymentRequest) : base(paymentRequest) { + Method = PaymentMethod.BankTransfer; + } + /// /// Optional - Consumer's e-mail address, to automatically send the bank transfer details to. Please note: the payment /// instructions will be sent immediately when creating the payment. if you don't specify the locale parameter, the diff --git a/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/CreditCardPaymentRequest.cs b/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/CreditCardPaymentRequest.cs index b60af7d2..1bf27c1e 100644 --- a/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/CreditCardPaymentRequest.cs +++ b/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/CreditCardPaymentRequest.cs @@ -1,9 +1,16 @@ +using System.Diagnostics.CodeAnalysis; + namespace Mollie.Api.Models.Payment.Request.PaymentSpecificParameters { public record CreditCardPaymentRequest : PaymentRequest { public CreditCardPaymentRequest() { Method = PaymentMethod.CreditCard; } + [SetsRequiredMembers] + public CreditCardPaymentRequest(PaymentRequest paymentRequest) : base(paymentRequest) { + Method = PaymentMethod.CreditCard; + } + /// /// The card holder�s address details. We advise to provide these details to improve the credit card /// fraud protection, and thus improve conversion. diff --git a/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/GiftcardPaymentRequest.cs b/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/GiftcardPaymentRequest.cs index 235a21a1..0120d691 100644 --- a/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/GiftcardPaymentRequest.cs +++ b/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/GiftcardPaymentRequest.cs @@ -1,9 +1,16 @@ -namespace Mollie.Api.Models.Payment.Request.PaymentSpecificParameters { +using System.Diagnostics.CodeAnalysis; + +namespace Mollie.Api.Models.Payment.Request.PaymentSpecificParameters { public record GiftcardPaymentRequest : PaymentRequest { public GiftcardPaymentRequest() { Method = PaymentMethod.GiftCard; } + [SetsRequiredMembers] + public GiftcardPaymentRequest(PaymentRequest paymentRequest) : base(paymentRequest) { + Method = PaymentMethod.GiftCard; + } + /// /// The gift card brand to use for the payment. These issuers are not dynamically available through the Issuers API, /// but can be retrieved by using the issuers include in the Methods API. If you need a brand not in the list, contact diff --git a/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/IDealPaymentRequest.cs b/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/IDealPaymentRequest.cs index a6926a2e..d00e5d43 100644 --- a/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/IDealPaymentRequest.cs +++ b/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/IDealPaymentRequest.cs @@ -1,9 +1,16 @@ +using System.Diagnostics.CodeAnalysis; + namespace Mollie.Api.Models.Payment.Request.PaymentSpecificParameters { public record IdealPaymentRequest : PaymentRequest { public IdealPaymentRequest() { Method = PaymentMethod.Ideal; } + [SetsRequiredMembers] + public IdealPaymentRequest(PaymentRequest paymentRequest) : base(paymentRequest) { + Method = PaymentMethod.Ideal; + } + /// /// (Optional) iDEAL issuer id. The id could for example be ideal_INGBNL2A. The returned paymentUrl will then directly /// point to the ING web site. diff --git a/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/KbcPaymentRequest.cs b/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/KbcPaymentRequest.cs index 092a7375..617146f1 100644 --- a/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/KbcPaymentRequest.cs +++ b/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/KbcPaymentRequest.cs @@ -1,9 +1,16 @@ -namespace Mollie.Api.Models.Payment.Request.PaymentSpecificParameters { +using System.Diagnostics.CodeAnalysis; + +namespace Mollie.Api.Models.Payment.Request.PaymentSpecificParameters { public record KbcPaymentRequest : PaymentRequest { public KbcPaymentRequest() { Method = PaymentMethod.Kbc; } + [SetsRequiredMembers] + public KbcPaymentRequest(PaymentRequest paymentRequest) : base(paymentRequest) { + Method = PaymentMethod.Kbc; + } + /// /// The issuer to use for the KBC/CBC payment. These issuers are not dynamically available through the Issuers API, /// but can be retrieved by using the issuers include in the Methods API. See the Mollie.Api.Models.Payment.Request.KbcIssuer diff --git a/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/PayPalPaymentRequest.cs b/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/PayPalPaymentRequest.cs index 204f19e1..334374d3 100644 --- a/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/PayPalPaymentRequest.cs +++ b/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/PayPalPaymentRequest.cs @@ -1,9 +1,16 @@ +using System.Diagnostics.CodeAnalysis; + namespace Mollie.Api.Models.Payment.Request.PaymentSpecificParameters { public record PayPalPaymentRequest : PaymentRequest { public PayPalPaymentRequest() { Method = PaymentMethod.PayPal; } + [SetsRequiredMembers] + public PayPalPaymentRequest(PaymentRequest paymentRequest) : base(paymentRequest) { + Method = PaymentMethod.PayPal; + } + /// /// The shipping address details. We advise to provide these details to improve PayPal�s fraud protection, /// and thus improve conversion. diff --git a/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/PaySafeCardPaymentRequest.cs b/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/PaySafeCardPaymentRequest.cs index cc596b2e..0f24ae36 100644 --- a/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/PaySafeCardPaymentRequest.cs +++ b/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/PaySafeCardPaymentRequest.cs @@ -1,9 +1,16 @@ -namespace Mollie.Api.Models.Payment.Request.PaymentSpecificParameters { +using System.Diagnostics.CodeAnalysis; + +namespace Mollie.Api.Models.Payment.Request.PaymentSpecificParameters { public record PaySafeCardPaymentRequest : PaymentRequest { public PaySafeCardPaymentRequest() { Method = PaymentMethod.PaySafeCard; } + [SetsRequiredMembers] + public PaySafeCardPaymentRequest(PaymentRequest paymentRequest) : base(paymentRequest) { + Method = PaymentMethod.PaySafeCard; + } + /// /// Used for consumer identification. For example, you could use the consumer’s IP address. /// diff --git a/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/Przelewy24PaymentRequest.cs b/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/Przelewy24PaymentRequest.cs index b9c4a734..96a8280c 100644 --- a/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/Przelewy24PaymentRequest.cs +++ b/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/Przelewy24PaymentRequest.cs @@ -1,3 +1,5 @@ +using System.Diagnostics.CodeAnalysis; + namespace Mollie.Api.Models.Payment.Request.PaymentSpecificParameters { public record Przelewy24PaymentRequest : PaymentRequest @@ -7,6 +9,11 @@ public Przelewy24PaymentRequest() Method = PaymentMethod.Przelewy24; } + [SetsRequiredMembers] + public Przelewy24PaymentRequest(PaymentRequest paymentRequest) : base(paymentRequest) { + Method = PaymentMethod.Przelewy24; + } + /// /// Consumer�s email address, this is required for Przelewy24 payments. /// diff --git a/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/SepaDirectDebitRequest.cs b/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/SepaDirectDebitRequest.cs index 77a0ff0e..6c1dc71a 100644 --- a/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/SepaDirectDebitRequest.cs +++ b/src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/SepaDirectDebitRequest.cs @@ -1,9 +1,16 @@ +using System.Diagnostics.CodeAnalysis; + namespace Mollie.Api.Models.Payment.Request.PaymentSpecificParameters { public record SepaDirectDebitRequest : PaymentRequest { public SepaDirectDebitRequest() { Method = PaymentMethod.DirectDebit; } + [SetsRequiredMembers] + public SepaDirectDebitRequest(PaymentRequest paymentRequest) : base(paymentRequest) { + Method = PaymentMethod.DirectDebit; + } + /// /// Optional - Beneficiary name of the account holder. ///