Class TransactionExecutionRequest

  • All Implemented Interfaces:
    Serializable

    public class TransactionExecutionRequest
    extends Object
    implements Serializable
    The request payload used to execute a transaction against a payment.
    Author:
    Chris Kittrell (ckittrell)
    See Also:
    Serialized Form
    • Constructor Detail

      • TransactionExecutionRequest

        public TransactionExecutionRequest()
    • Method Detail

      • getCurrency

        @Nullable
        public javax.money.CurrencyUnit getCurrency()
        The currency gathered from the getTransactionAmount()
        Returns:
        The currency gathered from the request's transaction amount
      • hasParentSourceEntityTypeAndId

        public boolean hasParentSourceEntityTypeAndId()
      • getPaymentId

        public String getPaymentId()
        The id of the related payment that is meant to be used for the transaction.
        Returns:
        The id of the related payment that is meant to be used for the transaction.
      • getSource

        public String getSource()
        A simple description of the system that initiated this transaction execution request.
        Returns:
        A simple description of the system that initiated this transaction execution request.
      • getParentSourceEntityType

        public String getParentSourceEntityType()
        The type of the parent source entity of the transaction that proceeded this transaction. This is used to identify the parent transactions within the same entity.

        For example, the execution of a refund transaction requires a proceeding capture or authorize and capture transaction. Let's say the proceeding capture transaction has the source entity type of ORDER_FULFILLMENT, and the refund transaction has the entity source type of RETURN_CONFIRMATION. In this case, the refund transaction request needs the parent source entity type of ORDER_FULFILLMENT and its id in order to identify the parent capture transaction.

        Note that if this field is not provided, it will retrieve parent transactions from any entity based on getPaymentId() and getTransactionType().

      • getParentSourceEntityId

        public String getParentSourceEntityId()
        The id of the parent source entity of the transaction that proceeded this transaction.

        Note that if this field is not provided, it will retrieve parent transactions from any entity based on getPaymentId() and getTransactionType().

      • getSourceEntityType

        public String getSourceEntityType()
        The type of the source entity associated with the transaction. For example, "CHECKOUT_REQUEST" or "ORDER_FULFILLMENT".
      • getSourceEntityId

        public String getSourceEntityId()
        The ID of the source entity associated with the transaction.

        For example, if getSourceEntityType() is ORDER_FULFILLMENT, this would be the ID of the OrderFulfillment.

        See Also:
        getSourceEntityType()
      • getTransactionType

        public String getTransactionType()
        The type of transaction that is to be executed.
        Returns:
        The type of transaction that is to be executed.
        See Also:
        TransactionType
      • isAllowAutomaticReversal

        public boolean isAllowAutomaticReversal()
        Whether to allow this transaction to be automatically reversed by payment system's scheduled jobs.

        Set this field to false if this transaction should only be allowed to be reversed by Order Operation Service.

        Returns:
        Whether to allow this transaction to be automatically reversed by payment system's scheduled jobs.
      • getTransactionAmount

        public javax.money.MonetaryAmount getTransactionAmount()
        The transaction amount that we're expecting to execute against the payment. This amount must be valid according to what's available for the payment. If specified, the amount details (subtotal, adjustmentsTotal, fulfillmentTotal, & taxTotal) should sum together to equal this amount.
        Returns:
        The transaction amount that we're expecting to execute against the payment.
      • getSubtotal

        public javax.money.MonetaryAmount getSubtotal()
        The payment's total usually excluding adjustments, tax, and shipping.
        Returns:
        The payment's total usually excluding adjustments, tax, and shipping.
      • getAdjustmentsTotal

        public javax.money.MonetaryAmount getAdjustmentsTotal()
        The payment's adjustments (a.k.a discounts) total, usually excluding shipping/fulfillment discounts.
        Returns:
        The payment's adjustments (a.k.a discounts) total, usually excluding shipping/fulfillment discounts.
      • getFulfillmentTotal

        public javax.money.MonetaryAmount getFulfillmentTotal()
        The payment's total fulfillment cost.
        Returns:
        The payment's total fulfillment cost.
      • getTaxTotal

        public javax.money.MonetaryAmount getTaxTotal()
        The payment's total tax cost.
        Returns:
        The payment's total tax cost.
      • getSecurityCode

        public String getSecurityCode()
        The payment method security code that may be required to execute the transaction. Typically, this value is required to execute transactions against multi-use payment methods to validate that the user is the owner of the payment method.
        Returns:
        The payment method security code that may be required to execute the transaction.
      • getRequestId

        public String getRequestId()
        The id representing the customer's request to execute one or more transactions.
        Returns:
        The id representing the customer's request to execute one or more transactions.
      • setPaymentId

        public void setPaymentId​(String paymentId)
        The id of the related payment that is meant to be used for the transaction.
        Parameters:
        paymentId - The id of the related payment that is meant to be used for the transaction.
      • setSource

        public void setSource​(String source)
        A simple description of the system that initiated this transaction execution request.
        Parameters:
        source - A simple description of the system that initiated this transaction execution request.
      • setParentSourceEntityType

        public void setParentSourceEntityType​(String parentSourceEntityType)
        The type of the parent source entity of the transaction that proceeded this transaction. This is used to identify the parent transactions within the same entity.

        For example, the execution of a refund transaction requires a proceeding capture or authorize and capture transaction. Let's say the proceeding capture transaction has the source entity type of ORDER_FULFILLMENT, and the refund transaction has the entity source type of RETURN_CONFIRMATION. In this case, the refund transaction request needs the parent source entity type of ORDER_FULFILLMENT and its id in order to identify the parent capture transaction.

        Note that if this field is not provided, it will retrieve parent transactions from any entity based on getPaymentId() and getTransactionType().

      • setParentSourceEntityId

        public void setParentSourceEntityId​(String parentSourceEntityId)
        The id of the parent source entity of the transaction that proceeded this transaction.

        Note that if this field is not provided, it will retrieve parent transactions from any entity based on getPaymentId() and getTransactionType().

      • setSourceEntityType

        public void setSourceEntityType​(String sourceEntityType)
        The type of the source entity associated with the transaction. For example, "CHECKOUT_REQUEST" or "ORDER_FULFILLMENT".
      • setSourceEntityId

        public void setSourceEntityId​(String sourceEntityId)
        The ID of the source entity associated with the transaction.

        For example, if getSourceEntityType() is ORDER_FULFILLMENT, this would be the ID of the OrderFulfillment.

        See Also:
        getSourceEntityType()
      • setTransactionType

        public void setTransactionType​(String transactionType)
        The type of transaction that is to be executed.
        Parameters:
        transactionType - The type of transaction that is to be executed.
        See Also:
        TransactionType
      • setAllowAutomaticReversal

        public void setAllowAutomaticReversal​(boolean allowAutomaticReversal)
        Whether to allow this transaction to be automatically reversed by payment system's scheduled jobs.

        Set this field to false if this transaction should only be allowed to be reversed by Order Operation Service.

        Parameters:
        allowAutomaticReversal - Whether to allow this transaction to be automatically reversed by payment system's scheduled jobs.
      • setTransactionAmount

        public void setTransactionAmount​(javax.money.MonetaryAmount transactionAmount)
        The transaction amount that we're expecting to execute against the payment. This amount must be valid according to what's available for the payment. If specified, the amount details (subtotal, adjustmentsTotal, fulfillmentTotal, & taxTotal) should sum together to equal this amount.
        Parameters:
        transactionAmount - The transaction amount that we're expecting to execute against the payment.
      • setSubtotal

        public void setSubtotal​(javax.money.MonetaryAmount subtotal)
        The payment's total usually excluding adjustments, tax, and shipping.
        Parameters:
        subtotal - The payment's total usually excluding adjustments, tax, and shipping.
      • setAdjustmentsTotal

        public void setAdjustmentsTotal​(javax.money.MonetaryAmount adjustmentsTotal)
        The payment's adjustments (a.k.a discounts) total, usually excluding shipping/fulfillment discounts.
        Parameters:
        adjustmentsTotal - The payment's adjustments (a.k.a discounts) total, usually excluding shipping/fulfillment discounts.
      • setFulfillmentTotal

        public void setFulfillmentTotal​(javax.money.MonetaryAmount fulfillmentTotal)
        The payment's total fulfillment cost.
        Parameters:
        fulfillmentTotal - The payment's total fulfillment cost.
      • setTaxTotal

        public void setTaxTotal​(javax.money.MonetaryAmount taxTotal)
        The payment's total tax cost.
        Parameters:
        taxTotal - The payment's total tax cost.
      • setSecurityCode

        public void setSecurityCode​(String securityCode)
        The payment method security code that may be required to execute the transaction. Typically, this value is required to execute transactions against multi-use payment methods to validate that the user is the owner of the payment method.
        Parameters:
        securityCode - The payment method security code that may be required to execute the transaction.
      • setRequestId

        public void setRequestId​(String requestId)
        The id representing the customer's request to execute one or more transactions.
        Parameters:
        requestId - The id representing the customer's request to execute one or more transactions.
      • canEqual

        protected boolean canEqual​(Object other)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object