AuthorizeNet/sdk-java

View on GitHub
src/main/java/net/authorize/api/contract/v1/TransactionDetailsType.java

Summary

Maintainability
D
2 days
Test Coverage
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2021.01.27 at 04:18:12 PM GMT+05:30 
//


package net.authorize.api.contract.v1;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;


/**
 * <p>Java class for transactionDetailsType complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="transactionDetailsType">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="transId" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}numericString"/>
 *         &lt;element name="refTransId" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}numericString" minOccurs="0"/>
 *         &lt;element name="splitTenderId" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}numericString" minOccurs="0"/>
 *         &lt;element name="submitTimeUTC" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
 *         &lt;element name="submitTimeLocal" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
 *         &lt;element name="transactionType" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="transactionStatus" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="responseCode" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *         &lt;element name="responseReasonCode" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *         &lt;element name="subscription" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}subscriptionPaymentType" minOccurs="0"/>
 *         &lt;element name="responseReasonDescription" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="authCode" minOccurs="0">
 *           &lt;simpleType>
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *               &lt;maxLength value="6"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="AVSResponse" minOccurs="0">
 *           &lt;simpleType>
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *               &lt;maxLength value="1"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="cardCodeResponse" minOccurs="0">
 *           &lt;simpleType>
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *               &lt;maxLength value="1"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="CAVVResponse" minOccurs="0">
 *           &lt;simpleType>
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *               &lt;maxLength value="1"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="FDSFilterAction" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="FDSFilters" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}ArrayOfFDSFilter" minOccurs="0"/>
 *         &lt;element name="batch" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}batchDetailsType" minOccurs="0"/>
 *         &lt;element name="order" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}orderExType" minOccurs="0"/>
 *         &lt;element name="requestedAmount" minOccurs="0">
 *           &lt;simpleType>
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}decimal">
 *               &lt;minInclusive value="0.00"/>
 *               &lt;fractionDigits value="4"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="authAmount">
 *           &lt;simpleType>
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}decimal">
 *               &lt;minInclusive value="0.00"/>
 *               &lt;fractionDigits value="4"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="settleAmount">
 *           &lt;simpleType>
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}decimal">
 *               &lt;minInclusive value="0.00"/>
 *               &lt;fractionDigits value="4"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="tax" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}extendedAmountType" minOccurs="0"/>
 *         &lt;element name="shipping" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}extendedAmountType" minOccurs="0"/>
 *         &lt;element name="duty" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}extendedAmountType" minOccurs="0"/>
 *         &lt;element name="lineItems" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}ArrayOfLineItem" minOccurs="0"/>
 *         &lt;element name="prepaidBalanceRemaining" minOccurs="0">
 *           &lt;simpleType>
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}decimal">
 *               &lt;fractionDigits value="4"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="taxExempt" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="payment" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}paymentMaskedType"/>
 *         &lt;element name="customer" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}customerDataType" minOccurs="0"/>
 *         &lt;element name="billTo" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}customerAddressType" minOccurs="0"/>
 *         &lt;element name="shipTo" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}nameAndAddressType" minOccurs="0"/>
 *         &lt;element name="recurringBilling" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="customerIP" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="product" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="entryMode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="marketType" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="mobileDeviceId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="customerSignature" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="returnedItems" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}ArrayOfReturnedItem" minOccurs="0"/>
 *         &lt;element name="solution" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}solutionType" minOccurs="0"/>
 *         &lt;element name="emvDetails" minOccurs="0">
 *           &lt;complexType>
 *             &lt;complexContent>
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                 &lt;sequence>
 *                   &lt;element name="tag" maxOccurs="unbounded">
 *                     &lt;complexType>
 *                       &lt;complexContent>
 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                           &lt;sequence>
 *                             &lt;element name="tagId" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *                             &lt;element name="data" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *                           &lt;/sequence>
 *                         &lt;/restriction>
 *                       &lt;/complexContent>
 *                     &lt;/complexType>
 *                   &lt;/element>
 *                 &lt;/sequence>
 *               &lt;/restriction>
 *             &lt;/complexContent>
 *           &lt;/complexType>
 *         &lt;/element>
 *         &lt;element name="profile" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}customerProfileIdType" minOccurs="0"/>
 *         &lt;element name="surcharge" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}extendedAmountType" minOccurs="0"/>
 *         &lt;element name="employeeId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="tip" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}extendedAmountType" minOccurs="0"/>
 *         &lt;element name="otherTax" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}otherTaxType" minOccurs="0"/>
 *         &lt;element name="shipFrom" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}nameAndAddressType" minOccurs="0"/>
 *         &lt;element name="networkTransId" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}networkTransId" minOccurs="0"/>
 *         &lt;element name="originalNetworkTransId" type="{AnetApi/xml/v1/schema/AnetApiSchema.xsd}networkTransId" minOccurs="0"/>
 *         &lt;element name="originalAuthAmount" minOccurs="0">
 *           &lt;simpleType>
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}decimal">
 *               &lt;minInclusive value="0.00"/>
 *               &lt;fractionDigits value="4"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="authorizationIndicator" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "transactionDetailsType", propOrder = {
    "transId",
    "refTransId",
    "splitTenderId",
    "submitTimeUTC",
    "submitTimeLocal",
    "transactionType",
    "transactionStatus",
    "responseCode",
    "responseReasonCode",
    "subscription",
    "responseReasonDescription",
    "authCode",
    "avsResponse",
    "cardCodeResponse",
    "cavvResponse",
    "fdsFilterAction",
    "fdsFilters",
    "batch",
    "order",
    "requestedAmount",
    "authAmount",
    "settleAmount",
    "tax",
    "shipping",
    "duty",
    "lineItems",
    "prepaidBalanceRemaining",
    "taxExempt",
    "payment",
    "customer",
    "billTo",
    "shipTo",
    "recurringBilling",
    "customerIP",
    "product",
    "entryMode",
    "marketType",
    "mobileDeviceId",
    "customerSignature",
    "returnedItems",
    "solution",
    "emvDetails",
    "profile",
    "surcharge",
    "employeeId",
    "tip",
    "otherTax",
    "shipFrom",
    "networkTransId",
    "originalNetworkTransId",
    "originalAuthAmount",
    "authorizationIndicator"
})
public class TransactionDetailsType {

    @XmlElement(required = true)
    protected String transId;
    protected String refTransId;
    protected String splitTenderId;
    @XmlElement(required = true)
    @XmlSchemaType(name = "dateTime")
    protected XMLGregorianCalendar submitTimeUTC;
    @XmlElement(required = true)
    @XmlSchemaType(name = "dateTime")
    protected XMLGregorianCalendar submitTimeLocal;
    @XmlElement(required = true)
    protected String transactionType;
    @XmlElement(required = true)
    protected String transactionStatus;
    protected int responseCode;
    protected int responseReasonCode;
    protected SubscriptionPaymentType subscription;
    @XmlElement(required = true)
    protected String responseReasonDescription;
    protected String authCode;
    @XmlElement(name = "AVSResponse")
    protected String avsResponse;
    protected String cardCodeResponse;
    @XmlElement(name = "CAVVResponse")
    protected String cavvResponse;
    @XmlElement(name = "FDSFilterAction")
    protected String fdsFilterAction;
    @XmlElement(name = "FDSFilters")
    protected ArrayOfFDSFilter fdsFilters;
    protected BatchDetailsType batch;
    protected OrderExType order;
    protected BigDecimal requestedAmount;
    @XmlElement(required = true)
    protected BigDecimal authAmount;
    @XmlElement(required = true)
    protected BigDecimal settleAmount;
    protected ExtendedAmountType tax;
    protected ExtendedAmountType shipping;
    protected ExtendedAmountType duty;
    protected ArrayOfLineItem lineItems;
    protected BigDecimal prepaidBalanceRemaining;
    protected Boolean taxExempt;
    @XmlElement(required = true)
    protected PaymentMaskedType payment;
    protected CustomerDataType customer;
    protected CustomerAddressType billTo;
    protected NameAndAddressType shipTo;
    protected Boolean recurringBilling;
    protected String customerIP;
    protected String product;
    protected String entryMode;
    protected String marketType;
    protected String mobileDeviceId;
    protected String customerSignature;
    protected ArrayOfReturnedItem returnedItems;
    protected SolutionType solution;
    protected TransactionDetailsType.EmvDetails emvDetails;
    protected CustomerProfileIdType profile;
    protected ExtendedAmountType surcharge;
    protected String employeeId;
    protected ExtendedAmountType tip;
    protected OtherTaxType otherTax;
    protected NameAndAddressType shipFrom;
    protected String networkTransId;
    protected String originalNetworkTransId;
    protected BigDecimal originalAuthAmount;
    protected String authorizationIndicator;

    /**
     * Gets the value of the transId property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getTransId() {
        return transId;
    }

    /**
     * Sets the value of the transId property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setTransId(String value) {
        this.transId = value;
    }

    /**
     * Gets the value of the refTransId property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getRefTransId() {
        return refTransId;
    }

    /**
     * Sets the value of the refTransId property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setRefTransId(String value) {
        this.refTransId = value;
    }

    /**
     * Gets the value of the splitTenderId property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSplitTenderId() {
        return splitTenderId;
    }

    /**
     * Sets the value of the splitTenderId property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSplitTenderId(String value) {
        this.splitTenderId = value;
    }

    /**
     * Gets the value of the submitTimeUTC property.
     * 
     * @return
     *     possible object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public XMLGregorianCalendar getSubmitTimeUTC() {
        return submitTimeUTC;
    }

    /**
     * Sets the value of the submitTimeUTC property.
     * 
     * @param value
     *     allowed object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public void setSubmitTimeUTC(XMLGregorianCalendar value) {
        this.submitTimeUTC = value;
    }

    /**
     * Gets the value of the submitTimeLocal property.
     * 
     * @return
     *     possible object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public XMLGregorianCalendar getSubmitTimeLocal() {
        return submitTimeLocal;
    }

    /**
     * Sets the value of the submitTimeLocal property.
     * 
     * @param value
     *     allowed object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public void setSubmitTimeLocal(XMLGregorianCalendar value) {
        this.submitTimeLocal = value;
    }

    /**
     * Gets the value of the transactionType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getTransactionType() {
        return transactionType;
    }

    /**
     * Sets the value of the transactionType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setTransactionType(String value) {
        this.transactionType = value;
    }

    /**
     * Gets the value of the transactionStatus property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getTransactionStatus() {
        return transactionStatus;
    }

    /**
     * Sets the value of the transactionStatus property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setTransactionStatus(String value) {
        this.transactionStatus = value;
    }

    /**
     * Gets the value of the responseCode property.
     * 
     */
    public int getResponseCode() {
        return responseCode;
    }

    /**
     * Sets the value of the responseCode property.
     * 
     */
    public void setResponseCode(int value) {
        this.responseCode = value;
    }

    /**
     * Gets the value of the responseReasonCode property.
     * 
     */
    public int getResponseReasonCode() {
        return responseReasonCode;
    }

    /**
     * Sets the value of the responseReasonCode property.
     * 
     */
    public void setResponseReasonCode(int value) {
        this.responseReasonCode = value;
    }

    /**
     * Gets the value of the subscription property.
     * 
     * @return
     *     possible object is
     *     {@link SubscriptionPaymentType }
     *     
     */
    public SubscriptionPaymentType getSubscription() {
        return subscription;
    }

    /**
     * Sets the value of the subscription property.
     * 
     * @param value
     *     allowed object is
     *     {@link SubscriptionPaymentType }
     *     
     */
    public void setSubscription(SubscriptionPaymentType value) {
        this.subscription = value;
    }

    /**
     * Gets the value of the responseReasonDescription property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getResponseReasonDescription() {
        return responseReasonDescription;
    }

    /**
     * Sets the value of the responseReasonDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setResponseReasonDescription(String value) {
        this.responseReasonDescription = value;
    }

    /**
     * Gets the value of the authCode property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAuthCode() {
        return authCode;
    }

    /**
     * Sets the value of the authCode property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAuthCode(String value) {
        this.authCode = value;
    }

    /**
     * Gets the value of the avsResponse property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAVSResponse() {
        return avsResponse;
    }

    /**
     * Sets the value of the avsResponse property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAVSResponse(String value) {
        this.avsResponse = value;
    }

    /**
     * Gets the value of the cardCodeResponse property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCardCodeResponse() {
        return cardCodeResponse;
    }

    /**
     * Sets the value of the cardCodeResponse property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCardCodeResponse(String value) {
        this.cardCodeResponse = value;
    }

    /**
     * Gets the value of the cavvResponse property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCAVVResponse() {
        return cavvResponse;
    }

    /**
     * Sets the value of the cavvResponse property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCAVVResponse(String value) {
        this.cavvResponse = value;
    }

    /**
     * Gets the value of the fdsFilterAction property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getFDSFilterAction() {
        return fdsFilterAction;
    }

    /**
     * Sets the value of the fdsFilterAction property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setFDSFilterAction(String value) {
        this.fdsFilterAction = value;
    }

    /**
     * Gets the value of the fdsFilters property.
     * 
     * @return
     *     possible object is
     *     {@link ArrayOfFDSFilter }
     *     
     */
    public ArrayOfFDSFilter getFDSFilters() {
        return fdsFilters;
    }

    /**
     * Sets the value of the fdsFilters property.
     * 
     * @param value
     *     allowed object is
     *     {@link ArrayOfFDSFilter }
     *     
     */
    public void setFDSFilters(ArrayOfFDSFilter value) {
        this.fdsFilters = value;
    }

    /**
     * Gets the value of the batch property.
     * 
     * @return
     *     possible object is
     *     {@link BatchDetailsType }
     *     
     */
    public BatchDetailsType getBatch() {
        return batch;
    }

    /**
     * Sets the value of the batch property.
     * 
     * @param value
     *     allowed object is
     *     {@link BatchDetailsType }
     *     
     */
    public void setBatch(BatchDetailsType value) {
        this.batch = value;
    }

    /**
     * Gets the value of the order property.
     * 
     * @return
     *     possible object is
     *     {@link OrderExType }
     *     
     */
    public OrderExType getOrder() {
        return order;
    }

    /**
     * Sets the value of the order property.
     * 
     * @param value
     *     allowed object is
     *     {@link OrderExType }
     *     
     */
    public void setOrder(OrderExType value) {
        this.order = value;
    }

    /**
     * Gets the value of the requestedAmount property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getRequestedAmount() {
        return requestedAmount;
    }

    /**
     * Sets the value of the requestedAmount property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setRequestedAmount(BigDecimal value) {
        this.requestedAmount = value;
    }

    /**
     * Gets the value of the authAmount property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getAuthAmount() {
        return authAmount;
    }

    /**
     * Sets the value of the authAmount property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setAuthAmount(BigDecimal value) {
        this.authAmount = value;
    }

    /**
     * Gets the value of the settleAmount property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getSettleAmount() {
        return settleAmount;
    }

    /**
     * Sets the value of the settleAmount property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setSettleAmount(BigDecimal value) {
        this.settleAmount = value;
    }

    /**
     * Gets the value of the tax property.
     * 
     * @return
     *     possible object is
     *     {@link ExtendedAmountType }
     *     
     */
    public ExtendedAmountType getTax() {
        return tax;
    }

    /**
     * Sets the value of the tax property.
     * 
     * @param value
     *     allowed object is
     *     {@link ExtendedAmountType }
     *     
     */
    public void setTax(ExtendedAmountType value) {
        this.tax = value;
    }

    /**
     * Gets the value of the shipping property.
     * 
     * @return
     *     possible object is
     *     {@link ExtendedAmountType }
     *     
     */
    public ExtendedAmountType getShipping() {
        return shipping;
    }

    /**
     * Sets the value of the shipping property.
     * 
     * @param value
     *     allowed object is
     *     {@link ExtendedAmountType }
     *     
     */
    public void setShipping(ExtendedAmountType value) {
        this.shipping = value;
    }

    /**
     * Gets the value of the duty property.
     * 
     * @return
     *     possible object is
     *     {@link ExtendedAmountType }
     *     
     */
    public ExtendedAmountType getDuty() {
        return duty;
    }

    /**
     * Sets the value of the duty property.
     * 
     * @param value
     *     allowed object is
     *     {@link ExtendedAmountType }
     *     
     */
    public void setDuty(ExtendedAmountType value) {
        this.duty = value;
    }

    /**
     * Gets the value of the lineItems property.
     * 
     * @return
     *     possible object is
     *     {@link ArrayOfLineItem }
     *     
     */
    public ArrayOfLineItem getLineItems() {
        return lineItems;
    }

    /**
     * Sets the value of the lineItems property.
     * 
     * @param value
     *     allowed object is
     *     {@link ArrayOfLineItem }
     *     
     */
    public void setLineItems(ArrayOfLineItem value) {
        this.lineItems = value;
    }

    /**
     * Gets the value of the prepaidBalanceRemaining property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getPrepaidBalanceRemaining() {
        return prepaidBalanceRemaining;
    }

    /**
     * Sets the value of the prepaidBalanceRemaining property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setPrepaidBalanceRemaining(BigDecimal value) {
        this.prepaidBalanceRemaining = value;
    }

    /**
     * Gets the value of the taxExempt property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isTaxExempt() {
        return taxExempt;
    }

    /**
     * Sets the value of the taxExempt property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setTaxExempt(Boolean value) {
        this.taxExempt = value;
    }

    /**
     * Gets the value of the payment property.
     * 
     * @return
     *     possible object is
     *     {@link PaymentMaskedType }
     *     
     */
    public PaymentMaskedType getPayment() {
        return payment;
    }

    /**
     * Sets the value of the payment property.
     * 
     * @param value
     *     allowed object is
     *     {@link PaymentMaskedType }
     *     
     */
    public void setPayment(PaymentMaskedType value) {
        this.payment = value;
    }

    /**
     * Gets the value of the customer property.
     * 
     * @return
     *     possible object is
     *     {@link CustomerDataType }
     *     
     */
    public CustomerDataType getCustomer() {
        return customer;
    }

    /**
     * Sets the value of the customer property.
     * 
     * @param value
     *     allowed object is
     *     {@link CustomerDataType }
     *     
     */
    public void setCustomer(CustomerDataType value) {
        this.customer = value;
    }

    /**
     * Gets the value of the billTo property.
     * 
     * @return
     *     possible object is
     *     {@link CustomerAddressType }
     *     
     */
    public CustomerAddressType getBillTo() {
        return billTo;
    }

    /**
     * Sets the value of the billTo property.
     * 
     * @param value
     *     allowed object is
     *     {@link CustomerAddressType }
     *     
     */
    public void setBillTo(CustomerAddressType value) {
        this.billTo = value;
    }

    /**
     * Gets the value of the shipTo property.
     * 
     * @return
     *     possible object is
     *     {@link NameAndAddressType }
     *     
     */
    public NameAndAddressType getShipTo() {
        return shipTo;
    }

    /**
     * Sets the value of the shipTo property.
     * 
     * @param value
     *     allowed object is
     *     {@link NameAndAddressType }
     *     
     */
    public void setShipTo(NameAndAddressType value) {
        this.shipTo = value;
    }

    /**
     * Gets the value of the recurringBilling property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isRecurringBilling() {
        return recurringBilling;
    }

    /**
     * Sets the value of the recurringBilling property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setRecurringBilling(Boolean value) {
        this.recurringBilling = value;
    }

    /**
     * Gets the value of the customerIP property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCustomerIP() {
        return customerIP;
    }

    /**
     * Sets the value of the customerIP property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCustomerIP(String value) {
        this.customerIP = value;
    }

    /**
     * Gets the value of the product property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getProduct() {
        return product;
    }

    /**
     * Sets the value of the product property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setProduct(String value) {
        this.product = value;
    }

    /**
     * Gets the value of the entryMode property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getEntryMode() {
        return entryMode;
    }

    /**
     * Sets the value of the entryMode property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setEntryMode(String value) {
        this.entryMode = value;
    }

    /**
     * Gets the value of the marketType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMarketType() {
        return marketType;
    }

    /**
     * Sets the value of the marketType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMarketType(String value) {
        this.marketType = value;
    }

    /**
     * Gets the value of the mobileDeviceId property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMobileDeviceId() {
        return mobileDeviceId;
    }

    /**
     * Sets the value of the mobileDeviceId property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMobileDeviceId(String value) {
        this.mobileDeviceId = value;
    }

    /**
     * Gets the value of the customerSignature property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCustomerSignature() {
        return customerSignature;
    }

    /**
     * Sets the value of the customerSignature property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCustomerSignature(String value) {
        this.customerSignature = value;
    }

    /**
     * Gets the value of the returnedItems property.
     * 
     * @return
     *     possible object is
     *     {@link ArrayOfReturnedItem }
     *     
     */
    public ArrayOfReturnedItem getReturnedItems() {
        return returnedItems;
    }

    /**
     * Sets the value of the returnedItems property.
     * 
     * @param value
     *     allowed object is
     *     {@link ArrayOfReturnedItem }
     *     
     */
    public void setReturnedItems(ArrayOfReturnedItem value) {
        this.returnedItems = value;
    }

    /**
     * Gets the value of the solution property.
     * 
     * @return
     *     possible object is
     *     {@link SolutionType }
     *     
     */
    public SolutionType getSolution() {
        return solution;
    }

    /**
     * Sets the value of the solution property.
     * 
     * @param value
     *     allowed object is
     *     {@link SolutionType }
     *     
     */
    public void setSolution(SolutionType value) {
        this.solution = value;
    }

    /**
     * Gets the value of the emvDetails property.
     * 
     * @return
     *     possible object is
     *     {@link TransactionDetailsType.EmvDetails }
     *     
     */
    public TransactionDetailsType.EmvDetails getEmvDetails() {
        return emvDetails;
    }

    /**
     * Sets the value of the emvDetails property.
     * 
     * @param value
     *     allowed object is
     *     {@link TransactionDetailsType.EmvDetails }
     *     
     */
    public void setEmvDetails(TransactionDetailsType.EmvDetails value) {
        this.emvDetails = value;
    }

    /**
     * Gets the value of the profile property.
     * 
     * @return
     *     possible object is
     *     {@link CustomerProfileIdType }
     *     
     */
    public CustomerProfileIdType getProfile() {
        return profile;
    }

    /**
     * Sets the value of the profile property.
     * 
     * @param value
     *     allowed object is
     *     {@link CustomerProfileIdType }
     *     
     */
    public void setProfile(CustomerProfileIdType value) {
        this.profile = value;
    }

    /**
     * Gets the value of the surcharge property.
     * 
     * @return
     *     possible object is
     *     {@link ExtendedAmountType }
     *     
     */
    public ExtendedAmountType getSurcharge() {
        return surcharge;
    }

    /**
     * Sets the value of the surcharge property.
     * 
     * @param value
     *     allowed object is
     *     {@link ExtendedAmountType }
     *     
     */
    public void setSurcharge(ExtendedAmountType value) {
        this.surcharge = value;
    }

    /**
     * Gets the value of the employeeId property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getEmployeeId() {
        return employeeId;
    }

    /**
     * Sets the value of the employeeId property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setEmployeeId(String value) {
        this.employeeId = value;
    }

    /**
     * Gets the value of the tip property.
     * 
     * @return
     *     possible object is
     *     {@link ExtendedAmountType }
     *     
     */
    public ExtendedAmountType getTip() {
        return tip;
    }

    /**
     * Sets the value of the tip property.
     * 
     * @param value
     *     allowed object is
     *     {@link ExtendedAmountType }
     *     
     */
    public void setTip(ExtendedAmountType value) {
        this.tip = value;
    }

    /**
     * Gets the value of the otherTax property.
     * 
     * @return
     *     possible object is
     *     {@link OtherTaxType }
     *     
     */
    public OtherTaxType getOtherTax() {
        return otherTax;
    }

    /**
     * Sets the value of the otherTax property.
     * 
     * @param value
     *     allowed object is
     *     {@link OtherTaxType }
     *     
     */
    public void setOtherTax(OtherTaxType value) {
        this.otherTax = value;
    }

    /**
     * Gets the value of the shipFrom property.
     * 
     * @return
     *     possible object is
     *     {@link NameAndAddressType }
     *     
     */
    public NameAndAddressType getShipFrom() {
        return shipFrom;
    }

    /**
     * Sets the value of the shipFrom property.
     * 
     * @param value
     *     allowed object is
     *     {@link NameAndAddressType }
     *     
     */
    public void setShipFrom(NameAndAddressType value) {
        this.shipFrom = value;
    }

    /**
     * Gets the value of the networkTransId property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getNetworkTransId() {
        return networkTransId;
    }

    /**
     * Sets the value of the networkTransId property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setNetworkTransId(String value) {
        this.networkTransId = value;
    }

    /**
     * Gets the value of the originalNetworkTransId property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getOriginalNetworkTransId() {
        return originalNetworkTransId;
    }

    /**
     * Sets the value of the originalNetworkTransId property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setOriginalNetworkTransId(String value) {
        this.originalNetworkTransId = value;
    }

    /**
     * Gets the value of the originalAuthAmount property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getOriginalAuthAmount() {
        return originalAuthAmount;
    }

    /**
     * Sets the value of the originalAuthAmount property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setOriginalAuthAmount(BigDecimal value) {
        this.originalAuthAmount = value;
    }

    /**
     * Gets the value of the authorizationIndicator property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAuthorizationIndicator() {
        return authorizationIndicator;
    }

    /**
     * Sets the value of the authorizationIndicator property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAuthorizationIndicator(String value) {
        this.authorizationIndicator = value;
    }


    /**
     * <p>Java class for anonymous complex type.
     * 
     * <p>The following schema fragment specifies the expected content contained within this class.
     * 
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;sequence>
     *         &lt;element name="tag" maxOccurs="unbounded">
     *           &lt;complexType>
     *             &lt;complexContent>
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                 &lt;sequence>
     *                   &lt;element name="tagId" type="{http://www.w3.org/2001/XMLSchema}string"/>
     *                   &lt;element name="data" type="{http://www.w3.org/2001/XMLSchema}string"/>
     *                 &lt;/sequence>
     *               &lt;/restriction>
     *             &lt;/complexContent>
     *           &lt;/complexType>
     *         &lt;/element>
     *       &lt;/sequence>
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "tag"
    })
    public static class EmvDetails {

        @XmlElement(required = true)
        protected List<TransactionDetailsType.EmvDetails.Tag> tag;

        /**
         * Gets the value of the tag property.
         * 
         * <p>
         * This accessor method returns a reference to the live list,
         * not a snapshot. Therefore any modification you make to the
         * returned list will be present inside the JAXB object.
         * This is why there is not a <CODE>set</CODE> method for the tag property.
         * 
         * <p>
         * For example, to add a new item, do as follows:
         * <pre>
         *    getTag().add(newItem);
         * </pre>
         * 
         * 
         * <p>
         * Objects of the following type(s) are allowed in the list
         * {@link TransactionDetailsType.EmvDetails.Tag }
         * 
         * 
         */
        public List<TransactionDetailsType.EmvDetails.Tag> getTag() {
            if (tag == null) {
                tag = new ArrayList<TransactionDetailsType.EmvDetails.Tag>();
            }
            return this.tag;
        }


        /**
         * <p>Java class for anonymous complex type.
         * 
         * <p>The following schema fragment specifies the expected content contained within this class.
         * 
         * <pre>
         * &lt;complexType>
         *   &lt;complexContent>
         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *       &lt;sequence>
         *         &lt;element name="tagId" type="{http://www.w3.org/2001/XMLSchema}string"/>
         *         &lt;element name="data" type="{http://www.w3.org/2001/XMLSchema}string"/>
         *       &lt;/sequence>
         *     &lt;/restriction>
         *   &lt;/complexContent>
         * &lt;/complexType>
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "", propOrder = {
            "tagId",
            "data"
        })
        public static class Tag {

            @XmlElement(required = true)
            protected String tagId;
            @XmlElement(required = true)
            protected String data;

            /**
             * Gets the value of the tagId property.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getTagId() {
                return tagId;
            }

            /**
             * Sets the value of the tagId property.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setTagId(String value) {
                this.tagId = value;
            }

            /**
             * Gets the value of the data property.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getData() {
                return data;
            }

            /**
             * Sets the value of the data property.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setData(String value) {
                this.data = value;
            }

        }

    }

}