Serialized Form

  • Package com.broadleafcommerce.paymentgateway.domain

    • Class com.broadleafcommerce.paymentgateway.domain.GatewayTransactionResponse

      class GatewayTransactionResponse extends Object implements Serializable
      • Serialized Fields

        • amount
          javax.money.MonetaryAmount amount
          The transaction amount that was processed by the gateway
        • applicationId
          String applicationId
          The application id
        • billTo
          Address<GatewayTransactionResponse> billTo
          The billing address associated with this transaction
        • customer
          GatewayCustomer<GatewayTransactionResponse> customer
          Any customer information that relates to this transaction
        • paymentId
          String paymentId
          The Payment ID that this transaction is associated with
        • paymentOwnerId
          String paymentOwnerId
          The ID of the owning entity that this transaction is associated with
        • paymentOwnerType
          String paymentOwnerType
          The type of the owning entity that this transaction is associated with
        • paymentType
          String paymentType
          The PaymentType that this transaction is associated with
        • rawTransactionResults
          Map<String,Object> rawTransactionResults
          The raw transaction response from the gateway; contains additional properties from the gateway to be processed and saved to the payment.
        • shipTo
          Address<GatewayTransactionResponse> shipTo
          If shipping information is captured on the gateway, the shipping address associated with this transaction will be put here
        • tenantId
          String tenantId
          The tenant id
        • transactionReferenceId
          String transactionReferenceId
          The transaction reference that is passed to 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.
        • transactionType
          TransactionType transactionType
          The TransactionType that this transaction is associated with
    • Class com.broadleafcommerce.paymentgateway.domain.PaymentRequest

      class PaymentRequest extends Object implements Serializable
      • Serialized Fields

        • additionalFields
          Map<String,Object> additionalFields
          Any extra properties needed to define the requested transaction
        • adjustmentsTotal
          javax.money.MonetaryAmount adjustmentsTotal
          The order's adjustments (a.k.a discounts) total, usually excluding shipping/fulfillment discounts.
        • applicationId
          String applicationId
          The application id associated with the current request.
        • billTo
          Address<PaymentRequest> billTo
          The billing address associated with this transaction
        • completeCheckoutOnCallback
          boolean completeCheckoutOnCallback

          Sets whether or not this module should complete checkout on callback. In most Credit Card gateway implementation, this should be set to 'TRUE' and should not be configurable as the gateway expects it to tbe the final step in the checkout process.

          In gateways where it does not expect to be the last step in the checkout process, for example BLC Gift Card Module, PayPal Express Checkout, etc... The callback from the gateway can be configured whether or not to complete checkout.

        • createMultiUseToken
          boolean createMultiUseToken
          Determines whether a multi-use token should be created.
        • creditCard
          CreditCard<PaymentRequest> creditCard
          For sale/authorize transactions, this will be the Credit Card object that was charged. This data is useful for showing on an order confirmation screen.
        • customer
          GatewayCustomer<PaymentRequest> customer
          Any customer information that relates to this transaction
        • customerCredits
          List<CustomerCredit<PaymentRequest>> customerCredits
          Any customer credit accounts that have been processed. This data is useful for showing on an order confirmation screen
        • giftCards
          List<GiftCard<PaymentRequest>> giftCards
          Any gift cards that have been processed. This data is useful for showing on an order confirmation screen
        • lineItems
          List<LineItem> lineItems
          The items associated to the transaction's related order
        • orderSubtotal
          javax.money.MonetaryAmount orderSubtotal
          The order's total usually excluding adjustments, tax, and shipping.
        • paymentId
          String paymentId
          The Payment ID that this transaction is associated with
        • paymentOwnerDescription
          String paymentOwnerDescription
          A description of the payment owner associated with this transaction
        • paymentOwnerId
          String paymentOwnerId
          The id of the entity that owns the payment. For example, this may be a cart id, or a subscription billing cycle id.
        • paymentOwnerType
          String paymentOwnerType
          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.
        • paymentType
          PaymentType paymentType
          The Type of Payment that this transaction response represents
        • shippingTotal
          javax.money.MonetaryAmount shippingTotal
          The order's total shipping cost
        • shipTo
          Address<PaymentRequest> shipTo
          If shipping information is captured on the gateway, the values sent back will be put here
        • siteBaseUrl
          String siteBaseUrl
          The base url of the site that is making this payment request. This value will most commonly be used to help define a "return url" or "cancel url" that is used by the payment gateway to communicate information back to our server. This is most applicable in a multi-tenant context where the site context may vary (www.site1.com vs www.site2.com), but the relative return path (/payment-gateway/return) and cancel path (/payment-gateway/cancel) remains the same.
        • subscription
          Subscription<PaymentRequest> subscription
          Any information required to execute recurring billing
        • taxTotal
          javax.money.MonetaryAmount taxTotal
          The order's total tax cost
        • tenantId
          String tenantId
          The tenant id associated with the current request.
        • transactionReferenceId
          String transactionReferenceId
          The transaction reference that is passed to 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.
        • transactionTotal
          javax.money.MonetaryAmount transactionTotal
          The order's total cost including tax & shipping charges
    • Class com.broadleafcommerce.paymentgateway.domain.PaymentResponse

      class PaymentResponse extends Object implements Serializable
      • Serialized Fields

        • amount
          javax.money.MonetaryAmount amount
        • awaitingAsyncResults
          boolean awaitingAsyncResults
          Declares whether the transaction was executed synchronously, or if the transaction results will be provided asynchronously.

          In the case of an DefaultTransactionTypes.AUTHORIZE_AND_CAPTURE transaction, the authorize transaction may be executed synchronously, but the capture transaction's results will be communicated asynchronously. In that case, a successful DefaultTransactionTypes.AUTHORIZE_AND_CAPTURE transaction's PaymentResponse should include PaymentResponse.successful = true and awaitingAsyncResults = true. If the DefaultTransactionTypes.AUTHORIZE_AND_CAPTURE transaction is not successful, then the PaymentResponse should include PaymentResponse.successful = false and awaitingAsyncResults = false.

        • billTo
          Address<PaymentResponse> billTo
          The billing address associated with this transaction
        • completeCheckoutOnCallback
          boolean completeCheckoutOnCallback

          Sets whether or not this module should complete checkout on callback. In most Credit Card gateway implementation, this should be set to 'TRUE' and should not be configurable as the gateway expects it to tbe the final step in the checkout process.

          In gateways where it does not expect to be the last step in the checkout process, for example BLC Gift Card Module, PayPal Express Checkout, etc... The callback from the gateway can be configured whether or not to complete checkout.

        • creditCard
          CreditCard<PaymentResponse> creditCard
          for sale/authorize transactions, this will be the Credit Card object that was charged. This data is useful for showing on an order confirmation screen.
        • customer
          GatewayCustomer<PaymentResponse> customer
          Any customer information that relates to this transaction
        • customerCredits
          List<CustomerCredit<PaymentResponse>> customerCredits
          Any customer credit accounts that have been processed. This data is useful for showing on an order confirmation screen
        • dateRecorded
          Instant dateRecorded
          The timestamp when this transaction response was recorded
        • declineType
          String declineType
          The type of transaction decline (hard vs soft decline)
        • failureType
          String failureType
          The type of transaction failure (TransactionFailureType).
        • flaggedForManualReview
          Boolean flaggedForManualReview
          Indicates that the payment transaction has been flagged for manual review via fraud checks.
        • gatewayResponseCode
          String gatewayResponseCode
          The response code provided by the payment gateway which may represent a success or failure
        • gatewayTransactionId
          String gatewayTransactionId
          The transaction id that is returned by the payment gateway.
        • gatewayTransactionType
          String gatewayTransactionType
          The executed transaction type, as described by the gateway. For example, the PaymentResponse.transactionType may be DefaultTransactionTypes.REFUND, while the gateway transaction is called a "VOID" in their system.
        • giftCards
          List<GiftCard<PaymentResponse>> giftCards
          Any gift cards that have been processed. This data is useful for showing on an order confirmation screen
        • manualReviewResult
          String manualReviewResult
          Describes the outcome of the manual review of a transaction after it was flagged by fraud checks.
          See Also:
        • manualReviewResultReason
          String manualReviewResultReason
          Describes the reason for approving/rejecting a transaction during a manual fraud review.
        • message
          String message
          Message describing the result of the transaction
        • paymentGatewayType
          PaymentGatewayType paymentGatewayType
          The Payment Gateway Type that this transaction response represents
        • paymentId
          String paymentId
          The Payment ID that this transaction is associated with
        • paymentMethodProperties
          Map<String,String> paymentMethodProperties
          Map to capture any information about the payment method needed to perform gateway transactions. This map should be empty unless a transaction also included the creation of a multi-use payment method.
        • paymentOwnerDescription
          String paymentOwnerDescription
          A description of the payment owner associated with this transaction
        • paymentOwnerId
          String paymentOwnerId
          The id of the entity that owns the payment. For example, this may be a cart id, or a subscription billing cycle id.
        • paymentOwnerType
          String paymentOwnerType
          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.
        • paymentType
          PaymentType paymentType
          The Type of Payment that this transaction response represents
        • rawResponse
          String rawResponse
          A string representation of the response that came from the gateway. This should be a string serialization of PaymentResponse.responseMap.
        • responseMap
          Map<String,String> responseMap
          A more convenient representation of PaymentResponse.rawResponse to hold the response from the gateway.
        • shipTo
          Address<PaymentResponse> shipTo
          If shipping information is captured on the gateway, the values sent back will be put here
        • successful
          boolean successful
          Whether or not the transaction on the gateway was successful. This should be provided by the gateway alone.
        • threeDSecureVerificationUrl
          String threeDSecureVerificationUrl
          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 reference that is passed to 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.
        • transactionType
          TransactionType transactionType
          The Transaction Type of the Payment that this response represents
        • valid
          boolean valid
          Whether or not this response was tampered with. This used to verify that the response that was received on the endpoint (which is intended to only be invoked from the payment gateway) actually came from the gateway and was not otherwise maliciously invoked by a 3rd-party.
    • Class com.broadleafcommerce.paymentgateway.domain.PaymentTransaction

      class PaymentTransaction extends Object implements Serializable
      • Serialized Fields

        • 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.
        • 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
        • 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.
        • id
          String id
          The id of this payment transaction.
        • 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.
        • 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
        • 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. This is normally related to a checkout submission request.
        • source
          String source
          The name of the system that initiated the transaction - e.g. CART_OPERATION_SERVICES vs ORDER_OPERATION_SERVICES.
        • status
          String status
          The status of the transaction
        • threeDSecureVerificationUrl
          String threeDSecureVerificationUrl
          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.paymentgateway.domain.PaymentValidationRequest

      class PaymentValidationRequest extends Object implements Serializable
      • Serialized Fields

        • addressByType
          Map<String,Address<PaymentValidationRequest>> 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.
        • amount
          javax.money.MonetaryAmount amount
          The amount for which this payment is allotted. The summation of all of the payments for a particular cart should equal the cart's total. If specified, the amount details (PaymentValidationRequest.subtotal, PaymentValidationRequest.adjustmentsTotal, PaymentValidationRequest.fulfillmentTotal, & PaymentValidationRequest.taxTotal) should sum together to equal this amount.
        • attributes
          Map<String,String> attributes
          General use map to capture any additional attributes needed for this PaymentValidationRequest
        • fulfillmentTotal
          javax.money.MonetaryAmount fulfillmentTotal
          The payment's total fulfillment cost
        • gatewayType
          String gatewayType
          The gateway used to process this payment. Only a SINGLE payment gateway can modify transactions on a particular payment.
        • id
          String id
          The id of this 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.
        • paymentMethodProperties
          Map<String,String> paymentMethodProperties
          Map to capture any information about the payment method needed to perform gateway transactions
        • shouldSavePaymentForFutureUse
          boolean shouldSavePaymentForFutureUse
          Should the payment method be saved to the owning user.
        • shouldSavePaymentToCustomer
          boolean shouldSavePaymentToCustomer
          Deprecated, for removal: This API element is subject to removal in a future version.
          since 1.0.2, in favor of PaymentValidationRequest.shouldSavePaymentForFutureUse to support owning user types other than a customer (i.e. account).
        • singleUsePaymentMethod
          boolean singleUsePaymentMethod
          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.
        • subtotal
          javax.money.MonetaryAmount subtotal
          The payment's total usually excluding adjustments, tax, and shipping.
        • taxTotal
          javax.money.MonetaryAmount taxTotal
          The payment's total tax cost
        • 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.paymentgateway.domain.TransactionIdentifier

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

        • identifier
          String identifier
          The transaction identifier value. In most cases, we expect this to be the transactionReferenceId
        • identifierType
          String identifierType
          Describes the type of transaction identifier. In most cases, we expect this to be DefaultTransactionIdentifierTypes.TRANSACTION_REFERENCE_ID.
        • tenantId
          String tenantId
          The tenant id that the payment transaction belongs to.
    • Class com.broadleafcommerce.paymentgateway.domain.TransactionLookupRequest

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

        • amount
          javax.money.MonetaryAmount amount
          The amount related to this transaction. Depending on the TransactionLookupRequest.type, this may be the amount authorized, captured, refunded, etc.
        • attributes
          Map<String,String> attributes
          Map of additional attributes that can be used to identify the transaction.
        • dateRecorded
          Instant dateRecorded
          The timestamp when this transaction response was recorded
        • 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 the Broadleaf transaction.
        • paymentId
          String paymentId
          The id of the related Broadleaf payment.
        • requestId
          String requestId
          The id used to represent the request that produced this transaction.
        • sourceEntityId
          String sourceEntityId
          The ID of the source entity associated with the transaction.

          For example, if TransactionLookupRequest.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".
        • 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.)
  • Package com.broadleafcommerce.paymentgateway.domain.enums

  • Package com.broadleafcommerce.paymentgateway.service.exception