/// <summary>
 /// Initializes a new instance of the <see cref="PaymentCardSaleTransaction" /> class.
 /// </summary>
 /// <param name="paymentMethod">paymentMethod (required).</param>
 /// <param name="storedCredentials">storedCredentials.</param>
 /// <param name="settlementSplit">Settle with multiple sub-merchants, sale and preAuth only..</param>
 /// <param name="createToken">createToken.</param>
 /// <param name="currencyConversion">currencyConversion.</param>
 /// <param name="authenticationRequest">authenticationRequest.</param>
 /// <param name="authenticationResult">authenticationResult.</param>
 /// <param name="requestType">Object name of the primary transaction request. (required).</param>
 /// <param name="transactionAmount">transactionAmount (required).</param>
 /// <param name="storeId">An optional outlet ID for clients that support multiple stores in the same app..</param>
 /// <param name="merchantTransactionId">The unique merchant transaction ID from the request header, if supplied..</param>
 /// <param name="transactionOrigin">transactionOrigin.</param>
 /// <param name="order">order.</param>
 public PaymentCardSaleTransaction(PaymentCardPaymentMethod paymentMethod = default(PaymentCardPaymentMethod), StoredCredential storedCredentials = default(StoredCredential), List <SubMerchantSplit> settlementSplit = default(List <SubMerchantSplit>), CreatePaymentToken createToken = default(CreatePaymentToken), CurrencyConversion currencyConversion = default(CurrencyConversion), AuthenticationRequest authenticationRequest = default(AuthenticationRequest), AuthenticationResult authenticationResult = default(AuthenticationResult), string requestType = default(string), Amount transactionAmount = default(Amount), string storeId = default(string), string merchantTransactionId = default(string), TransactionOrigin?transactionOrigin = null, Order order = default(Order)) : base(requestType, transactionAmount, storeId, merchantTransactionId, transactionOrigin, order)
 {
     // to ensure "paymentMethod" is required (not null)
     this.PaymentMethod         = paymentMethod ?? throw new ArgumentNullException("paymentMethod is a required property for PaymentCardSaleTransaction and cannot be null");
     this.StoredCredentials     = storedCredentials;
     this.SettlementSplit       = settlementSplit;
     this.CreateToken           = createToken;
     this.CurrencyConversion    = currencyConversion;
     this.AuthenticationRequest = authenticationRequest;
     this.AuthenticationResult  = authenticationResult;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="PaymentCardPayerAuthTransaction" /> class.
 /// </summary>
 /// <param name="paymentMethod">paymentMethod (required).</param>
 /// <param name="currencyConversion">currencyConversion.</param>
 /// <param name="authenticationRequest">authenticationRequest.</param>
 /// <param name="authenticationResult">authenticationResult.</param>
 /// <param name="requestType">Object name of the primary transaction request. (required) (default to &quot;PaymentCardPayerAuthTransaction&quot;).</param>
 /// <param name="transactionAmount">transactionAmount (required).</param>
 /// <param name="storeId">An optional outlet ID for clients that support multiple stores in the same app..</param>
 /// <param name="merchantTransactionId">The unique merchant transaction ID from the request header, if supplied..</param>
 /// <param name="transactionOrigin">transactionOrigin.</param>
 /// <param name="order">order.</param>
 /// <param name="ipgTransactionId">The IPG transactionId to reference a payerauth for example..</param>
 /// <param name="allowPartialApproval">Indicates if the particular transaction is a partial approval transaction, if supplied..</param>
 public PaymentCardPayerAuthTransaction(PaymentCardPaymentMethod paymentMethod = default(PaymentCardPaymentMethod), CurrencyConversion currencyConversion = default(CurrencyConversion), AuthenticationRequest authenticationRequest = default(AuthenticationRequest), AuthenticationResult authenticationResult = default(AuthenticationResult), string requestType = "PaymentCardPayerAuthTransaction", Amount transactionAmount = default(Amount), string storeId = default(string), string merchantTransactionId = default(string), TransactionOrigin?transactionOrigin = default(TransactionOrigin?), Order order = default(Order), long?ipgTransactionId = default(long?), bool allowPartialApproval = default(bool)) : base(requestType, transactionAmount, storeId, merchantTransactionId, transactionOrigin, order, ipgTransactionId, allowPartialApproval)
 {
     // to ensure "paymentMethod" is required (not null)
     this.PaymentMethod         = paymentMethod ?? throw new ArgumentNullException("paymentMethod is a required property for PaymentCardPayerAuthTransaction and cannot be null");
     this.CurrencyConversion    = currencyConversion;
     this.AuthenticationRequest = authenticationRequest;
     this.AuthenticationResult  = authenticationResult;
 }