The following documentation is only relevant prior to version 1.7.0-GA
. For payment interactions in 1.7.0-GA
and later releases, see Payment Transaction Components (Since 1.7.0-GA) and Checkout Payment Architecture.
Activity that validates that the cart contains payments with amounts sufficient for its total price. Additionally, this activity validates that the PaymentGatewayType is specified by each payment to ensure they can be authorized and captured.
By default, this activity uses CartPaymentStatusService to determine the current status of each Payment in the cart. It then validates:
That the cart has at least 1 active payment
That the payment amounts are all 0
or greater (not null)
That the sum of them matches the cart’s total
That the payment gateway type is present and supported
The DefaultPaymentGatewayTransactionServiceProvider is used to make this determination.
If no transaction service is found matching the PaymentGatewayType on the payment, it will response with an UnsupportedOperationException
, which will be converted to a CheckoutWorkflowActivityException
by the activity.
And that the sum of all successful authorization, successful capture, unconfirmed, and pending PaymentTransactions match the cart’s total
If any of these fail, then a CheckoutWorkflowActivityException is throw with failureType
INVALID_PAYMENT_CONFIG
, which is then handled by CheckoutWorkflowActivity and can be referenced by the checkout initiator in the CheckoutResponse.