java.lang.Object
com.broadleafcommerce.orderoperation.service.provider.external.domain.payment.TransactionExecutionResponse
All Implemented Interfaces:
Serializable

public class TransactionExecutionResponse extends Object implements Serializable
Response object describing the resulting transaction details and PaymentSummary.
Author:
Chris Kittrell (ckittrell)
See Also:
  • Constructor Details

    • TransactionExecutionResponse

      public TransactionExecutionResponse()
  • Method Details

    • wasSuccessful

      public boolean wasSuccessful()
      Whether all the transactions were successful based on TransactionExecutionDetail.wasSuccessful().
      Returns:
      Whether or not all the transactions were successfull.
      See Also:
    • hasTransactionFlaggedForManualReview

      public boolean hasTransactionFlaggedForManualReview()
      Whether any of the transactions have been flagged for manual review based on TransactionExecutionDetail.isFlaggedForManualReview().
      Returns:
      Whether any of the transactions have been flagged for manual review.
      See Also:
    • isIndeterminateResult

      public boolean isIndeterminateResult()
      Whether any of the transactions has an indeterminate result.
      Returns:
      Whether or not any of the transactions has an indeterminate result
    • getAmountSuccessfullyExecuted

      public javax.money.MonetaryAmount getAmountSuccessfullyExecuted()
      Gets the total amount that was successfully executed.
      Returns:
      The total amount that was successfully executed.
    • getAmountFailedToExecute

      public javax.money.MonetaryAmount getAmountFailedToExecute()
      Gets the total amount that failed to execute.
      Returns:
      The total amount that failed to execute.
    • getAmountAwaitingResult

      public javax.money.MonetaryAmount getAmountAwaitingResult()
      Gets the total amount that was successfully queued by the gateway, but has not yet been executed.
      Returns:
      The total amount that was successfully queued by the gateway, but has not yet been executed.
    • getCurrency

      @Nullable public javax.money.CurrencyUnit getCurrency()
      The currency gathered from getPaymentSummary() or getExpectedTotalAmount().
      Returns:
      The currency gathered from the payment summary or expected total amount.
    • getPaymentId

      @Nullable public String getPaymentId()
    • getPaymentSummary

      @Nullable public PaymentSummary getPaymentSummary()
      The payment's updated PaymentSummary representation.

      This can be null if the payment is archived as a result of a failed transaction.

      Returns:
      The payment's updated PaymentSummary representation.
    • getTransactionType

      public String getTransactionType()
      The type of transactions that were executed.
      Returns:
      The type of transactions that were executed.
      See Also:
    • getTransactionExecutionDetails

      public List<TransactionExecutionDetail> getTransactionExecutionDetails()
      A list of TransactionExecutionDetails describing the transactions executed.

      Typically there will only be multiple transactions being executed if there're multiple parent transactions being executed against. This scenario is very unlikely and not expected out of box for non-refund type transactions, however it is supported.

      Returns:
      A list of TransactionExecutionDetails describing the transactions executed.
    • 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.
    • getExpectedTotalAmount

      public javax.money.MonetaryAmount getExpectedTotalAmount()
      The total amount that we're expecting to be executed against the paymentSummary, spread across the transactionExecutionDetails. This amount must be valid according to what's available for the paymentSummary. If specified, the amount details (subtotal, adjustmentsTotal, fulfillmentTotal, & taxTotal) should sum together to equal this amount.
      Returns:
      The total amount that we're expecting to execute against the paymentSummary, spread across the transactionExecutionDetails.
    • 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
    • setPaymentSummary

      public void setPaymentSummary(@Nullable PaymentSummary paymentSummary)
      The payment's updated PaymentSummary representation.

      This can be null if the payment is archived as a result of a failed transaction.

      Parameters:
      paymentSummary - The payment's updated PaymentSummary representation.
    • setTransactionType

      public void setTransactionType(String transactionType)
      The type of transactions that were executed.
      Parameters:
      transactionType - The type of transactions that were executed.
      See Also:
    • setTransactionExecutionDetails

      public void setTransactionExecutionDetails(List<TransactionExecutionDetail> transactionExecutionDetails)
      A list of TransactionExecutionDetails describing the transactions executed.

      Typically there will only be multiple transactions being executed if there're multiple parent transactions being executed against. This scenario is very unlikely and not expected out of box for non-refund type transactions, however it is supported.

      Parameters:
      transactionExecutionDetails - A list of TransactionExecutionDetails describing the transactions executed.
    • 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.
    • setExpectedTotalAmount

      public void setExpectedTotalAmount(javax.money.MonetaryAmount expectedTotalAmount)
      The total amount that we're expecting to be executed against the paymentSummary, spread across the transactionExecutionDetails. This amount must be valid according to what's available for the paymentSummary. If specified, the amount details (subtotal, adjustmentsTotal, fulfillmentTotal, & taxTotal) should sum together to equal this amount.
      Parameters:
      expectedTotalAmount - The total amount that we're expecting to execute against the paymentSummary, spread across the transactionExecutionDetails.
    • setSubtotal

      public void setSubtotal(javax.money.MonetaryAmount 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.
    • setFulfillmentTotal

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

      public void setTaxTotal(javax.money.MonetaryAmount taxTotal)
      The payment's total tax cost
    • 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