All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.GBSEcom.model.PaymentSchedulesRequest Maven / Gradle / Ivy

/*
 * Payment Gateway API Specification.
 * The documentation here is designed to provide all of the technical guidance required to consume and integrate with our APIs for payment processing. To learn more about our APIs please visit https://docs.firstdata.com/org/gateway.
 *
 * The version of the OpenAPI document: 21.2.0.20210406.001
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.github.GBSEcom.model;

import java.util.Objects;
import java.util.Arrays;
import com.github.GBSEcom.model.Amount;
import com.github.GBSEcom.model.Billing;
import com.github.GBSEcom.model.ClientLocale;
import com.github.GBSEcom.model.Frequency;
import com.github.GBSEcom.model.Shipping;
import com.github.GBSEcom.model.TransactionOrigin;
import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.IOException;
import java.time.LocalDate;

/**
 * Request to create a gateway schedule. Abstract class, do not use this class directly, use one of its children.
 */
@ApiModel(description = "Request to create a gateway schedule. Abstract class, do not use this class directly, use one of its children.")


public class PaymentSchedulesRequest {
  public static final String SERIALIZED_NAME_REQUEST_TYPE = "requestType";
  @SerializedName(SERIALIZED_NAME_REQUEST_TYPE)
  private String requestType;

  public static final String SERIALIZED_NAME_STORE_ID = "storeId";
  @SerializedName(SERIALIZED_NAME_STORE_ID)
  private String storeId;

  public static final String SERIALIZED_NAME_START_DATE = "startDate";
  @SerializedName(SERIALIZED_NAME_START_DATE)
  private LocalDate startDate;

  public static final String SERIALIZED_NAME_NUMBER_OF_PAYMENTS = "numberOfPayments";
  @SerializedName(SERIALIZED_NAME_NUMBER_OF_PAYMENTS)
  private Integer numberOfPayments;

  public static final String SERIALIZED_NAME_MAXIMUM_FAILURES = "maximumFailures";
  @SerializedName(SERIALIZED_NAME_MAXIMUM_FAILURES)
  private Integer maximumFailures;

  public static final String SERIALIZED_NAME_INVOICE_NUMBER = "invoiceNumber";
  @SerializedName(SERIALIZED_NAME_INVOICE_NUMBER)
  private String invoiceNumber;

  public static final String SERIALIZED_NAME_PURCHASE_ORDER_NUMBER = "purchaseOrderNumber";
  @SerializedName(SERIALIZED_NAME_PURCHASE_ORDER_NUMBER)
  private String purchaseOrderNumber;

  public static final String SERIALIZED_NAME_TRANSACTION_ORIGIN = "transactionOrigin";
  @SerializedName(SERIALIZED_NAME_TRANSACTION_ORIGIN)
  private TransactionOrigin transactionOrigin;

  public static final String SERIALIZED_NAME_DYNAMIC_MERCHANT_NAME = "dynamicMerchantName";
  @SerializedName(SERIALIZED_NAME_DYNAMIC_MERCHANT_NAME)
  private String dynamicMerchantName;

  public static final String SERIALIZED_NAME_FREQUENCY = "frequency";
  @SerializedName(SERIALIZED_NAME_FREQUENCY)
  private Frequency frequency;

  public static final String SERIALIZED_NAME_TRANSACTION_AMOUNT = "transactionAmount";
  @SerializedName(SERIALIZED_NAME_TRANSACTION_AMOUNT)
  private Amount transactionAmount;

  public static final String SERIALIZED_NAME_CLIENT_LOCALE = "clientLocale";
  @SerializedName(SERIALIZED_NAME_CLIENT_LOCALE)
  private ClientLocale clientLocale;

  public static final String SERIALIZED_NAME_ORDER_ID = "orderId";
  @SerializedName(SERIALIZED_NAME_ORDER_ID)
  private String orderId;

  public static final String SERIALIZED_NAME_BILLING = "billing";
  @SerializedName(SERIALIZED_NAME_BILLING)
  private Billing billing;

  public static final String SERIALIZED_NAME_SHIPPING = "shipping";
  @SerializedName(SERIALIZED_NAME_SHIPPING)
  private Shipping shipping;

  public static final String SERIALIZED_NAME_COMMENTS = "comments";
  @SerializedName(SERIALIZED_NAME_COMMENTS)
  private String comments;

  public PaymentSchedulesRequest() {
    this.requestType = this.getClass().getSimpleName();
  }

  public PaymentSchedulesRequest requestType(String requestType) {
    
    this.requestType = requestType;
    return this;
  }

   /**
   * Object name of the payment schedules request.
   * @return requestType
  **/
  @ApiModelProperty(example = "PaymentMethodPaymentSchedulesRequest", required = true, value = "Object name of the payment schedules request.")

  public String getRequestType() {
    return requestType;
  }



  public void setRequestType(String requestType) {
    this.requestType = requestType;
  }


  public PaymentSchedulesRequest storeId(String storeId) {
    
    this.storeId = storeId;
    return this;
  }

   /**
   * Store ID number.
   * @return storeId
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "1109959991", value = "Store ID number.")

  public String getStoreId() {
    return storeId;
  }



  public void setStoreId(String storeId) {
    this.storeId = storeId;
  }


  public PaymentSchedulesRequest startDate(LocalDate startDate) {
    
    this.startDate = startDate;
    return this;
  }

   /**
   * Date of mandate signature.
   * @return startDate
  **/
  @ApiModelProperty(example = "Wed Oct 24 20:00:00 EDT 2018", required = true, value = "Date of mandate signature.")

  public LocalDate getStartDate() {
    return startDate;
  }



  public void setStartDate(LocalDate startDate) {
    this.startDate = startDate;
  }


  public PaymentSchedulesRequest numberOfPayments(Integer numberOfPayments) {
    
    this.numberOfPayments = numberOfPayments;
    return this;
  }

   /**
   * Number of times the recurring payment will process.
   * minimum: 1
   * maximum: 999
   * @return numberOfPayments
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "10", value = "Number of times the recurring payment will process.")

  public Integer getNumberOfPayments() {
    return numberOfPayments;
  }



  public void setNumberOfPayments(Integer numberOfPayments) {
    this.numberOfPayments = numberOfPayments;
  }


  public PaymentSchedulesRequest maximumFailures(Integer maximumFailures) {
    
    this.maximumFailures = maximumFailures;
    return this;
  }

   /**
   * Number of failures that can be encountered before re-tries cease.
   * minimum: 1
   * maximum: 999
   * @return maximumFailures
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "1", value = "Number of failures that can be encountered before re-tries cease.")

  public Integer getMaximumFailures() {
    return maximumFailures;
  }



  public void setMaximumFailures(Integer maximumFailures) {
    this.maximumFailures = maximumFailures;
  }


  public PaymentSchedulesRequest invoiceNumber(String invoiceNumber) {
    
    this.invoiceNumber = invoiceNumber;
    return this;
  }

   /**
   * Invoice number.
   * @return invoiceNumber
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "96126098", value = "Invoice number.")

  public String getInvoiceNumber() {
    return invoiceNumber;
  }



  public void setInvoiceNumber(String invoiceNumber) {
    this.invoiceNumber = invoiceNumber;
  }


  public PaymentSchedulesRequest purchaseOrderNumber(String purchaseOrderNumber) {
    
    this.purchaseOrderNumber = purchaseOrderNumber;
    return this;
  }

   /**
   * Purchase order number.
   * @return purchaseOrderNumber
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "123055342", value = "Purchase order number.")

  public String getPurchaseOrderNumber() {
    return purchaseOrderNumber;
  }



  public void setPurchaseOrderNumber(String purchaseOrderNumber) {
    this.purchaseOrderNumber = purchaseOrderNumber;
  }


  public PaymentSchedulesRequest transactionOrigin(TransactionOrigin transactionOrigin) {
    
    this.transactionOrigin = transactionOrigin;
    return this;
  }

   /**
   * Get transactionOrigin
   * @return transactionOrigin
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public TransactionOrigin getTransactionOrigin() {
    return transactionOrigin;
  }



  public void setTransactionOrigin(TransactionOrigin transactionOrigin) {
    this.transactionOrigin = transactionOrigin;
  }


  public PaymentSchedulesRequest dynamicMerchantName(String dynamicMerchantName) {
    
    this.dynamicMerchantName = dynamicMerchantName;
    return this;
  }

   /**
   * Dynamic merchant name for the cardholder's statement.
   * @return dynamicMerchantName
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "MyWebsite", value = "Dynamic merchant name for the cardholder's statement.")

  public String getDynamicMerchantName() {
    return dynamicMerchantName;
  }



  public void setDynamicMerchantName(String dynamicMerchantName) {
    this.dynamicMerchantName = dynamicMerchantName;
  }


  public PaymentSchedulesRequest frequency(Frequency frequency) {
    
    this.frequency = frequency;
    return this;
  }

   /**
   * Get frequency
   * @return frequency
  **/
  @ApiModelProperty(required = true, value = "")

  public Frequency getFrequency() {
    return frequency;
  }



  public void setFrequency(Frequency frequency) {
    this.frequency = frequency;
  }


  public PaymentSchedulesRequest transactionAmount(Amount transactionAmount) {
    
    this.transactionAmount = transactionAmount;
    return this;
  }

   /**
   * Get transactionAmount
   * @return transactionAmount
  **/
  @ApiModelProperty(required = true, value = "")

  public Amount getTransactionAmount() {
    return transactionAmount;
  }



  public void setTransactionAmount(Amount transactionAmount) {
    this.transactionAmount = transactionAmount;
  }


  public PaymentSchedulesRequest clientLocale(ClientLocale clientLocale) {
    
    this.clientLocale = clientLocale;
    return this;
  }

   /**
   * Get clientLocale
   * @return clientLocale
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public ClientLocale getClientLocale() {
    return clientLocale;
  }



  public void setClientLocale(ClientLocale clientLocale) {
    this.clientLocale = clientLocale;
  }


  public PaymentSchedulesRequest orderId(String orderId) {
    
    this.orderId = orderId;
    return this;
  }

   /**
   * Note - Client Order ID if supplied by client. If not supplied by client, IPG will generate. The first 12 alphanumeric digits are passed down to Fiserv Enterprise reporting tool, Clientline and Data File Manager (DFM).
   * @return orderId
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "123456", value = "Note - Client Order ID if supplied by client. If not supplied by client, IPG will generate. The first 12 alphanumeric digits are passed down to Fiserv Enterprise reporting tool, Clientline and Data File Manager (DFM).")

  public String getOrderId() {
    return orderId;
  }



  public void setOrderId(String orderId) {
    this.orderId = orderId;
  }


  public PaymentSchedulesRequest billing(Billing billing) {
    
    this.billing = billing;
    return this;
  }

   /**
   * Get billing
   * @return billing
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public Billing getBilling() {
    return billing;
  }



  public void setBilling(Billing billing) {
    this.billing = billing;
  }


  public PaymentSchedulesRequest shipping(Shipping shipping) {
    
    this.shipping = shipping;
    return this;
  }

   /**
   * Get shipping
   * @return shipping
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public Shipping getShipping() {
    return shipping;
  }



  public void setShipping(Shipping shipping) {
    this.shipping = shipping;
  }


  public PaymentSchedulesRequest comments(String comments) {
    
    this.comments = comments;
    return this;
  }

   /**
   * User supplied comments.
   * @return comments
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "This scheduled payment series is to pay for the thing.", value = "User supplied comments.")

  public String getComments() {
    return comments;
  }



  public void setComments(String comments) {
    this.comments = comments;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    PaymentSchedulesRequest paymentSchedulesRequest = (PaymentSchedulesRequest) o;
    return Objects.equals(this.requestType, paymentSchedulesRequest.requestType) &&
        Objects.equals(this.storeId, paymentSchedulesRequest.storeId) &&
        Objects.equals(this.startDate, paymentSchedulesRequest.startDate) &&
        Objects.equals(this.numberOfPayments, paymentSchedulesRequest.numberOfPayments) &&
        Objects.equals(this.maximumFailures, paymentSchedulesRequest.maximumFailures) &&
        Objects.equals(this.invoiceNumber, paymentSchedulesRequest.invoiceNumber) &&
        Objects.equals(this.purchaseOrderNumber, paymentSchedulesRequest.purchaseOrderNumber) &&
        Objects.equals(this.transactionOrigin, paymentSchedulesRequest.transactionOrigin) &&
        Objects.equals(this.dynamicMerchantName, paymentSchedulesRequest.dynamicMerchantName) &&
        Objects.equals(this.frequency, paymentSchedulesRequest.frequency) &&
        Objects.equals(this.transactionAmount, paymentSchedulesRequest.transactionAmount) &&
        Objects.equals(this.clientLocale, paymentSchedulesRequest.clientLocale) &&
        Objects.equals(this.orderId, paymentSchedulesRequest.orderId) &&
        Objects.equals(this.billing, paymentSchedulesRequest.billing) &&
        Objects.equals(this.shipping, paymentSchedulesRequest.shipping) &&
        Objects.equals(this.comments, paymentSchedulesRequest.comments);
  }

  @Override
  public int hashCode() {
    return Objects.hash(requestType, storeId, startDate, numberOfPayments, maximumFailures, invoiceNumber, purchaseOrderNumber, transactionOrigin, dynamicMerchantName, frequency, transactionAmount, clientLocale, orderId, billing, shipping, comments);
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class PaymentSchedulesRequest {\n");
    sb.append("    requestType: ").append(toIndentedString(requestType)).append("\n");
    sb.append("    storeId: ").append(toIndentedString(storeId)).append("\n");
    sb.append("    startDate: ").append(toIndentedString(startDate)).append("\n");
    sb.append("    numberOfPayments: ").append(toIndentedString(numberOfPayments)).append("\n");
    sb.append("    maximumFailures: ").append(toIndentedString(maximumFailures)).append("\n");
    sb.append("    invoiceNumber: ").append(toIndentedString(invoiceNumber)).append("\n");
    sb.append("    purchaseOrderNumber: ").append(toIndentedString(purchaseOrderNumber)).append("\n");
    sb.append("    transactionOrigin: ").append(toIndentedString(transactionOrigin)).append("\n");
    sb.append("    dynamicMerchantName: ").append(toIndentedString(dynamicMerchantName)).append("\n");
    sb.append("    frequency: ").append(toIndentedString(frequency)).append("\n");
    sb.append("    transactionAmount: ").append(toIndentedString(transactionAmount)).append("\n");
    sb.append("    clientLocale: ").append(toIndentedString(clientLocale)).append("\n");
    sb.append("    orderId: ").append(toIndentedString(orderId)).append("\n");
    sb.append("    billing: ").append(toIndentedString(billing)).append("\n");
    sb.append("    shipping: ").append(toIndentedString(shipping)).append("\n");
    sb.append("    comments: ").append(toIndentedString(comments)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(java.lang.Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }

}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy