Class Transaction

java.lang.Object
com.broadleafcommerce.creditaccount.domain.Transaction
All Implemented Interfaces:
com.broadleafcommerce.data.tracking.core.ContextStateAware, Serializable

public class Transaction extends Object implements Serializable, com.broadleafcommerce.data.tracking.core.ContextStateAware
The transaction information for the credit account.
Author:
Dima Myroniuk (dmyroniuk)
See Also:
  • Constructor Details

    • Transaction

      public Transaction()
  • Method Details

    • getCurrency

      @Nullable public javax.money.CurrencyUnit getCurrency()
      The currency gathered from getAmount()
      Returns:
      The currency gathered from the amount
    • setCurrency

      public void setCurrency(javax.money.CurrencyUnit currencyUnit)
    • getId

      public String getId()
      The id of this transaction.
      Returns:
      The id of this transaction.
    • getCreditAccountRef

      public CreditAccountRef getCreditAccountRef()
      The credit account reference to the credit account.
      Returns:
      The credit account reference to the credit account.
    • getTransactionReferenceId

      public String getTransactionReferenceId()
      The transaction id known by the payment gateway. This reference can be used to link the request to the gateway's record of the transaction in the case that the calling application does not receive a response from the gateway.
      Returns:
      The transaction id known by the payment gateway
    • getRequestId

      public String getRequestId()
      The id used to represent the request that produced this transaction.
      Returns:
      The id used to represent the request that produced this transaction
    • getType

      public String getType()
      The type of this transaction.
      Returns:
      The type of this transaction
      See Also:
    • getSubType

      public String getSubType()
      The sub-type of this transaction.
      Returns:
      The sub-type of this transaction
      See Also:
    • getSource

      public String getSource()
      The name of the system that initiated the transaction - e.g. CART_OPERATION_SERVICES vs ORDER_OPERATION_SERVICES.
      Returns:
      The name of the system that initiated the transaction
    • getSourceUserType

      public String getSourceUserType()
      The type of user who initiated the transaction.
      Returns:
      The type of user who initiated the transaction
      See Also:
    • getSourceUserId

      public String getSourceUserId()
      The id of user who initiated the transaction.
      Returns:
      The id of user who initiated the transaction
    • getSourceEntityType

      public String getSourceEntityType()
      The type of the source entity associated with the transaction. For example, "CHECKOUT_REQUEST" or "ORDER_FULFILLMENT".
      Returns:
      The type of the source entity associated with the transaction
      See Also:
    • 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.

      Returns:
      The ID of the source entity associated with the transaction
      See Also:
    • getReason

      public String getReason()
      The reason for this transaction.
      Returns:
      The reason for this transaction
    • getReasonDescription

      public String getReasonDescription()
      Description for the reason for this transaction.
      Returns:
      Description for the reason for this transaction
    • getDateRecorded

      public Instant getDateRecorded()
      The timestamp when this transaction response was recorded.
      Returns:
      The timestamp when this transaction response was recorded
    • getExpirationDate

      public Instant getExpirationDate()
      The timestamp when this transaction will expire. Note: this field is only applicable for credit transactions.
      Returns:
      The timestamp when this transaction will expire
    • getAmount

      public javax.money.MonetaryAmount getAmount()
      The amount related to this transaction.
      Returns:
      The amount related to this transaction
    • getAmountRemaining

      public javax.money.MonetaryAmount getAmountRemaining()
      The unused/unexpired amount related to this transaction. Note: this field is only applicable if this is an expiring credit transaction.
      Returns:
      The unused/unexpired amount related to this transaction
    • getRelatedTransactionDetails

      public List<RelatedTransactionDetail> getRelatedTransactionDetails()
      The child debit transactions for purchases or expirations. Note: These records should only be present on credit transactions.
      Returns:
      the related transaction details
    • getContextState

      public com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState getContextState()
      A subset of Tracking information to expose the context state for this object.
      Specified by:
      getContextState in interface com.broadleafcommerce.data.tracking.core.ContextStateAware
      Returns:
      a subset of Tracking information to expose the context state for this object
    • getVersion

      public Integer getVersion()
      The version of this transaction. Used for checking that the requested version of the transaction is up-to-date before saving changes. Required for any request which results in an update being made. This should never be manually incremented/decremented.
    • setId

      public void setId(String id)
      The id of this transaction.
      Parameters:
      transactionId - The id of this transaction.
    • setCreditAccountRef

      public void setCreditAccountRef(CreditAccountRef creditAccountRef)
      The credit account reference to the credit account.
      Parameters:
      transactionId - The credit account reference to the credit account.
    • setTransactionReferenceId

      public void setTransactionReferenceId(String transactionReferenceId)
      The transaction id known by the payment gateway. This reference can be used to link the request to the gateway's record of the transaction in the case that the calling application does not receive a response from the gateway.
      Parameters:
      transactionReferenceId - The transaction id known by the payment gateway
    • setRequestId

      public void setRequestId(String requestId)
      The id used to represent the request that produced this transaction.
      Parameters:
      requestId - The id used to represent the request that produced this transaction
    • setType

      public void setType(String type)
      The type of this transaction.
      Parameters:
      type - The type of this transaction
      See Also:
    • setSubType

      public void setSubType(String subType)
      The sub-type of this transaction.
      Parameters:
      subType - The sub-type of this transaction
      See Also:
    • setSource

      public void setSource(String source)
      The name of the system that initiated the transaction - e.g. CART_OPERATION_SERVICES vs ORDER_OPERATION_SERVICES.
      Parameters:
      source - The name of the system that initiated the transaction
    • setSourceUserType

      public void setSourceUserType(String sourceUserType)
      The type of user who initiated the transaction.
      Parameters:
      sourceUserType - The type of user who initiated the transaction
      See Also:
    • setSourceUserId

      public void setSourceUserId(String sourceUserId)
      The id of user who initiated the transaction.
      Parameters:
      sourceUserId - The id of user who initiated the transaction
    • setSourceEntityType

      public void setSourceEntityType(String sourceEntityType)
      The type of the source entity associated with the transaction. For example, "CHECKOUT_REQUEST" or "ORDER_FULFILLMENT".
      Parameters:
      sourceEntityType - The type of the source entity associated with the transaction
      See Also:
    • 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.

      Parameters:
      sourceEntityId - The ID of the source entity associated with the transaction
      See Also:
    • setReason

      public void setReason(String reason)
      The reason for this transaction.
      Parameters:
      reason - The reason for this transaction
    • setReasonDescription

      public void setReasonDescription(String reasonDescription)
      Description for the reason for this transaction.
      Parameters:
      reasonDescription - Description for the reason for this transaction
    • setDateRecorded

      public void setDateRecorded(Instant dateRecorded)
      The timestamp when this transaction response was recorded.
      Parameters:
      dateRecorded - The timestamp when this transaction response was recorded
    • setExpirationDate

      public void setExpirationDate(Instant expirationDate)
      The timestamp when this transaction will expire. Note: this field is only applicable for credit transactions.
      Parameters:
      expirationDate - The timestamp when this transaction will expire
    • setAmount

      public void setAmount(javax.money.MonetaryAmount amount)
      The amount related to this transaction.
      Parameters:
      amount - The amount related to this transaction
    • setAmountRemaining

      public void setAmountRemaining(javax.money.MonetaryAmount amountRemaining)
      The unused/unexpired amount related to this transaction. Note: this field is only applicable if this is an expiring credit transaction.
      Parameters:
      amountRemaining - The unused/unexpired amount related to this transaction
    • setRelatedTransactionDetails

      public void setRelatedTransactionDetails(List<RelatedTransactionDetail> relatedTransactionDetails)
      The child debit transactions for purchases or expirations. Note: These records should only be present on credit transactions.
      Parameters:
      relatedTransactionDetails - the related transaction details
    • setContextState

      public void setContextState(com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState)
      A subset of Tracking information to expose the context state for this object.
      Specified by:
      setContextState in interface com.broadleafcommerce.data.tracking.core.ContextStateAware
      Parameters:
      contextState - a subset of Tracking information to expose the context state for this object
    • setVersion

      public void setVersion(Integer version)
      The version of this transaction. Used for checking that the requested version of the transaction is up-to-date before saving changes. Required for any request which results in an update being made. This should never be manually incremented/decremented.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • canEqual

      protected boolean canEqual(Object other)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object