
com.github.GBSEcom.model.PrimaryTransaction Maven / Gradle / Ivy
/*
* Payment Gateway API Specification
* Payment Gateway API for payment processing.
*
* OpenAPI spec version: 0.0.1
*
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
package com.github.GBSEcom.model;
import java.util.Objects;
import com.github.GBSEcom.model.Amount;
import com.github.GBSEcom.model.BasketItem;
import com.github.GBSEcom.model.IndustrySpecificExtensions;
import com.github.GBSEcom.model.Order;
import com.github.GBSEcom.model.PaymentMethod;
import com.github.GBSEcom.model.PrimaryTransactionAdditionalDetails;
import com.github.GBSEcom.model.SplitShipment;
import com.github.GBSEcom.model.StoredCredential;
import com.github.GBSEcom.model.TransactionType;
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.util.ArrayList;
import java.util.List;
/**
* Model for primary financial transactions
*/
@ApiModel(description = "Model for primary financial transactions")
public class PrimaryTransaction {
@SerializedName("transactionType")
private TransactionType transactionType = null;
@SerializedName("storeId")
private String storeId = null;
@SerializedName("clientTransactionId")
private String clientTransactionId = null;
@SerializedName("amount")
private Amount amount = null;
@SerializedName("paymentMethod")
private PaymentMethod paymentMethod = null;
@SerializedName("order")
private Order order = null;
@SerializedName("basketItems")
private List basketItems = null;
@SerializedName("splitShipment")
private SplitShipment splitShipment = null;
@SerializedName("additionalDetails")
private PrimaryTransactionAdditionalDetails additionalDetails = null;
@SerializedName("industrySpecificExtensions")
private IndustrySpecificExtensions industrySpecificExtensions = null;
@SerializedName("storedCredentials")
private StoredCredential storedCredentials = null;
public PrimaryTransaction transactionType(TransactionType transactionType) {
this.transactionType = transactionType;
return this;
}
/**
* Get transactionType
* @return transactionType
**/
@ApiModelProperty(required = true, value = "")
public TransactionType getTransactionType() {
return transactionType;
}
public void setTransactionType(TransactionType transactionType) {
this.transactionType = transactionType;
}
public PrimaryTransaction storeId(String storeId) {
this.storeId = storeId;
return this;
}
/**
* An optional Outlet ID for clients that support multiple stores in the same app.
* @return storeId
**/
@ApiModelProperty(example = "12345500000", value = "An optional Outlet ID for clients that support multiple stores in the same app.")
public String getStoreId() {
return storeId;
}
public void setStoreId(String storeId) {
this.storeId = storeId;
}
public PrimaryTransaction clientTransactionId(String clientTransactionId) {
this.clientTransactionId = clientTransactionId;
return this;
}
/**
* The unique client Transaction ID from the Request header, if supplied.
* @return clientTransactionId
**/
@ApiModelProperty(example = "30dd879c-ee2f-11db-8314-0800200c9a66", value = "The unique client Transaction ID from the Request header, if supplied.")
public String getClientTransactionId() {
return clientTransactionId;
}
public void setClientTransactionId(String clientTransactionId) {
this.clientTransactionId = clientTransactionId;
}
public PrimaryTransaction amount(Amount amount) {
this.amount = amount;
return this;
}
/**
* Get amount
* @return amount
**/
@ApiModelProperty(required = true, value = "")
public Amount getAmount() {
return amount;
}
public void setAmount(Amount amount) {
this.amount = amount;
}
public PrimaryTransaction paymentMethod(PaymentMethod paymentMethod) {
this.paymentMethod = paymentMethod;
return this;
}
/**
* Get paymentMethod
* @return paymentMethod
**/
@ApiModelProperty(required = true, value = "")
public PaymentMethod getPaymentMethod() {
return paymentMethod;
}
public void setPaymentMethod(PaymentMethod paymentMethod) {
this.paymentMethod = paymentMethod;
}
public PrimaryTransaction order(Order order) {
this.order = order;
return this;
}
/**
* Get order
* @return order
**/
@ApiModelProperty(value = "")
public Order getOrder() {
return order;
}
public void setOrder(Order order) {
this.order = order;
}
public PrimaryTransaction basketItems(List basketItems) {
this.basketItems = basketItems;
return this;
}
public PrimaryTransaction addBasketItemsItem(BasketItem basketItemsItem) {
if (this.basketItems == null) {
this.basketItems = new ArrayList<>();
}
this.basketItems.add(basketItemsItem);
return this;
}
/**
* Required for some payment methods (for example, Klarna)
* @return basketItems
**/
@ApiModelProperty(value = "Required for some payment methods (for example, Klarna)")
public List getBasketItems() {
return basketItems;
}
public void setBasketItems(List basketItems) {
this.basketItems = basketItems;
}
public PrimaryTransaction splitShipment(SplitShipment splitShipment) {
this.splitShipment = splitShipment;
return this;
}
/**
* Get splitShipment
* @return splitShipment
**/
@ApiModelProperty(value = "")
public SplitShipment getSplitShipment() {
return splitShipment;
}
public void setSplitShipment(SplitShipment splitShipment) {
this.splitShipment = splitShipment;
}
public PrimaryTransaction additionalDetails(PrimaryTransactionAdditionalDetails additionalDetails) {
this.additionalDetails = additionalDetails;
return this;
}
/**
* Get additionalDetails
* @return additionalDetails
**/
@ApiModelProperty(value = "")
public PrimaryTransactionAdditionalDetails getAdditionalDetails() {
return additionalDetails;
}
public void setAdditionalDetails(PrimaryTransactionAdditionalDetails additionalDetails) {
this.additionalDetails = additionalDetails;
}
public PrimaryTransaction industrySpecificExtensions(IndustrySpecificExtensions industrySpecificExtensions) {
this.industrySpecificExtensions = industrySpecificExtensions;
return this;
}
/**
* Get industrySpecificExtensions
* @return industrySpecificExtensions
**/
@ApiModelProperty(value = "")
public IndustrySpecificExtensions getIndustrySpecificExtensions() {
return industrySpecificExtensions;
}
public void setIndustrySpecificExtensions(IndustrySpecificExtensions industrySpecificExtensions) {
this.industrySpecificExtensions = industrySpecificExtensions;
}
public PrimaryTransaction storedCredentials(StoredCredential storedCredentials) {
this.storedCredentials = storedCredentials;
return this;
}
/**
* Get storedCredentials
* @return storedCredentials
**/
@ApiModelProperty(value = "")
public StoredCredential getStoredCredentials() {
return storedCredentials;
}
public void setStoredCredentials(StoredCredential storedCredentials) {
this.storedCredentials = storedCredentials;
}
@Override
public boolean equals(java.lang.Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
PrimaryTransaction primaryTransaction = (PrimaryTransaction) o;
return Objects.equals(this.transactionType, primaryTransaction.transactionType) &&
Objects.equals(this.storeId, primaryTransaction.storeId) &&
Objects.equals(this.clientTransactionId, primaryTransaction.clientTransactionId) &&
Objects.equals(this.amount, primaryTransaction.amount) &&
Objects.equals(this.paymentMethod, primaryTransaction.paymentMethod) &&
Objects.equals(this.order, primaryTransaction.order) &&
Objects.equals(this.basketItems, primaryTransaction.basketItems) &&
Objects.equals(this.splitShipment, primaryTransaction.splitShipment) &&
Objects.equals(this.additionalDetails, primaryTransaction.additionalDetails) &&
Objects.equals(this.industrySpecificExtensions, primaryTransaction.industrySpecificExtensions) &&
Objects.equals(this.storedCredentials, primaryTransaction.storedCredentials);
}
@Override
public int hashCode() {
return Objects.hash(transactionType, storeId, clientTransactionId, amount, paymentMethod, order, basketItems, splitShipment, additionalDetails, industrySpecificExtensions, storedCredentials);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class PrimaryTransaction {\n");
sb.append(" transactionType: ").append(toIndentedString(transactionType)).append("\n");
sb.append(" storeId: ").append(toIndentedString(storeId)).append("\n");
sb.append(" clientTransactionId: ").append(toIndentedString(clientTransactionId)).append("\n");
sb.append(" amount: ").append(toIndentedString(amount)).append("\n");
sb.append(" paymentMethod: ").append(toIndentedString(paymentMethod)).append("\n");
sb.append(" order: ").append(toIndentedString(order)).append("\n");
sb.append(" basketItems: ").append(toIndentedString(basketItems)).append("\n");
sb.append(" splitShipment: ").append(toIndentedString(splitShipment)).append("\n");
sb.append(" additionalDetails: ").append(toIndentedString(additionalDetails)).append("\n");
sb.append(" industrySpecificExtensions: ").append(toIndentedString(industrySpecificExtensions)).append("\n");
sb.append(" storedCredentials: ").append(toIndentedString(storedCredentials)).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