Class PaymentInfo

java.lang.Object
com.broadleafcommerce.paymentgateway.domain.PaymentInfo

public class PaymentInfo extends Object
The Payment information that is used to add, update or remove the payment method properties, using the provided payment type and additional attributes. This can be useful for example when one application uses different configurations for different orders.
Author:
Dima Myroniuk (dmyroniuk)
See Also:
  • Constructor Details

    • PaymentInfo

      public PaymentInfo()
  • Method Details

    • getCurrency

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

      @Deprecated public void setCurrency(javax.money.CurrencyUnit currency)
      Deprecated.
      No longer needed to set currency as it is derived from the amount.
      Declare the currency for this object. Note: this value is ignored if an amount can be obtained from getAmount().
      Parameters:
      currency - The currency which should match the currency of getAmount
    • addressByType

      public Address<PaymentInfo> addressByType(String addressType)
      Since:
      PaymentGatewayCommon 2.0.5
    • getOwnerType

      public String getOwnerType()
      Describes the owner of the payment. For example, the payment could have originated with a cart or a subscription, therefore this value might be CART or SUBSCRIPTION.
      Returns:
      The type describing the owner of the payment
    • getOwnerId

      public String getOwnerId()
      The id of the entity that owns this payment. For example, this may be a cart id, or a subscription billing cycle id.
      Returns:
      The id of the entity that owns this payment.
    • getGatewayType

      public String getGatewayType()
      The payment gateway used to process this payment.
    • getType

      public String getType()
      The type of this payment like Credit Card or Gift Card.
      Returns:
      The type of this payment like Credit Card or Gift Card.
    • getAmount

      public javax.money.MonetaryAmount getAmount()
      The amount for which this payment is allotted.

      If specified, the amount details should be equal to this amount using the following equation: transactionAmount = subtotal + fulfillmentTotal + feesTotal - adjustmentsTotal + taxTotal - includedTaxTotal.

      Returns:
      The amount for which this payment is allotted.
    • getSubtotal

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

      Note: Only the amount is required, but if this value is included, then the fulfillmentTotal, feesTotal, adjustmentsTotal, taxTotal, & includedTaxTotal should be included also.

      Returns:
      The payment's total usually excluding adjustments, tax, fees, and shipping.
    • getAdjustmentsTotal

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

      Note: Only the amount is required, but if this value is included, then the subtotal, fulfillmentTotal, feesTotal, taxTotal, & includedTaxTotal should be included also.

      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.

      Note: Only the amount is required, but if this value is included, then the subtotal, feesTotal, adjustmentsTotal, taxTotal, & includedTaxTotal should be included also.

      Returns:
      The payment's total fulfillment cost.
    • getFeesTotal

      public javax.money.MonetaryAmount getFeesTotal()
      The total fees related to the transaction amount.

      Note: Only the amount is required, but if this value is included, then the subtotal, fulfillmentTotal, adjustmentsTotal, taxTotal, & includedTaxTotal should be included also.

      Returns:
      The total fees related to the transaction amount
    • getTaxTotal

      public javax.money.MonetaryAmount getTaxTotal()
      The payment's total tax cost.

      Note: Only the amount is required, but if this value is included, then the subtotal, fulfillmentTotal, feesTotal, adjustmentsTotal, & includedTaxTotal should be included also.

      Returns:
      The payment's total tax cost.
    • getIncludedTaxTotal

      public javax.money.MonetaryAmount getIncludedTaxTotal()
      The amount of taxes that are included in the subtotal (VAT).

      Note: Only the amount is required, but if this value is included, then the subtotal, fulfillmentTotal, feesTotal, adjustmentsTotal, & taxTotal should be included also.

      Returns:
      The amount of taxes that are included in the subtotal (VAT).
    • getAddressByType

      public Map<String,Address<PaymentInfo>> getAddressByType()
      The collection of related addresses that may include billing or shipping addresses
      Returns:
      The collection of related addresses
      Since:
      PaymentGatewayCommon 2.0.5
    • getPaymentMethodProperties

      public Map<String,String> getPaymentMethodProperties()
      Map to capture any information about the payment method needed to perform gateway transactions
      Returns:
      Map to capture any information about the payment method needed to perform gateway transactions
    • getAttributes

      public Map<String,String> getAttributes()
      General use map to capture any additional attributes.
      Returns:
      General use map to capture any additional attributes
    • getDisplayAttributes

      public Map<String,String> getDisplayAttributes()
      General use map to capture any display properties for the payment.
      Returns:
      General use map to capture any display properties for the payment
      Since:
      PaymentGatewayCommon 2.0.5
    • setOwnerType

      public void setOwnerType(String ownerType)
      Describes the owner of the payment. For example, the payment could have originated with a cart or a subscription, therefore this value might be CART or SUBSCRIPTION.
      Parameters:
      ownerType - The type describing the owner of the payment
    • setOwnerId

      public void setOwnerId(String ownerId)
      The id of the entity that owns this payment. For example, this may be a cart id, or a subscription billing cycle id.
      Parameters:
      ownerId - The id of the entity that owns this payment.
    • setGatewayType

      public void setGatewayType(String gatewayType)
      The payment gateway used to process this payment.
    • setType

      public void setType(String type)
      The type of this payment like Credit Card or Gift Card.
      Parameters:
      type - The type of this payment like Credit Card or Gift Card.
    • setAmount

      public void setAmount(javax.money.MonetaryAmount amount)
      The amount for which this payment is allotted.

      If specified, the amount details should be equal to this amount using the following equation: transactionAmount = subtotal + fulfillmentTotal + feesTotal - adjustmentsTotal + taxTotal - includedTaxTotal.

      Parameters:
      amount - The amount for which this payment is allotted.
    • setSubtotal

      public void setSubtotal(javax.money.MonetaryAmount subtotal)
      The payment's total usually excluding adjustments, tax, fees, and shipping.

      Note: Only the amount is required, but if this value is included, then the fulfillmentTotal, feesTotal, adjustmentsTotal, taxTotal, & includedTaxTotal should be included also.

      Parameters:
      subtotal - The payment's total usually excluding adjustments, tax, fees, and shipping.
    • setAdjustmentsTotal

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

      Note: Only the amount is required, but if this value is included, then the subtotal, fulfillmentTotal, feesTotal, taxTotal, & includedTaxTotal should be included also.

      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.

      Note: Only the amount is required, but if this value is included, then the subtotal, feesTotal, adjustmentsTotal, taxTotal, & includedTaxTotal should be included also.

      Parameters:
      fulfillmentTotal - The payment's total fulfillment cost.
    • setFeesTotal

      public void setFeesTotal(javax.money.MonetaryAmount feesTotal)
      The total fees related to the transaction amount.

      Note: Only the amount is required, but if this value is included, then the subtotal, fulfillmentTotal, adjustmentsTotal, taxTotal, & includedTaxTotal should be included also.

      Parameters:
      feesTotal - The total fees related to the transaction amount
    • setTaxTotal

      public void setTaxTotal(javax.money.MonetaryAmount taxTotal)
      The payment's total tax cost.

      Note: Only the amount is required, but if this value is included, then the subtotal, fulfillmentTotal, feesTotal, adjustmentsTotal, & includedTaxTotal should be included also.

      Parameters:
      taxTotal - The payment's total tax cost.
    • setIncludedTaxTotal

      public void setIncludedTaxTotal(javax.money.MonetaryAmount includedTaxTotal)
      The amount of taxes that are included in the subtotal (VAT).

      Note: Only the amount is required, but if this value is included, then the subtotal, fulfillmentTotal, feesTotal, adjustmentsTotal, & taxTotal should be included also.

      Parameters:
      includedTaxTotal - The amount of taxes that are included in the subtotal (VAT).
    • setAddressByType

      public void setAddressByType(Map<String,Address<PaymentInfo>> addressByType)
      The collection of related addresses that may include billing or shipping addresses
      Parameters:
      addressByType - The collection of related addresses
      Since:
      PaymentGatewayCommon 2.0.5
    • setPaymentMethodProperties

      public void setPaymentMethodProperties(Map<String,String> paymentMethodProperties)
      Map to capture any information about the payment method needed to perform gateway transactions
      Parameters:
      paymentMethodProperties - Map to capture any information about the payment method needed to perform gateway transactions
    • setAttributes

      public void setAttributes(Map<String,String> attributes)
      General use map to capture any additional attributes.
      Parameters:
      attributes - General use map to capture any additional attributes
    • setDisplayAttributes

      public void setDisplayAttributes(Map<String,String> displayAttributes)
      General use map to capture any display properties for the payment.
      Parameters:
      displayAttributes - General use map to capture any display properties for the payment
      Since:
      PaymentGatewayCommon 2.0.5
    • 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