Serialized Form

  • Package com.broadleafcommerce.paymenttransaction.domain

    • Class com.broadleafcommerce.paymenttransaction.domain.Address

      class Address extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • additionalAttributes
          Map<String,Object> additionalAttributes
          Map holding any additional attributes passed in the request not matching any defined properties.
        • addressLine1
          String addressLine1
          Primary address information, typically street name and building number.
        • addressLine2
          String addressLine2
          Secondary address information, like apartment, suite, or unit number.
        • addressLine3
          String addressLine3
          Tertiary address information, typically for international addresses.
        • city
          String city
          The city, town or village of this address.
        • companyName
          String companyName
          The name of the company at this address.
        • country
          String country
          The country for this address.
        • county
          String county
          The county of this address.
        • emailAddress
          String emailAddress
          The email address of the individual at this physical address.
        • firstName
          String firstName
          The first name of the individual at this address.
        • fullName
          String fullName
          The combined names of the individual at this address. It is considered better UX to use a full name field in place of separate first and last name fields.
        • isActive
          boolean isActive
          Whether this address is an active address of the owner.
        • isDefault
          boolean isDefault
          Whether this address is the default address of the owner.
        • lastName
          String lastName
          The last name of the individual at this address.
        • phoneFax
          Phone phoneFax
          The fax number for this address.
        • phonePrimary
          Phone phonePrimary
          The primary phone number for this address.
        • phoneSecondary
          Phone phoneSecondary
          The secondary phone number for this address.
        • postalCode
          String postalCode
          Postal code or ZIP code for this address.
        • stateProvinceRegion
          String stateProvinceRegion
          The state, province or region of this address.
    • Class com.broadleafcommerce.paymenttransaction.domain.CustomerRef

      class CustomerRef extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • accountHierarchy
          List<String> accountHierarchy
          The hierarchy of accounts, from the root account to the account member's account.

          For example, if we have this account setup, rootAcct -> subAcct (child of rootAcct) -> subSubAcct (child of subAcct), this field would be [rootAcct, subAcct, subSubAcct]. This is useful to query all the carts that belong to the same non-root account and its sub-accounts.

        • accountId
          String accountId
          The ID of the account the customer belongs to.
        • customerId
          String customerId
          The customer's id.
        • fullName
          String fullName
          The customer's full name, if available.
        • isRegistered
          boolean isRegistered
          Defines whether or not the customer is registered. If false, then the customer is considered anonymous.
        • rootAccountId
          String rootAccountId
          The ID of the root account the account member belongs to.
        • username
          String username
          The customer's username.
    • Class com.broadleafcommerce.paymenttransaction.domain.OwnershipSummary

      class OwnershipSummary extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • id
          String id
          The id of the entity.
        • ownerId
          String ownerId
          The owner id of the entity.
        • ownerType
          String ownerType
          The owner type of the entity.
        • visibilityToChildren
          String visibilityToChildren
          The visibility type of the payment to sub-accounts, if applicable.
          See Also:
    • Class com.broadleafcommerce.paymenttransaction.domain.Payment

      class Payment extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • accessRestrictions
          List<String> accessRestrictions
          The list of restrictions that apply to payment access.
        • addressByType
          Map<String,Address> addressByType
          The collection of related addresses that may include billing or shipping addresses
        • adjustmentsTotal
          javax.money.MonetaryAmount adjustmentsTotal
          The payment's adjustments (a.k.a discounts) total, usually excluding shipping/fulfillment discounts. Note: Only the Payment.amount is required, but if this value is included, then the Payment.subtotal, Payment.fulfillmentTotal, Payment.feesTotal, Payment.taxTotal, & Payment.includedTaxTotal should be included also.
        • amount
          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 = Payment.subtotal + Payment.fulfillmentTotal + Payment.feesTotal - Payment.adjustmentsTotal + Payment.taxTotal - Payment.includedTaxTotal.
        • attributes
          Map<String,String> attributes
          General use map to capture any additional attributes needed for this Payment
        • contextState
          com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState
          A subset of Tracking information to expose the context state for this object.
        • customerRef
          CustomerRef customerRef
          Deprecated, for removal: This API element is subject to removal in a future version.
          A reference to the customer that owns this payment.
        • dateCreated
          Instant dateCreated
          The date that this payment was created.
        • displayAttributes
          Map<String,String> displayAttributes
          General use map to capture any display properties for this Payment
        • feesTotal
          javax.money.MonetaryAmount feesTotal
          The total fees related to the transaction Payment.amount Note: Only the Payment.amount is required, but if this value is included, then the Payment.subtotal, Payment.fulfillmentTotal, Payment.adjustmentsTotal, Payment.taxTotal, & Payment.includedTaxTotal should be included also.
        • fulfillmentTotal
          javax.money.MonetaryAmount fulfillmentTotal
          The payment's total fulfillment cost. Note: Only the Payment.amount is required, but if this value is included, then the Payment.subtotal, Payment.feesTotal, Payment.adjustmentsTotal, Payment.taxTotal, & Payment.includedTaxTotal should be included also.
        • gatewayType
          String gatewayType
          The gateway used to process this payment. Only a SINGLE payment gateway can be used for a payment.
        • id
          String id
          The id of this payment.
        • includedTaxTotal
          javax.money.MonetaryAmount includedTaxTotal
          The amount of taxes that are included in the subtotal (VAT). Note: Only the Payment.amount is required, but if this value is included, then the Payment.subtotal, Payment.fulfillmentTotal, Payment.feesTotal, Payment.adjustmentsTotal, & Payment.taxTotal should be included also.
        • isSingleUsePaymentMethod
          boolean isSingleUsePaymentMethod
          Whether or not the underlying payment method can only be used once. In most cases, we're managing a single-use token that represents a credit card. This flag is especially important for managing payments with successful transactions. In those cases, the token has already been used and cannot be reused. If we need modify the payment's amount, then we may actually need to archive the existing payment, and create a new payment, with a new underlying token. Additionally, this flag is helpful when needing to re-authorize an expired authorization transaction. In that case, if the payment represents a single-use payment method, then the re-authorization may not be possible, and you'll need to seek an alternative form of payment.
        • name
          String name
          The name of this payment. This name is typically something like "Visa ending in 1234".
        • ownerId
          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.
        • ownerType
          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.
        • owningUserEmailAddress
          String owningUserEmailAddress
          The email address of the owning user identified by Payment.owningUserType and Payment.owningUserId.
        • owningUserId
          String owningUserId
          The id of the owning user that owns this payment. For example, this may be a customer id, or an account id.
        • owningUserName
          String owningUserName
          The name of the owning user identified by Payment.owningUserType and Payment.owningUserId.
        • owningUserType
          String owningUserType
          Describes the owning user type of the payment. For example, the payment could belong to a customer or an account, therefore this value might be BLC_CUSTOMER or BLC_ACCOUNT.
          See Also:
        • paymentMethodProperties
          Map<String,String> paymentMethodProperties
          Map to capture any information about the payment method needed to perform gateway transactions
        • savedPaymentMethodId
          String savedPaymentMethodId
          The id of the saved payment method that was used to build this payment object. Note: This property is only relevant if the user desires to use a saved payment method to pay for their order. Otherwise, this value should remain unset.
        • shouldSavePaymentForFutureUse
          boolean shouldSavePaymentForFutureUse
          Should the payment method be saved to the owning user. Typically, this value is set to true when the payment's initial transaction is executed using a single-use token, and produces a mutli-use token that can be used for future purchases. In that case, we'd expect the multi-use token to be provided via PaymentResponse.getPaymentMethodProperties().
        • shouldSavePaymentToCustomer
          boolean shouldSavePaymentToCustomer
          Deprecated, for removal: This API element is subject to removal in a future version.
          since 1.0.2, in favor of Payment.shouldSavePaymentForFutureUse to support owning user types other than a customer (i.e. account).
        • subtotal
          javax.money.MonetaryAmount subtotal
          The payment's total usually excluding adjustments, tax, fees, and shipping. Note: Only the Payment.amount is required, but if this value is included, then the Payment.fulfillmentTotal, Payment.feesTotal, Payment.adjustmentsTotal, Payment.taxTotal, & Payment.includedTaxTotal should be included also.
        • taxTotal
          javax.money.MonetaryAmount taxTotal
          The payment's total tax cost. Note: Only the Payment.amount is required, but if this value is included, then the Payment.subtotal, Payment.fulfillmentTotal, Payment.feesTotal, Payment.adjustmentsTotal, & Payment.includedTaxTotal should be included also.
        • transactions
          List<PaymentTransaction> transactions
          Transaction data representing each payment gateway interaction related to this payment.
        • type
          String type
          The type of this payment like Credit Card or Gift Card.
        • version
          Integer version
          The version of this payment. Used for checking that the requested version of the payment is up-to-date before saving changes. Required for any request which results in an update being made to the payment. This should never be manually incremented/decremented.
    • Class com.broadleafcommerce.paymenttransaction.domain.PaymentCustomerNotificationDecorator

      class PaymentCustomerNotificationDecorator extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • contextInfo
          com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
          Context information around sandbox and multitenant state.
        • paymentCustomerNotification
          com.broadleafcommerce.paymentgateway.domain.PaymentCustomerNotification paymentCustomerNotification
          The default notification object.
    • Class com.broadleafcommerce.paymenttransaction.domain.PaymentRef

      class PaymentRef extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • gatewayType
          String gatewayType
          The gateway used to process this payment. Only a SINGLE payment gateway can be used for a payment.
        • id
          String id
          The payment's id.
        • name
          String name
          The payment's name.
        • ownerId
          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.
        • ownerType
          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.
        • owningUserId
          String owningUserId
          The id of the owning user that owns this payment. For example, this may be a customer id, or an account id.
        • owningUserType
          String owningUserType
          Describes the owning user type of the payment. For example, the payment could belong to a customer or an account, therefore this value might be BLC_CUSTOMER or BLC_ACCOUNT.
          See Also:
        • type
          String type
          The type of this payment like Credit Card or Gift Card.
    • Class com.broadleafcommerce.paymenttransaction.domain.PaymentSummary

      class PaymentSummary extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • accessRestrictions
          List<String> accessRestrictions
          See Also:
        • addressByType
          Map<String,Address> addressByType
          The collection of related addresses that may include billing or shipping addresses
        • adjustmentsTotal
          javax.money.MonetaryAmount adjustmentsTotal
          See Also:
        • amount
          javax.money.MonetaryAmount amount
          See Also:
        • amountAuthorized
          javax.money.MonetaryAmount amountAuthorized
          The total authorized amount for capture. This value is calculated as "total authorized - total reverse-authed".
        • amountAwaiting3DSResult
          javax.money.MonetaryAmount amountAwaiting3DSResult
          The total amount of Authorize or AuthorizeAndCapture transactions that require 3DS verification. Note: this excludes transactions that previously required 3DS verification, but we now have transaction results for.

          This value should only be present for payment gateways that support 3DS verification.

        • amountAwaitingExternalResult
          javax.money.MonetaryAmount amountAwaitingExternalResult
          The total amount awaiting result for transactions that require external interaction.

          This value should only be present for payment gateways that support external interaction.

        • amountCaptured
          javax.money.MonetaryAmount amountCaptured
          The total amount that is currently captured. This value is calculated as "total captured - total refunded".
        • amountCredited
          javax.money.MonetaryAmount amountCredited
          The total detached credit amount.
        • amountRefunded
          javax.money.MonetaryAmount amountRefunded
          The total refunded amount.
        • attributes
          Map<String,String> attributes
          See Also:
        • authorizeAmountAwaitingResult
          javax.money.MonetaryAmount authorizeAmountAwaitingResult
          The total amount sent to the payment gateway for authorize, and is waiting for a response about the transaction result.

          Typically authorize transactions have immediate result, but sometimes the result can be pending for certain gateways.

        • captureAmountAwaitingResult
          javax.money.MonetaryAmount captureAmountAwaitingResult
          The total amount sent to the payment gateway for capture, and is waiting for a response about the transaction result.

          This value should only be present for payment gateways that support asynchronous transaction executions.

        • displayAttributes
          Map<String,String> displayAttributes
          See Also:
        • feesTotal
          javax.money.MonetaryAmount feesTotal
          See Also:
        • fulfillmentTotal
          javax.money.MonetaryAmount fulfillmentTotal
          See Also:
        • gatewayType
          String gatewayType
          See Also:
        • hasTransactionFlaggedForManualReview
          boolean hasTransactionFlaggedForManualReview
          Indicates that the payment transaction has been flagged for manual review via fraud checks.
        • includedTaxTotal
          javax.money.MonetaryAmount includedTaxTotal
          See Also:
        • isSingleUsePaymentMethod
          boolean isSingleUsePaymentMethod
          See Also:
        • name
          String name
          See Also:
        • nextAction
          com.broadleafcommerce.paymentgateway.domain.NextAction nextAction
          The next step required by the payment gateway to continue processing this payment.
        • ownerId
          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.
        • ownerType
          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.
        • partialReverseAuthSupported
          boolean partialReverseAuthSupported
          Whether a portion of an authorization transaction can be reversed, or if the full authorization transaction must be reversed.
        • paymentId
          String paymentId
          See Also:
        • refundAmountAwaitingResult
          javax.money.MonetaryAmount refundAmountAwaitingResult
          The total amount sent to the payment gateway for refund, and is waiting for a response about the transaction result.

          This value should only be present for payment gateways that support asynchronous transaction executions.

        • reverseAuthorizeAmountAwaitingResult
          javax.money.MonetaryAmount reverseAuthorizeAmountAwaitingResult
          The total amount sent to the payment gateway for reverse authorize, and is waiting for a response about the transaction result.

          This value should only be present for payment gateways that support asynchronous transaction executions.

        • reverseAuthRemainder
          boolean reverseAuthRemainder
          Declares if the reverse authorize for this functionality only allows reversing the full non-captured amount
        • subtotal
          javax.money.MonetaryAmount subtotal
          See Also:
        • taxTotal
          javax.money.MonetaryAmount taxTotal
          See Also:
        • totalEverCaptured
          javax.money.MonetaryAmount totalEverCaptured
          The total amount ever captured, as opposed to the current snapshot of the captured amount represented in PaymentSummary.getAmountCaptured().
        • type
          String type
          See Also:
        • version
          Integer version
          The version of this payment. Used for checking that the requested version of the payment is up-to-date before saving changes. Required for any request which results in an update being made to the payment. This should never be manually incremented/decremented.
    • Class com.broadleafcommerce.paymenttransaction.domain.PaymentTransaction

      class PaymentTransaction extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • adjustmentsTotal
          javax.money.MonetaryAmount adjustmentsTotal
          The payment's adjustments (a.k.a discounts) total, usually excluding shipping/fulfillment discounts. Note: Only the PaymentTransaction.amount is required, but if this value is included, then the PaymentTransaction.subtotal, PaymentTransaction.fulfillmentTotal, PaymentTransaction.feesTotal, PaymentTransaction.taxTotal, & PaymentTransaction.includedTaxTotal should be included also.
        • amount
          javax.money.MonetaryAmount amount
          The amount related to this transaction. Depending on the PaymentTransaction.type, this may be the amount authorized, captured, refunded, etc.
        • attributes
          Map<String,String> attributes
          Map of specific attributes that have been gathered from the raw response. This should be used for data points that are to be used programmatically. For example, a gateway-specific transaction id that can be used to capture or refund the transaction.
        • contextState
          com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState
          A subset of Tracking information to expose the context state for this object.
        • customerIpAddress
          String customerIpAddress
          The customer IP address that instigated this transaction
        • dateRecorded
          Instant dateRecorded
          The timestamp when this transaction response was recorded
        • declineType
          String declineType
          The type of transaction failure (hard vs soft failure)
        • failureType
          String failureType
          The type of transaction failure
        • feesTotal
          javax.money.MonetaryAmount feesTotal
          The total fees related to the PaymentTransaction.amount Note: Only the PaymentTransaction.amount is required, but if this value is included, then the PaymentTransaction.subtotal, PaymentTransaction.fulfillmentTotal, PaymentTransaction.adjustmentsTotal, PaymentTransaction.taxTotal, & PaymentTransaction.includedTaxTotal should be included also.
        • flaggedForManualReview
          boolean flaggedForManualReview
          Indicates that the payment transaction has been flagged for manual review via fraud checks.
        • fulfillmentTotal
          javax.money.MonetaryAmount fulfillmentTotal
          The payment's total fulfillment cost. Note: Only the PaymentTransaction.amount is required, but if this value is included, then the PaymentTransaction.subtotal, PaymentTransaction.feesTotal, PaymentTransaction.adjustmentsTotal, PaymentTransaction.taxTotal, & PaymentTransaction.includedTaxTotal should be included also.
        • gatewayMessage
          String gatewayMessage
          Message from the gateway describing the result of the transaction.
        • gatewayResponseCode
          String gatewayResponseCode
          The response code provided by the payment gateway which may represent a success or failure
        • gatewayTransactionId
          String gatewayTransactionId
          The gateway-specific id for the transaction.
        • gatewayTransactionType
          String gatewayTransactionType
          The type of this transaction, as described by the gateway.
        • id
          String id
          The id of this payment transaction.
        • includedTaxTotal
          javax.money.MonetaryAmount includedTaxTotal
          The amount of taxes that are included in the subtotal (VAT). Note: Only the PaymentTransaction.amount is required, but if this value is included, then the PaymentTransaction.subtotal, PaymentTransaction.fulfillmentTotal, PaymentTransaction.feesTotal, PaymentTransaction.adjustmentsTotal, & PaymentTransaction.taxTotal should be included also.
        • indeterminateResult
          boolean indeterminateResult
          Tells if this transaction has an indeterminate result.

          Having an indeterminate result means that the true outcome of the transaction is not known. For example, if a transaction is sent to the payment processor but a network error occurred, it is not known to us whether the user was actually charged or not (thus, the result is indeterminate).

          Transactions should be marked as indeterminate when sending to the payment processor, and then unmarked once a response is received, understood, and recorded. This means that a transaction in an indeterminate result state is expected during the sending to processor phase. However, if the transaction remains in that state for an excessive amount of time, something likely went wrong and the transaction will need to be reconciled. If the transaction changes from the sending to processor status but remains indeterminate, the transaction will also require reconciliation in that scenario.

          Some situations which may lead to an indeterminate result:

          • A transaction is sent to the processor, but a network error prevents us from receiving the response
          • A transaction is sent to the processor, but the processor returns an unexpected error (e.g. 500 internal server error)
          • A transaction is sent to the processor and a response is received, but cannot be recorded because Cart Services is down
          • A transaction is sent to the processor and a response is received, but cannot be recorded because the database is down
        • managementState
          String managementState
          The state of this transaction - e.g. whether the transaction is scheduled for reversal or if it's being used in an active checkout. If the transaction was not successful, then we expect this value to be null.
          See Also:
        • managementStateReason
          String managementStateReason
          Describes the reason for the PaymentTransaction.managementState.
          See Also:
        • manualReviewResult
          String manualReviewResult
          Describes the outcome of the manual review of a transaction after it was flagged by fraud checks.
          See Also:
          • DefaultManualFraudReviewResultTypes
        • manualReviewResultReason
          String manualReviewResultReason
          Describes the reason for approving/rejecting a transaction during a manual fraud review.
        • nextAction
          com.broadleafcommerce.paymentgateway.domain.NextAction nextAction
          The next step required for the payment gateway to continue processing this payment.
        • parentSourceEntityId
          String parentSourceEntityId
          The id of the parent source entity of the transaction that proceeded this transaction.
          See Also:
        • parentSourceEntityType
          String parentSourceEntityType
          The type of the parent source entity of the transaction that proceeded this transaction.

          This is used to identify the parent transaction instead of using the parent transaction id itself, because other systems have no knowledge of specific transactions.

          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.

        • parentTransactionId
          String parentTransactionId
          The id of the parent PaymentTransaction. Necessary for operations on a payment that require something to have happened beforehand. For instance, an authorize transaction would not have a parent but a capture must have an authorize parent transaction and a refund must have a capture parent transaction. The full set of expected parent-child transaction relationships are as follows:
          • Child Transaction -> Parent Transaction
          • Reverse Authorize -> Authorize
          • Capture -> Authorize
          • Refund -> Capture
          • Refund -> AuthorizeAndCapture
        • paymentRef
          PaymentRef paymentRef
          The payment in the relationship.
        • previousRequestIds
          List<String> previousRequestIds
          The list of requestIds that were previously used for this transaction.

          Note: if the transaction is reused for multiple requests, then the PaymentTransaction.requestId should be updated with the latest value, & the previous value should be stored in this collection.

        • rawResponse
          String rawResponse
          The string representation of the serialized response from the gateway. This is usually the complete request parameter map serialized in string form.
        • requestId
          String requestId
          The id used to represent the request that produced this transaction.
        • source
          String source
          The name of the system that initiated the transaction - e.g. CART_OPERATION_SERVICES vs ORDER_OPERATION_SERVICES.
        • sourceEntityId
          String sourceEntityId
          The ID of the source entity associated with the transaction.

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

          See Also:
        • sourceEntityType
          String sourceEntityType
          The type of the source entity associated with the transaction. For example, "CHECKOUT_REQUEST" or "ORDER_FULFILLMENT".
        • status
          String status
          The status of the transaction
          See Also:
        • subtotal
          javax.money.MonetaryAmount subtotal
          The payment's total usually excluding adjustments, tax, fees, and shipping. Note: Only the PaymentTransaction.amount is required, but if this value is included, then the PaymentTransaction.fulfillmentTotal, PaymentTransaction.feesTotal, PaymentTransaction.adjustmentsTotal, PaymentTransaction.taxTotal, & PaymentTransaction.includedTaxTotal should be included also.
        • taxTotal
          javax.money.MonetaryAmount taxTotal
          The payment's total tax cost. Note: Only the PaymentTransaction.amount is required, but if this value is included, then the PaymentTransaction.subtotal, PaymentTransaction.fulfillmentTotal, PaymentTransaction.feesTotal, PaymentTransaction.adjustmentsTotal, & PaymentTransaction.includedTaxTotal should be included also.
        • threeDSecureVerificationUrl
          String threeDSecureVerificationUrl
          Deprecated.
          in favor of PaymentTransaction.nextAction
          The gateway-provided url where the customer must verify that they are in fact the owner of the payment method. The customer is typically redirected to this location, but the page can also be rendered within an iframe if you'd like.
        • transactionReferenceId
          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.
        • type
          String type
          The type of this transaction (authorize, capture, refund, etc.)
        • version
          Integer version
          The version of this payment transaction. Used for checking that the requested version of the payment transaction is up-to-date before saving changes. Required for any request which results in an update being made to the payment transaction. This should never be manually incremented/decremented.
    • Class com.broadleafcommerce.paymenttransaction.domain.PaymentTransactionRef

      class PaymentTransactionRef extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • adjustmentsTotal
          javax.money.MonetaryAmount adjustmentsTotal
          The payment's adjustments (a.k.a discounts) total, usually excluding shipping/fulfillment discounts. Note: Only the PaymentTransactionRef.amount is required, but if this value is included, then the PaymentTransactionRef.subtotal, PaymentTransactionRef.fulfillmentTotal, PaymentTransactionRef.feesTotal, PaymentTransactionRef.taxTotal, & PaymentTransactionRef.includedTaxTotal should be included also.
        • amount
          javax.money.MonetaryAmount amount
          The amount related to this transaction. Depending on the PaymentTransactionRef.type, this may be the amount authorized, captured, refunded, etc.
        • attributes
          Map<String,String> attributes
          Map of specific attributes that have been gathered from the raw response. This should be used for data points that are to be used programmatically. For example, a gateway-specific transaction id that can be used to capture or refund the transaction.
        • dateRecorded
          Instant dateRecorded
          The timestamp when this transaction response was recorded
        • failureType
          String failureType
          The type of transaction failure
        • feesTotal
          javax.money.MonetaryAmount feesTotal
          The total fees related to the PaymentTransactionRef.amount Note: Only the PaymentTransactionRef.amount is required, but if this value is included, then the PaymentTransactionRef.subtotal, PaymentTransactionRef.fulfillmentTotal, PaymentTransactionRef.adjustmentsTotal, PaymentTransactionRef.taxTotal, & PaymentTransactionRef.includedTaxTotal should be included also.
        • flaggedForManualReview
          boolean flaggedForManualReview
          Indicates that the payment transaction has been flagged for manual review via fraud checks.
        • fulfillmentTotal
          javax.money.MonetaryAmount fulfillmentTotal
          The payment's total fulfillment cost. Note: Only the PaymentTransactionRef.amount is required, but if this value is included, then the PaymentTransactionRef.subtotal, PaymentTransactionRef.feesTotal, PaymentTransactionRef.adjustmentsTotal, PaymentTransactionRef.taxTotal, & PaymentTransactionRef.includedTaxTotal should be included also.
        • gatewayResponseCode
          String gatewayResponseCode
          The response code provided by the payment gateway which may represent a success or failure
        • gatewayTransactionId
          String gatewayTransactionId
          The gateway-specific id for the transaction.
        • gatewayTransactionType
          String gatewayTransactionType
          The type of this transaction, as described by the gateway.
        • id
          String id
          The payment transaction's id.
        • includedTaxTotal
          javax.money.MonetaryAmount includedTaxTotal
          The amount of taxes that are included in the subtotal (VAT). Note: Only the PaymentTransactionRef.amount is required, but if this value is included, then the PaymentTransactionRef.subtotal, PaymentTransactionRef.fulfillmentTotal, PaymentTransactionRef.feesTotal, PaymentTransactionRef.adjustmentsTotal, & PaymentTransactionRef.taxTotal should be included also.
        • indeterminateResult
          boolean indeterminateResult
          Tells if this transaction has an indeterminate result.

          Having an indeterminate result means that the true outcome of the transaction is not known. For example, if a transaction is sent to the payment processor but a network error occurred, it is not known to us whether the user was actually charged or not (thus, the result is indeterminate).

          Transactions should be marked as indeterminate when sending to the payment processor, and then unmarked once a response is received, understood, and recorded. This means that a transaction in an indeterminate result state is expected during the sending to processor phase. However, if the transaction remains in that state for an excessive amount of time, something likely went wrong and the transaction will need to be reconciled. If the transaction changes from the sending to processor status but remains indeterminate, the transaction will also require reconciliation in that scenario.

          Some situations which may lead to an indeterminate result:

          • A transaction is sent to the processor, but a network error prevents us from receiving the response
          • A transaction is sent to the processor, but the processor returns an unexpected error (e.g. 500 internal server error)
          • A transaction is sent to the processor and a response is received, but cannot be recorded because Cart Services is down
          • A transaction is sent to the processor and a response is received, but cannot be recorded because the database is down
        • managementState
          String managementState
          The state of this transaction - e.g. whether the transaction is scheduled for reversal or if it's being used in an active checkout. If the transaction was not successful, then we expect this value to be null.
          See Also:
        • managementStateReason
          String managementStateReason
          Describes the reason for the PaymentTransactionRef.managementState.
          See Also:
        • manualReviewResult
          String manualReviewResult
          Describes the outcome of the manual review of a transaction after it was flagged by fraud checks.
          See Also:
          • DefaultManualFraudReviewResultTypes
        • manualReviewResultReason
          String manualReviewResultReason
          Describes the reason for approving/rejecting a transaction during a manual fraud review.
        • nextAction
          com.broadleafcommerce.paymentgateway.domain.NextAction nextAction
          The next step required for the payment gateway to continue processing this payment.
        • parentSourceEntityId
          String parentSourceEntityId
          The id of the parent source entity of the transaction that proceeded this transaction.
          See Also:
        • parentSourceEntityType
          String parentSourceEntityType
          The type of the parent source entity of the transaction that proceeded this transaction.

          This is used to identify the parent transaction instead of using the parent transaction id itself, because other systems have no knowledge of specific transactions.

          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.

        • parentTransactionId
          String parentTransactionId
          The id of the parent PaymentTransaction. Necessary for operations on a payment that require something to have happened beforehand. For instance, an authorize transaction would not have a parent but a capture must have an authorize parent transaction and a refund must have a capture parent transaction. The full set of expected parent-child transaction relationships are as follows:
          • Child Transaction -> Parent Transaction
          • Reverse Authorize -> Authorize
          • Capture -> Authorize
          • Refund -> Capture
          • Refund -> AuthorizeAndCapture
        • paymentId
          String paymentId
          The payment's id.
        • previousRequestIds
          List<String> previousRequestIds
          The list of requestIds that were previously used for this transaction.

          Note: if the transaction is reused for multiple requests, then the PaymentTransactionRef.requestId should be updated with the latest value, & the previous value should be stored in this collection.

        • requestId
          String requestId
          The id used to represent the request that produced this transaction.
        • source
          String source
          The name of the system that initiated the transaction - e.g. CART_OPERATION_SERVICES vs ORDER_OPERATION_SERVICES.
        • sourceEntityId
          String sourceEntityId
          The ID of the source entity associated with the transaction.

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

          See Also:
        • sourceEntityType
          String sourceEntityType
          The type of the source entity associated with the transaction. For example, "CHECKOUT_REQUEST" or "ORDER_FULFILLMENT".
        • status
          String status
          The status of the transaction
          See Also:
        • subtotal
          javax.money.MonetaryAmount subtotal
          The payment's total usually excluding adjustments, tax, fees, and shipping. Note: Only the PaymentTransactionRef.amount is required, but if this value is included, then the PaymentTransactionRef.fulfillmentTotal, PaymentTransactionRef.feesTotal, PaymentTransactionRef.adjustmentsTotal, PaymentTransactionRef.taxTotal, & PaymentTransactionRef.includedTaxTotal should be included also.
        • taxTotal
          javax.money.MonetaryAmount taxTotal
          The payment's total tax cost. Note: Only the PaymentTransactionRef.amount is required, but if this value is included, then the PaymentTransactionRef.subtotal, PaymentTransactionRef.fulfillmentTotal, PaymentTransactionRef.feesTotal, PaymentTransactionRef.adjustmentsTotal, & PaymentTransactionRef.includedTaxTotal should be included also.
        • transactionReferenceId
          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.
        • type
          String type
          The type of this transaction (authorize, capture, refund, etc.)
    • Class com.broadleafcommerce.paymenttransaction.domain.Phone

      class Phone extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • countryCode
          String countryCode
          The country calling code that acts as a prefix to the main telephone number.
        • extension
          String extension
          The internal extension for this phone.
        • phoneNumber
          String phoneNumber
          The telephone number, including the area code.
    • Class com.broadleafcommerce.paymenttransaction.domain.SavedPaymentMethod

      class SavedPaymentMethod extends Object implements Serializable
      serialVersionUID:
      1L
    • Class com.broadleafcommerce.paymenttransaction.domain.SavedPaymentMethodNextAction

      class SavedPaymentMethodNextAction extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • actionType
          String actionType
          The type of this action. This can be any value and should be controlled by the client side (UI) to execute some specific actions.

          For example, to verify the ACH payment method for Stripe with micro-deposit, this value can be "MICRO_DEPOSIT_VERIFICATION".

          See Also:
        • attributes
          Map<String,Object> attributes
          Any additional attributes needed by this action.
        • status
          String status
          The status of this action.
          See Also:
        • statusDetails
          String statusDetails
          Any details for the current action status.
    • Class com.broadleafcommerce.paymenttransaction.domain.SavedPaymentMethodSummary

      class SavedPaymentMethodSummary extends Object implements Serializable
      serialVersionUID:
      1L
    • Class com.broadleafcommerce.paymenttransaction.domain.TransactionSummary

      class TransactionSummary extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • additionalAttributes
          Map<String,Object> additionalAttributes
          Map holding any additional attributes used to describe the transaction summary.
        • amountAuthorized
          javax.money.MonetaryAmount amountAuthorized
          The total authorized amount for capture. This value is calculated as "total authorized - total reverse-authed".
        • amountAwaiting3DSResult
          javax.money.MonetaryAmount amountAwaiting3DSResult
          The total amount of Authorize or AuthorizeAndCapture transactions that require 3DS verification. Note: this excludes transactions that previously required 3DS verification, but we now have transaction results for.

          This value should only be present for payment gateways that support 3DS verification.

        • amountAwaitingExternalResult
          javax.money.MonetaryAmount amountAwaitingExternalResult
          The total amount awaiting result for transactions that require external interaction.

          This value should only be present for payment gateways that support external interaction.

        • amountCaptured
          javax.money.MonetaryAmount amountCaptured
          The total amount that is currently captured. This value is calculated as "total captured - total refunded".
        • amountCredited
          javax.money.MonetaryAmount amountCredited
          The total detached credit amount.
        • amountRefunded
          javax.money.MonetaryAmount amountRefunded
          The total refunded amount.
        • authorizeAmountAwaitingResult
          javax.money.MonetaryAmount authorizeAmountAwaitingResult
          The total amount sent to the payment gateway for authorize, and is waiting for a response about the transaction result.

          Typically authorize transactions have immediate result, but sometimes the result can be pending for certain gateways.

        • captureAmountAwaitingResult
          javax.money.MonetaryAmount captureAmountAwaitingResult
          The total amount sent to the payment gateway for capture, and is waiting for a response about the transaction result.

          This value should only be present for payment gateways that support asynchronous transaction executions.

        • paymentSummaries
          List<PaymentSummary> paymentSummaries
          A collection of PaymentSummaries related to the same owning entity.
        • refundAmountAwaitingResult
          javax.money.MonetaryAmount refundAmountAwaitingResult
          The total amount sent to the payment gateway for refund, and is waiting for a response about the transaction result.

          This value should only be present for payment gateways that support asynchronous transaction executions.

        • reverseAuthorizeAmountAwaitingResult
          javax.money.MonetaryAmount reverseAuthorizeAmountAwaitingResult
          The total amount sent to the payment gateway for reverse authorize, and is waiting for a response about the transaction result.

          This value should only be present for payment gateways that support asynchronous transaction executions.

        • totalEverCaptured
          javax.money.MonetaryAmount totalEverCaptured
          The total amount ever captured, as opposed to the current snapshot of the captured amount represented in TransactionSummary.getAmountCaptured().
        • transactions
          List<PaymentTransactionRef> transactions
          The list of transactions that are represented in this transaction summary.
  • Package com.broadleafcommerce.paymenttransaction.domain.enums

  • Package com.broadleafcommerce.paymenttransaction.exception

  • Package com.broadleafcommerce.paymenttransaction.exception.security

  • Package com.broadleafcommerce.paymenttransaction.provider.jpa.domain

  • Package com.broadleafcommerce.paymenttransaction.service.domain

    • Class com.broadleafcommerce.paymenttransaction.service.domain.TransactionAmountDetails

      class TransactionAmountDetails extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • adjustmentsTotal
          javax.money.MonetaryAmount adjustmentsTotal
          The payment's adjustments (a.k.a discounts) total, usually excluding shipping/fulfillment discounts. Note: Only the TransactionAmountDetails.amount is required, but if this value is included, then the TransactionAmountDetails.subtotal, TransactionAmountDetails.fulfillmentTotal, TransactionAmountDetails.feesTotal, TransactionAmountDetails.taxTotal, & TransactionAmountDetails.includedTaxTotal should be included also.
        • amount
          javax.money.MonetaryAmount amount
          The amount related to this transaction.
        • feesTotal
          javax.money.MonetaryAmount feesTotal
          The total fees related to the TransactionAmountDetails.amount Note: Only the TransactionAmountDetails.amount is required, but if this value is included, then the TransactionAmountDetails.subtotal, TransactionAmountDetails.fulfillmentTotal, TransactionAmountDetails.adjustmentsTotal, TransactionAmountDetails.taxTotal, & TransactionAmountDetails.includedTaxTotal should be included also.
        • fulfillmentTotal
          javax.money.MonetaryAmount fulfillmentTotal
          The payment's total fulfillment cost. Note: Only the TransactionAmountDetails.amount is required, but if this value is included, then the TransactionAmountDetails.subtotal, TransactionAmountDetails.feesTotal, TransactionAmountDetails.adjustmentsTotal, TransactionAmountDetails.taxTotal, & TransactionAmountDetails.includedTaxTotal should be included also.
        • includedTaxTotal
          javax.money.MonetaryAmount includedTaxTotal
          The amount of taxes that are included in the subtotal (VAT). Note: Only the TransactionAmountDetails.amount is required, but if this value is included, then the TransactionAmountDetails.subtotal, TransactionAmountDetails.fulfillmentTotal, TransactionAmountDetails.feesTotal, TransactionAmountDetails.adjustmentsTotal, & TransactionAmountDetails.taxTotal should be included also.
        • subtotal
          javax.money.MonetaryAmount subtotal
          The payment's total usually excluding adjustments, tax, fees, and shipping. Note: Only the TransactionAmountDetails.amount is required, but if this value is included, then the TransactionAmountDetails.fulfillmentTotal, TransactionAmountDetails.feesTotal, TransactionAmountDetails.adjustmentsTotal, TransactionAmountDetails.taxTotal, & TransactionAmountDetails.includedTaxTotal should be included also.
        • taxTotal
          javax.money.MonetaryAmount taxTotal
          The payment's total tax cost. Note: Only the TransactionAmountDetails.amount is required, but if this value is included, then the TransactionAmountDetails.subtotal, TransactionAmountDetails.fulfillmentTotal, TransactionAmountDetails.feesTotal, TransactionAmountDetails.adjustmentsTotal, & TransactionAmountDetails.includedTaxTotal should be included also.
    • Class com.broadleafcommerce.paymenttransaction.service.domain.TransactionSummaryRequest

      class TransactionSummaryRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • additionalAttributes
          Map<String,Object> additionalAttributes
          Additional attributes that can be declared for this request.
        • ownerId
          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.
        • ownerType
          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.
        • shouldIncludeFailedTransactions
          boolean shouldIncludeFailedTransactions
          Whether to include failed transactions.
        • shouldIncludeReversedOrReversalTransactions
          boolean shouldIncludeReversedOrReversalTransactions
          Whether to include transactions that were automatically reversed or automatically reversed another transaction.
  • Package com.broadleafcommerce.paymenttransaction.service.messaging.reversals

    • Class com.broadleafcommerce.paymenttransaction.service.messaging.reversals.CheckoutRollbackEvent

      class CheckoutRollbackEvent extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • cartId
          String cartId
          The id of the cart that was submitted for checkout
        • contextInfo
          com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo
          The ContextInfo derived from the original request containing tenant and sandbox info.
        • requestId
          String requestId
          The id representing this request to checkout This value can be used to identify entities that were produced due to this request and therefore need to be rolled back
  • Package com.broadleafcommerce.paymenttransaction.service.messaging.transactionwebhook

  • Package com.broadleafcommerce.paymenttransaction.service.provider.external.domain

    • Class com.broadleafcommerce.paymenttransaction.service.provider.external.domain.PaymentAccount

      class PaymentAccount extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • accountType
          String accountType
          Deprecated, for removal: This API element is subject to removal in a future version.
          This represents the type of payment that is associated with this account.
        • addressLine1
          String addressLine1
          Deprecated, for removal: This API element is subject to removal in a future version.
          Primary address information associated with this payment account, typically street name and building number.
        • addressLine2
          String addressLine2
          Deprecated, for removal: This API element is subject to removal in a future version.
          Secondary address information associated with this payment account, typically apartment, suite, or unit number.
        • addressLine3
          String addressLine3
          Deprecated, for removal: This API element is subject to removal in a future version.
          Tertiary address information associated with this payment account, typically for international addresses.
        • cardType
          String cardType
          Deprecated, for removal: This API element is subject to removal in a future version.
          The specific card type, i.e. Visa, Mastercard, Discover, etc.
        • city
          String city
          Deprecated, for removal: This API element is subject to removal in a future version.
          The city, town or village of this billing address.
        • contextState
          com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState
          Deprecated, for removal: This API element is subject to removal in a future version.
          A subset of Tracking information to expose the context state for this object.
        • country
          String country
          Deprecated, for removal: This API element is subject to removal in a future version.
          The country for this billing address.
        • county
          String county
          Deprecated, for removal: This API element is subject to removal in a future version.
          The county of this billing address.
        • customerId
          String customerId
          Deprecated, for removal: This API element is subject to removal in a future version.
          The id of the customer associated with this payment account.
        • deactivated
          boolean deactivated
          Deprecated, for removal: This API element is subject to removal in a future version.
          Whether this account is deactivated.
        • displayAttributes
          Map<String,String> displayAttributes
          Deprecated, for removal: This API element is subject to removal in a future version.
          General use map to capture any display properties for the Payment
        • displayName
          String displayName
          Deprecated, for removal: This API element is subject to removal in a future version.
          The user-friendly name provided for the payment account.
        • expirationMonth
          Integer expirationMonth
          Deprecated, for removal: This API element is subject to removal in a future version.
          The month the payment gateway account associated with this payment account will expire.
        • expirationYear
          Integer expirationYear
          Deprecated, for removal: This API element is subject to removal in a future version.
          The year the payment gateway account associated with this payment account will expire.
        • fullName
          String fullName
          Deprecated, for removal: This API element is subject to removal in a future version.
          The combined names of the individual at this billing address. It is considered better UX to use a full name field in place of separate first and last name fields.
        • gatewayType
          String gatewayType
          Deprecated, for removal: This API element is subject to removal in a future version.
          The payment gateway associated with this payment account.
        • id
          String id
          Deprecated, for removal: This API element is subject to removal in a future version.
          The context ID of the payment account.
        • lastTransactionDateTime
          Instant lastTransactionDateTime
          Deprecated, for removal: This API element is subject to removal in a future version.
          The timestamp of the last successful transaction made by this payment account.
        • lastTransactionResultCode
          String lastTransactionResultCode
          Deprecated, for removal: This API element is subject to removal in a future version.
          The result code returned from the gateway on the last transaction successful.
        • maskedAccountNumber
          String maskedAccountNumber
          Deprecated, for removal: This API element is subject to removal in a future version.
          Partial information about the payment account, e.g. last four numbers of a credit card.
        • nameOnAccount
          String nameOnAccount
          Deprecated, for removal: This API element is subject to removal in a future version.
          The name associated with this payment account.
        • originatingPaymentId
          String originatingPaymentId
          Deprecated, for removal: This API element is subject to removal in a future version.
          The Payment.getId() that this payment account was created from. This is typically populated when a multi-use payment token is produced by executing a transaction against a single-use token via a checkout interaction.
        • paymentGatewayProperties
          Map<String,String> paymentGatewayProperties
          Deprecated, for removal: This API element is subject to removal in a future version.
          Map to capture any gateway-specific information needed to perform gateway transactions
        • phonePrimary
          Phone phonePrimary
          Deprecated, for removal: This API element is subject to removal in a future version.
          The primary phone number for this billing address.
        • phoneSecondary
          Phone phoneSecondary
          Deprecated, for removal: This API element is subject to removal in a future version.
          The secondary phone number for this billing address.
        • postalCode
          String postalCode
          Deprecated, for removal: This API element is subject to removal in a future version.
          Postal code or ZIP code for this billing address.
        • stateProvinceRegion
          String stateProvinceRegion
          Deprecated, for removal: This API element is subject to removal in a future version.
          The state, province or region of this address.
    • Class com.broadleafcommerce.paymenttransaction.service.provider.external.domain.PaymentAccountSummary

      class PaymentAccountSummary extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • accountType
          String accountType
          Deprecated, for removal: This API element is subject to removal in a future version.
          This represents the type of payment that is associated with this account.
        • addressLine1
          String addressLine1
          Deprecated, for removal: This API element is subject to removal in a future version.
          Primary address information associated with this payment account, typically street name and building number.
        • addressLine2
          String addressLine2
          Deprecated, for removal: This API element is subject to removal in a future version.
          Secondary address information associated with this payment account, typically apartment, suite, or unit number.
        • addressLine3
          String addressLine3
          Deprecated, for removal: This API element is subject to removal in a future version.
          Tertiary address information associated with this payment account, typically for international addresses.
        • cardType
          String cardType
          Deprecated, for removal: This API element is subject to removal in a future version.
          The specific card type, i.e. Visa, Mastercard, Discover, etc.
        • city
          String city
          Deprecated, for removal: This API element is subject to removal in a future version.
          The city, town or village of this billing address.
        • contextState
          com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState
          Deprecated, for removal: This API element is subject to removal in a future version.
          A subset of Tracking information to expose the context state for this object.
        • country
          String country
          Deprecated, for removal: This API element is subject to removal in a future version.
          The country for this billing address.
        • county
          String county
          Deprecated, for removal: This API element is subject to removal in a future version.
          The county of this billing address.
        • customerRef
          CustomerRef customerRef
          Deprecated, for removal: This API element is subject to removal in a future version.
          The customer associated with this payment account.
        • deactivated
          boolean deactivated
          Deprecated, for removal: This API element is subject to removal in a future version.
          Whether this account is deactivated.
        • displayAttributes
          Map<String,String> displayAttributes
          Deprecated, for removal: This API element is subject to removal in a future version.
          General use map to capture any display properties for the Payment
        • displayName
          String displayName
          Deprecated, for removal: This API element is subject to removal in a future version.
          The user-friendly name provided for the payment account.
        • expirationMonth
          Integer expirationMonth
          Deprecated, for removal: This API element is subject to removal in a future version.
          The month the payment gateway account associated with this payment account will expire.
        • expirationYear
          Integer expirationYear
          Deprecated, for removal: This API element is subject to removal in a future version.
          The year the payment gateway account associated with this payment account will expire.
        • fullName
          String fullName
          Deprecated, for removal: This API element is subject to removal in a future version.
          The combined names of the individual at this billing address. It is considered better UX to use a full name field in place of separate first and last name fields.
        • gatewayType
          String gatewayType
          Deprecated, for removal: This API element is subject to removal in a future version.
          The payment gateway associated with this payment account.
        • id
          String id
          Deprecated, for removal: This API element is subject to removal in a future version.
          The context ID of the payment account.
        • lastTransactionDateTime
          Instant lastTransactionDateTime
          Deprecated, for removal: This API element is subject to removal in a future version.
          The timestamp of the last transaction made by this payment account.
        • lastTransactionResultCode
          String lastTransactionResultCode
          Deprecated, for removal: This API element is subject to removal in a future version.
          The result code returned from the gateway on the last transaction.
        • maskedAccountNumber
          String maskedAccountNumber
          Deprecated, for removal: This API element is subject to removal in a future version.
          Partial information about the payment account, e.g. last four numbers of a credit card.
        • nameOnAccount
          String nameOnAccount
          Deprecated, for removal: This API element is subject to removal in a future version.
          The name associated with this payment account.
        • originatingPaymentId
          String originatingPaymentId
          Deprecated, for removal: This API element is subject to removal in a future version.
          The Payment.getId() that this payment account was created from. This is typically populated when a multi-use payment token is produced by executing a transaction against a single-use token via a checkout interaction.
        • phonePrimary
          Phone phonePrimary
          Deprecated, for removal: This API element is subject to removal in a future version.
          The primary phone number for this billing address.
        • phoneSecondary
          Phone phoneSecondary
          Deprecated, for removal: This API element is subject to removal in a future version.
          The secondary phone number for this billing address.
        • postalCode
          String postalCode
          Deprecated, for removal: This API element is subject to removal in a future version.
          Postal code or ZIP code for this billing address.
        • stateProvinceRegion
          String stateProvinceRegion
          Deprecated, for removal: This API element is subject to removal in a future version.
          The state, province or region of this address.
  • Package com.broadleafcommerce.paymenttransaction.service.utils

  • Package com.broadleafcommerce.paymenttransaction.web.endpoint.domain

    • Class com.broadleafcommerce.paymenttransaction.web.endpoint.domain.CreatePaymentRequest

      class CreatePaymentRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • adjustmentsTotal
          javax.money.MonetaryAmount adjustmentsTotal
          The payment's adjustments (a.k.a discounts) total, usually excluding shipping/fulfillment discounts. Note: Only the CreatePaymentRequest.amount is required, but if this value is included, then the CreatePaymentRequest.subtotal, CreatePaymentRequest.fulfillmentTotal, CreatePaymentRequest.feesTotal, CreatePaymentRequest.taxTotal, & CreatePaymentRequest.includedTaxTotal should be included also.
        • amount
          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 = CreatePaymentRequest.subtotal + CreatePaymentRequest.fulfillmentTotal + CreatePaymentRequest.feesTotal - CreatePaymentRequest.adjustmentsTotal + CreatePaymentRequest.taxTotal - CreatePaymentRequest.includedTaxTotal.
        • attributes
          Map<String,String> attributes
          Map to capture any additional information about the payment
        • billingAddress
          Address billingAddress
          The billing address associated with this payment.
        • displayAttributes
          Map<String,String> displayAttributes
          General use map to capture any display properties for this Payment
        • feesTotal
          javax.money.MonetaryAmount feesTotal
          The total fees related to the transaction CreatePaymentRequest.amount Note: Only the CreatePaymentRequest.amount is required, but if this value is included, then the CreatePaymentRequest.subtotal, CreatePaymentRequest.fulfillmentTotal, CreatePaymentRequest.adjustmentsTotal, CreatePaymentRequest.taxTotal, & CreatePaymentRequest.includedTaxTotal should be included also.
        • fulfillmentTotal
          javax.money.MonetaryAmount fulfillmentTotal
          The payment's total fulfillment cost. Note: Only the CreatePaymentRequest.amount is required, but if this value is included, then the CreatePaymentRequest.subtotal, CreatePaymentRequest.feesTotal, CreatePaymentRequest.adjustmentsTotal, CreatePaymentRequest.taxTotal, & CreatePaymentRequest.includedTaxTotal should be included also.
        • gatewayType
          String gatewayType
          The gateway used to process this payment. Only a SINGLE payment gateway can modify transactions on a particular payment.
          See Also:
          • PaymentGatewayType
        • includedTaxTotal
          javax.money.MonetaryAmount includedTaxTotal
          The amount of taxes that are included in the subtotal (VAT). Note: Only the CreatePaymentRequest.amount is required, but if this value is included, then the CreatePaymentRequest.subtotal, CreatePaymentRequest.fulfillmentTotal, CreatePaymentRequest.feesTotal, CreatePaymentRequest.adjustmentsTotal, & CreatePaymentRequest.taxTotal should be included also.
        • isSingleUsePaymentMethod
          boolean isSingleUsePaymentMethod
          Whether or not the underlying payment method can only be used once. In most cases, we're managing a single-use token that represents a credit card. This flag is especially important for managing payments with successful transactions. In those cases, the token has already been used and cannot be reused. If we need modify the payment's amount, then we may actually need to archive the existing payment, and create a new payment, with a new underlying token. Additionally, this flag is helpful when needing to re-authorize an expired authorization transaction. In that case, if the payment represents a single-use payment method, then the re-authorization may not be possible, and you'll need to seek an alternative form of payment.
        • name
          String name
          The name of this payment. This name is typically something like "Visa ending in 1234".
        • ownerId
          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.
        • ownerType
          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.
        • owningUserEmailAddress
          String owningUserEmailAddress
          The email address of the owning user identified by CreatePaymentRequest.owningUserType and CreatePaymentRequest.owningUserId.
        • owningUserId
          String owningUserId
          The id of the owning user that owns this payment. For example, this may be a customer id, or an account id.

          This is typically specified for system-initiated actions where the current authentication is not the same as the owning user's context. For example, if the subscription service needs to create a payment for a new billing cycle, the authentication context is the system itself instead of the customer context that actually owns this payment.

          This value is ignored if the owning user id can be resolved based on the current authentication.

        • owningUserName
          String owningUserName
          The name of the owning user identified by CreatePaymentRequest.owningUserType and CreatePaymentRequest.owningUserId.
        • owningUserType
          String owningUserType
          Describes the owning user type of the payment. For example, the payment could belong to a customer or an account, therefore this value might be BLC_CUSTOMER or BLC_ACCOUNT.

          This is typically specified for system-initiated actions where the current authentication is not the same as the owning user's context. For example, if the subscription service needs to create a payment for a new billing cycle, the authentication context is the system itself instead of the customer context that actually owns this payment.

          This value is ignored if the owning user type can be resolved based on the current authentication.

          See Also:
        • paymentMethodProperties
          Map<String,String> paymentMethodProperties
          Map to capture any information about the payment method needed to perform gateway transactions
        • savedPaymentMethodId
          String savedPaymentMethodId
          The id of the saved payment method that was used to build this payment object. Note: This property is only relevant if the user desires to use a saved payment method to pay for their order. Otherwise, this value should remain unset.
        • shippingAddress
          Address shippingAddress
          The shipping address associated with this payment.
        • shouldSavePaymentForFutureUse
          boolean shouldSavePaymentForFutureUse
          Should the payment method be saved to the owning user. Typically, this value is set to true when the payment's initial transaction is executed using a single-use token, and produces a mutli-use token that can be used for future purchases.
        • shouldSavePaymentToCustomer
          boolean shouldSavePaymentToCustomer
          Deprecated, for removal: This API element is subject to removal in a future version.
          since 1.0.2, in favor of CreatePaymentRequest.shouldSavePaymentForFutureUse to support owning user types other than a customer (i.e. account).
        • subtotal
          javax.money.MonetaryAmount subtotal
          The payment's total usually excluding adjustments, tax, fees, and shipping. Note: Only the CreatePaymentRequest.amount is required, but if this value is included, then the CreatePaymentRequest.fulfillmentTotal, CreatePaymentRequest.feesTotal, CreatePaymentRequest.adjustmentsTotal, CreatePaymentRequest.taxTotal, & CreatePaymentRequest.includedTaxTotal should be included also.
        • taxTotal
          javax.money.MonetaryAmount taxTotal
          The payment's total tax cost. Note: Only the CreatePaymentRequest.amount is required, but if this value is included, then the CreatePaymentRequest.subtotal, CreatePaymentRequest.fulfillmentTotal, CreatePaymentRequest.feesTotal, CreatePaymentRequest.adjustmentsTotal, & CreatePaymentRequest.includedTaxTotal should be included also.
        • type
          String type
          The type of this payment like Credit Card or Gift Card.
          See Also:
          • DefaultPaymentTypes
    • Class com.broadleafcommerce.paymenttransaction.web.endpoint.domain.CreateSavedPaymentMethodRequest

      class CreateSavedPaymentMethodRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,String> attributes
          Map to capture any additional information about the payment
        • billingAddress
          Address billingAddress
          The billing address associated with this saved payment method.
        • defaultForOwner
          boolean defaultForOwner
          Whether this saved payment method is the default payment method for the owner entity.
        • displayAttributes
          Map<String,String> displayAttributes
          General use map to capture any display properties for this saved payment method
        • gatewayReferenceId
          String gatewayReferenceId
          See Also:
        • gatewayType
          String gatewayType
          The gateway used to process this saved payment method. Only a SINGLE payment gateway can modify transactions on a particular payment.
          See Also:
          • PaymentGatewayType
        • name
          String name
          The name of this saved payment method. This name is typically something like "Visa ending in 1234".
        • nextAction
          SavedPaymentMethodNextAction nextAction
          See Also:
        • owningUserId
          String owningUserId
          The id of the entity that owns this saved payment method. For example, this may be a customer id, or an account id.
        • owningUserType
          String owningUserType
          Describes the owning user of the saved payment method. For example, the saved payment could belong to a Broadleaf customer or an account, therefore this value might be BLC_CUSTOMER, or BLC_ACCOUNT.
          See Also:
        • paymentMethodProperties
          Map<String,String> paymentMethodProperties
          Map to capture any information about the payment method needed to perform gateway transactions
        • type
          String type
          The type of this saved payment method like Credit Card or Gift Card.
          See Also:
          • DefaultPaymentTypes
        • visibleToChildren
          String visibleToChildren
          The visibility of the payment method to child accounts
    • Class com.broadleafcommerce.paymenttransaction.web.endpoint.domain.LockPaymentRequest

      class LockPaymentRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • ownerId
          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.

          This will be ignored if LockPaymentRequest.paymentIds are provided.

        • ownerType
          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.

          This will be ignored if LockPaymentRequest.paymentIds are provided.

        • paymentIds
          List<String> paymentIds
          The list of ids of the payments to lock.

          If this is not provided, then LockPaymentRequest.ownerType and LockPaymentRequest.ownerId are used to lock the payments.

    • Class com.broadleafcommerce.paymenttransaction.web.endpoint.domain.LockPaymentsResponse

      class LockPaymentsResponse extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • lockTokens
          Map<String,String> lockTokens
          Map of payment ids to payment lock tokens.
        • paymentSummaries
          List<PaymentSummary> paymentSummaries
          List of payments that were locked.
    • Class com.broadleafcommerce.paymenttransaction.web.endpoint.domain.PaymentCallbackValidationRequest

      class PaymentCallbackValidationRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,String> attributes
          Any additional attributes that should be passed.
        • gatewayType
          String gatewayType
          The gateway type for this payment.
        • ownerId
          String ownerId
          The ID of the payment owner. Typically, this is the cart ID.
        • ownerType
          String ownerType
          The type of entity that owns the payment. Typically, this is DefaultPaymentOwnerTypes.BLC_CART.
        • requestParams
          Map<String,String> requestParams
          Request params received from the payment callback.
    • Class com.broadleafcommerce.paymenttransaction.web.endpoint.domain.PaymentCallbackValidationResponse

      class PaymentCallbackValidationResponse extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,String> attributes
          Any additional attributes that should be passed.
        • valid
          boolean valid
          Whether or not the payment callback request is valid.
        • validationMessage
          String validationMessage
          If the request is not valid, this contains any message provided on why it failed.
    • Class com.broadleafcommerce.paymenttransaction.web.endpoint.domain.PaymentLockInfo

      class PaymentLockInfo extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • lockToken
          String lockToken
          Token granted to resource that owns the payment lock.
    • Class com.broadleafcommerce.paymenttransaction.web.endpoint.domain.PaymentLockTokens

      class PaymentLockTokens extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • lockTokens
          Map<String,String> lockTokens
          Map of tokens keyed by Payment ID that can be used to authorize updates for existing payment locks.
    • Class com.broadleafcommerce.paymenttransaction.web.endpoint.domain.SystemUpdatePaymentRequest

      class SystemUpdatePaymentRequest extends UpdatePaymentRequest implements Serializable
      serialVersionUID:
      1L
    • Class com.broadleafcommerce.paymenttransaction.web.endpoint.domain.TransactionExecutionDetail

      class TransactionExecutionDetail extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • adjustmentsTotal
          javax.money.MonetaryAmount adjustmentsTotal
          The payment's adjustments (a.k.a discounts) total, usually excluding shipping/fulfillment discounts.
        • attributes
          Map<String,String> attributes
          Map of specific attributes that have been gathered from the raw response. This should be used for data points that are to be used programmatically. For example, a gateway-specific transaction id that can be used to capture or refund the transaction.
        • dateRecorded
          Instant dateRecorded
          The timestamp when this transaction response was recorded
        • declineType
          String declineType
          The type of transaction failure (hard vs soft failure)
        • failureType
          String failureType
          The type of transaction failure
        • feesTotal
          javax.money.MonetaryAmount feesTotal
          The total fees related to the TransactionExecutionDetail.transactionAmount
        • flaggedForManualReview
          boolean flaggedForManualReview
          Indicates that the payment transaction has been flagged for manual review via fraud checks.
        • fulfillmentTotal
          javax.money.MonetaryAmount fulfillmentTotal
          The payment's total fulfillment cost.
        • gatewayResponseCode
          String gatewayResponseCode
          The response code provided by the payment gateway which may represent a success or failure
        • gatewayTransactionId
          String gatewayTransactionId
          The gateway-specific id for the transaction.
        • includedTaxTotal
          javax.money.MonetaryAmount includedTaxTotal
          The amount of taxes that are included in the subtotal (VAT).
        • indeterminateResult
          boolean indeterminateResult
          Tells if this transaction has an indeterminate result.

          Having an indeterminate result means that the true outcome of the transaction is not known. For example, if a transaction is sent to the payment processor but a network error occurred, it is not known to us whether the user was actually charged or not (thus, the result is indeterminate).

          Transactions should be marked as indeterminate when sending to the payment processor, and then unmarked once a response is received, understood, and recorded. This means that a transaction in an indeterminate result state is expected during the sending to processor phase. However, if the transaction remains in that state for an excessive amount of time, something likely went wrong and the transaction will need to be reconciled. If the transaction changes from the sending to processor status but remains indeterminate, the transaction will also require reconciliation in that scenario.

          Some situations which may lead to an indeterminate result:

          • A transaction is sent to the processor, but a network error prevents us from receiving the response
          • A transaction is sent to the processor, but the processor returns an unexpected error (e.g. 500 internal server error)
          • A transaction is sent to the processor and a response is received, but cannot be recorded because Cart Services is down
          • A transaction is sent to the processor and a response is received, but cannot be recorded because the database is down
        • message
          String message
          Message describing the result of the transaction
        • nextAction
          com.broadleafcommerce.paymentgateway.domain.NextAction nextAction
          The next step required for the payment gateway to continue processing this payment.
        • parentTransactionId
          String parentTransactionId
          The id of the parent PaymentTransaction. Necessary for operations on a payment that require something to have happened beforehand. For instance, an authorize transaction would not have a parent but a capture must have an authorize parent transaction and a refund must have a capture parent transaction. The full set of expected parent-child transaction relationships are as follows:
          • Child Transaction -> Parent Transaction
          • Reverse Authorize -> Authorize
          • Capture -> Authorize
          • Refund -> Capture
          • Refund -> AuthorizeAndCapture
        • subtotal
          javax.money.MonetaryAmount subtotal
          The payment's total usually excluding adjustments, tax, fees, and shipping.
        • taxTotal
          javax.money.MonetaryAmount taxTotal
          The payment's total tax cost.
        • threeDSecureVerificationUrl
          String threeDSecureVerificationUrl
          Deprecated.
          in favor of TransactionExecutionDetail.nextAction
          The gateway-provided url where the customer must verify that they are in fact the owner of the payment method. The customer is typically redirected to this location, but the page can also be rendered within an iframe if this is supported by the gateway.
        • transactionAmount
          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 should be equal to this amount using the following equation: transactionAmount = TransactionExecutionDetail.subtotal + TransactionExecutionDetail.fulfillmentTotal + TransactionExecutionDetail.feesTotal - TransactionExecutionDetail.adjustmentsTotal + TransactionExecutionDetail.taxTotal - TransactionExecutionDetail.includedTaxTotal.
        • transactionId
          String transactionId
          The id of the executed transaction.
        • transactionManagementState
          String transactionManagementState
          The management state of this transaction, after it's been executed.
          See Also:
        • transactionReferenceId
          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.
        • transactionStatus
          String transactionStatus
          The status of the transaction.
          See Also:
    • Class com.broadleafcommerce.paymenttransaction.web.endpoint.domain.TransactionExecutionRequest

      class TransactionExecutionRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • adjustmentsTotal
          javax.money.MonetaryAmount adjustmentsTotal
          The payment's adjustments (a.k.a discounts) total, usually excluding shipping/fulfillment discounts. Note: Only the TransactionExecutionRequest.transactionAmount is required, but if this value is included, then the TransactionExecutionRequest.subtotal, TransactionExecutionRequest.fulfillmentTotal, TransactionExecutionRequest.feesTotal, TransactionExecutionRequest.taxTotal, & TransactionExecutionRequest.includedTaxTotal should be included also.
        • allowAutomaticReversal
          boolean allowAutomaticReversal
          Whether to allow this transaction to be automatically reversed by scheduled jobs.

          Set this field to false if this transaction should only be allowed to be reversed by the external system.

          See Also:
        • feesTotal
          javax.money.MonetaryAmount feesTotal
          The total fees related to the TransactionExecutionRequest.transactionAmount Note: Only the TransactionExecutionRequest.transactionAmount is required, but if this value is included, then the TransactionExecutionRequest.subtotal, TransactionExecutionRequest.fulfillmentTotal, TransactionExecutionRequest.adjustmentsTotal, TransactionExecutionRequest.taxTotal, & TransactionExecutionRequest.includedTaxTotal should be included also.
        • fulfillmentTotal
          javax.money.MonetaryAmount fulfillmentTotal
          The payment's total fulfillment cost. Note: Only the TransactionExecutionRequest.transactionAmount is required, but if this value is included, then the TransactionExecutionRequest.subtotal, TransactionExecutionRequest.feesTotal, TransactionExecutionRequest.adjustmentsTotal, TransactionExecutionRequest.taxTotal, & TransactionExecutionRequest.includedTaxTotal should be included also.
        • includedTaxTotal
          javax.money.MonetaryAmount includedTaxTotal
          The amount of taxes that are included in the subtotal (VAT). Note: Only the TransactionExecutionRequest.transactionAmount is required, but if this value is included, then the TransactionExecutionRequest.subtotal, TransactionExecutionRequest.fulfillmentTotal, TransactionExecutionRequest.feesTotal, TransactionExecutionRequest.adjustmentsTotal, & TransactionExecutionRequest.taxTotal should be included also.
        • parentSourceEntityId
          String parentSourceEntityId
          The id of the 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 TransactionExecutionRequest.getPaymentId() and TransactionExecutionRequest.getTransactionType().

        • parentSourceEntityType
          String parentSourceEntityType
          The type of the 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 TransactionExecutionRequest.getPaymentId() and TransactionExecutionRequest.getTransactionType().

        • parentTransactionId
          String parentTransactionId
          The id of the PaymentTransaction that proceeded this transaction. Typically, this is used when the execution of a transaction requires knowledge of the proceeding transaction, like the need to reference an DefaultTransactionTypes.AUTHORIZE transaction to execute a DefaultTransactionTypes.CAPTURE transaction. This field is optional. If not provided, then parent transactions will be retrieved either by the TransactionExecutionRequest.parentSourceEntityType and TransactionExecutionRequest.parentSourceEntityId, or by the TransactionExecutionRequest.getPaymentId() and TransactionExecutionRequest.getTransactionType().
        • paymentId
          String paymentId
          The id of the related Payment that is meant to be used for the transaction.
        • requestId
          String requestId
          The id representing the customer's request to execute one or more transactions.
        • securityCode
          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.
        • source
          String source
          A simple description of the system that initiated this transaction execution request.
        • sourceEntityId
          String sourceEntityId
          The ID of the source entity associated with the transaction.

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

          See Also:
        • sourceEntityType
          String sourceEntityType
          The type of the source entity associated with the transaction. For example, "CHECKOUT_REQUEST" or "ORDER_FULFILLMENT".
        • subtotal
          javax.money.MonetaryAmount subtotal
          The payment's total usually excluding adjustments, tax, fees, and shipping. Note: Only the TransactionExecutionRequest.transactionAmount is required, but if this value is included, then the TransactionExecutionRequest.fulfillmentTotal, TransactionExecutionRequest.feesTotal, TransactionExecutionRequest.adjustmentsTotal, TransactionExecutionRequest.taxTotal, & TransactionExecutionRequest.includedTaxTotal should be included also.
        • taxTotal
          javax.money.MonetaryAmount taxTotal
          The payment's total tax cost. Note: Only the TransactionExecutionRequest.transactionAmount is required, but if this value is included, then the TransactionExecutionRequest.subtotal, TransactionExecutionRequest.fulfillmentTotal, TransactionExecutionRequest.feesTotal, TransactionExecutionRequest.adjustmentsTotal, & TransactionExecutionRequest.includedTaxTotal should be included also.
        • transactionAmount
          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 should be equal to this amount using the following equation: transactionAmount = TransactionExecutionRequest.subtotal + TransactionExecutionRequest.fulfillmentTotal + TransactionExecutionRequest.feesTotal - TransactionExecutionRequest.adjustmentsTotal + TransactionExecutionRequest.taxTotal - TransactionExecutionRequest.includedTaxTotal.
        • transactionManagementState
          String transactionManagementState
          The starting management state of this transaction.
          See Also:
        • transactionType
          String transactionType
          The type of transaction that is to be executed.
          See Also:
          • TransactionType
    • Class com.broadleafcommerce.paymenttransaction.web.endpoint.domain.TransactionExecutionResponse

      class TransactionExecutionResponse extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • adjustmentsTotal
          javax.money.MonetaryAmount adjustmentsTotal
          The payment's adjustments (a.k.a discounts) total, usually excluding shipping/fulfillment discounts.
        • expectedTotalAmount
          javax.money.MonetaryAmount expectedTotalAmount
          The total amount that we're expecting to be executed against the Payment, spread across the TransactionExecutionResponse.transactionExecutionDetails. This amount must be valid according to what's available for the Payment. If specified, the amount details should be equal to this amount using the following equation: transactionAmount = TransactionExecutionResponse.subtotal + TransactionExecutionResponse.fulfillmentTotal + TransactionExecutionResponse.feesTotal - TransactionExecutionResponse.adjustmentsTotal + TransactionExecutionResponse.taxTotal - TransactionExecutionResponse.includedTaxTotal.
        • feesTotal
          javax.money.MonetaryAmount feesTotal
          The total fees related to the TransactionExecutionResponse.expectedTotalAmount
        • fulfillmentTotal
          javax.money.MonetaryAmount fulfillmentTotal
          The payment's total fulfillment cost.
        • includedTaxTotal
          javax.money.MonetaryAmount includedTaxTotal
          The amount of taxes that are included in the subtotal (VAT).
        • owningEntityPayments
          List<PaymentSummary> owningEntityPayments
          The list of all payments for the owning entity (e.g. Cart). This list is returned if the request contains hydrateOwningEntityPayments=true parameter.
        • paymentSummary
          PaymentSummary paymentSummary
          The Payment's updated PaymentSummary representation.

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

        • requestId
          String requestId
          The id representing the customer's request to execute one or more transactions.
        • subtotal
          javax.money.MonetaryAmount subtotal
          The payment's total usually excluding adjustments, tax, fees, and shipping.
        • taxTotal
          javax.money.MonetaryAmount taxTotal
          The payment's total tax cost.
        • transactionExecutionDetails
          List<TransactionExecutionDetail> transactionExecutionDetails
          A list of TransactionExecutionDetails describing the transactions executed.
        • transactionType
          String transactionType
          The type of transactions that were executed.
          See Also:
          • TransactionType
    • Class com.broadleafcommerce.paymenttransaction.web.endpoint.domain.UnlockPaymentRequest

      class UnlockPaymentRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • lockTokens
          Collection<String> lockTokens
          List of tokens that can be used to release payment locks.
    • Class com.broadleafcommerce.paymenttransaction.web.endpoint.domain.UpdatePaymentRequest

      class UpdatePaymentRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • adjustmentsTotal
          Optional<javax.money.MonetaryAmount> adjustmentsTotal
          The payment's adjustments (a.k.a discounts) total, usually excluding shipping/fulfillment discounts.
        • amount
          Optional<javax.money.MonetaryAmount> amount
          The amount for which the payment is allotted.
        • attributes
          Optional<Map<String,String>> attributes
          Map to capture any additional information about the payment
        • billingAddress
          Optional<Address> billingAddress
          The billing address associated with this payment.
        • displayAttributes
          Optional<Map<String,String>> displayAttributes
          General use map to capture any display properties for this Payment
        • feesTotal
          Optional<javax.money.MonetaryAmount> feesTotal
          The payment's total fee cost
        • fulfillmentTotal
          Optional<javax.money.MonetaryAmount> fulfillmentTotal
          The payment's total fulfillment cost
        • gatewayType
          Optional<String> gatewayType
          The gateway used to process this payment. Only a SINGLE payment gateway can modify transactions on a particular payment.
          See Also:
          • PaymentGatewayType
        • includedTaxTotal
          Optional<javax.money.MonetaryAmount> includedTaxTotal
          The payment's total included tax
        • isSingleUsePaymentMethod
          Optional<Boolean> isSingleUsePaymentMethod
          Whether or not the underlying payment method can only be used once. In most cases, we're managing a single-use token that represents a credit card. This flag is especially important for managing payments with successful transactions. In those cases, the token has already been used and cannot be reused. If we need modify the payment's amount, then we may actually need to archive the existing payment, and create a new payment, with a new underlying token. Additionally, this flag is helpful when needing to re-authorize an expired authorization transaction. In that case, if the payment represents a single-use payment method, then the re-authorization may not be possible, and you'll need to seek an alternative form of payment.
        • name
          Optional<String> name
          The name of this payment. This name is typically something like "Visa ending in 1234".
        • paymentId
          String paymentId
          The ID of the payment to update.
        • paymentMethodProperties
          Optional<Map<String,String>> paymentMethodProperties
          Map to capture any information about the payment method needed to perform gateway transactions
        • savedPaymentMethodId
          Optional<String> savedPaymentMethodId
          The id of the saved payment method that was used to build this payment object. Note: This property is only relevant if the user desires to use a saved payment method to pay for their order. Otherwise, this value should remain unset.
        • shouldSavePaymentForFutureUse
          Optional<Boolean> shouldSavePaymentForFutureUse
          Should the payment method be saved to the owning user. Typically, this value is set to true when the payment's initial transaction is executed using a single-use token, and produces a mutli-use token that can be used for future purchases.
        • shouldSavePaymentToCustomer
          Optional<Boolean> shouldSavePaymentToCustomer
          Deprecated, for removal: This API element is subject to removal in a future version.
          since 1.0.2, in favor of UpdatePaymentRequest.shouldSavePaymentForFutureUse to support owning user types other than a customer (i.e. account).
        • subtotal
          Optional<javax.money.MonetaryAmount> subtotal
          The payment's total usually excluding adjustments, tax, and shipping.
        • taxTotal
          Optional<javax.money.MonetaryAmount> taxTotal
          The payment's total tax cost
        • type
          Optional<String> type
          The type of this payment like Credit Card or Gift Card.
          See Also:
          • DefaultPaymentTypes
        • version
          Integer version
          The version of this payment. Used for checking that the requested version of the payment is up-to-date before saving changes. Required for any request which results in an update being made to the payment. This should never be manually incremented/decremented.
    • Class com.broadleafcommerce.paymenttransaction.web.endpoint.domain.UpdatePaymentsResponse

      class UpdatePaymentsResponse extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • failedPayments
          List<PaymentSummary> failedPayments
          List of payments that failed during processing.
        • failureMessages
          Map<String,String> failureMessages
          Map of payment ids to failures messages detailing what failed during processing.
        • successfulPayments
          List<PaymentSummary> successfulPayments
          List of payments that were successfully processed.
    • Class com.broadleafcommerce.paymenttransaction.web.endpoint.domain.UpdateSavedPaymentMethodRequest

      class UpdateSavedPaymentMethodRequest extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Optional<Map<String,String>> attributes
          Map to capture any additional information about the saved payment method
        • billingAddress
          Optional<Address> billingAddress
          The billing address associated with this saved payment method.
        • defaultForOwner
          Optional<Boolean> defaultForOwner
          Whether this saved payment method is the default payment method for the owner entity.
        • displayAttributes
          Optional<Map<String,String>> displayAttributes
          General use map to capture any display properties for this saved payment method
        • gatewayType
          Optional<String> gatewayType
          The gateway used to process this saved payment method. Only a SINGLE payment gateway can modify transactions on a particular payment.
          See Also:
          • PaymentGatewayType
        • id
          String id
          The ID of the saved payment method to update.
        • name
          Optional<String> name
          The name of this saved payment method. This name is typically something like "Visa ending in 1234".
        • nextAction
          Optional<SavedPaymentMethodNextAction> nextAction
          See Also:
        • paymentMethodProperties
          Optional<Map<String,String>> paymentMethodProperties
          Map to capture any information about the payment method needed to perform gateway transactions
        • type
          Optional<String> type
          The type of this saved payment method like Credit Card or Gift Card.
          See Also:
          • DefaultPaymentTypes
        • version
          Integer version
          The version of this saved payment method. Used for checking that the requested version of the payment is up-to-date before saving changes. Required for any request which results in an update being made to the payment. This should never be manually incremented/decremented.
        • visibleToChildren
          Optional<String> visibleToChildren
          The visibility of the payment method to child accounts
  • Package com.broadleafcommerce.paymenttransaction.web.endpoint.exception