PaymentLockException
Classpath: com.broadleafcommerce.cartoperation.exception
Description: Thrown when a lock cannot be obtained for a PaymentTransactionServices Payment. In the context of checkout, this lock is obtained before attempting the checkout workflow to ensure that the payment data (esp. the payment amounts) don’t change during the checkout attempt.
Implications: The checkout attempt fails immediately due to the inability to guarantee that the payments won’t change during the checkout processing.
Suggestions: If this exception happens frequently, then check your codebase to ensure that payment locks are being correctly released & that no requests to modify the cart’s payments are being made when the checkout is attempted.
CheckoutWorkflowException
Classpath: com.broadleafcommerce.cartoperation.exception
Description: Thrown when an issue is encountered while executing the checkout workflow. Note: While the CheckoutWorkflowActivityException
reflects errors in specific activities, this exception reflects errors with the mechanics of working through the workflow. We expect these exceptions to be rare & likely caught via basic testing, but it’s worth keeping an eye out for these in your logs.
Implications: The checkout attempt failed & any completed work will be rolled back.
Suggestions: Keep an eye on these exceptions since they likely reflect an unexpected issue that’s blocking checkout conversions.
CheckoutWorkflowActivityException
Classpath: com.broadleafcommerce.cartoperation.exception
Description: Thrown when an issue is encountered while executing a workflow activity.
Implications: The checkout attempt failed & any completed work will be rolled back.
Suggestions: Keep an eye on these exceptions since they likely reflect an unexpected issue that’s blocking checkout conversions.
PaymentTransactionFailureException
Classpath: com.broadleafcommerce.cartoperation.exception
Description: Thrown when a payment transaction fails during a checkout.
Implications: The failed transaction will block the checkout from successfully completing.
Suggestions: A failed transaction isn’t necessarily reflective of an issue, but keep an eye out for high numbers of failures.
CartFinalizationException
Classpath: com.broadleafcommerce.cartoperation.exception
Description: Thrown when an issue is encountered during the finalization of a cart, following successful checkout workflow processing. Note: We expect these exceptions should be quite rare.
Implications: The cart is not finalized & the checkout completion event is not sent.
Suggestions: Check the cart to ensure that it ends up in a reasonable final state. Note: the out-of-box code allows customers to re-submit the checkout in these circumstances. If they’re successful, then it’s likely that nothing more needs to be done.
CheckoutCompletionMessageException
Classpath: com.broadleafcommerce.cartoperation.exception
Description: Thrown when the checkout completion event fails to send. Note: this message sending is done via a durable sending pattern that leverages CartServices.
Implications: Other services are not notified of the completed checkout.
Suggestions: Resend the event via the CheckoutEventsEndpoint
.
CheckoutWorkflowRollbackMessageException
Classpath: com.broadleafcommerce.cartoperation.exception
Description: Thrown when an issue is encountered while sending a CheckoutRollbackEvent
.
Implications: The rollback of the checkout attempt is not triggered. For the out-of-box logic, this may mean that payments were successfully processed, but not reversed/refunded.
Suggestions: Resend the event via the CheckoutEventsEndpoint
.
CheckoutRollbackException
Classpath: com.broadleafcommerce.cartoperation.exception
Description: Thrown when an issue is encountered while rolling back a checkout attempt.
Implications: The rollback of the checkout attempt is not triggered. For the out-of-box logic, this may mean that payments were successfully processed, but not reversed/refunded.
Suggestions: Resend the event via the CheckoutEventsEndpoint
.
PendingPaymentFailedMessageException
Classpath: com.broadleafcommerce.cartoperation.exception
Description: Thrown when an issue is encountered while sending a pending payment failed message to notify external & internal listeners that one or more of cart’s pending payments has failed. Note: This is only relevant if one of your payment gateways may respond with a transaction status of AWAITING_ASYNC_RESULTS
.
Implications: External & internal listeners are not notified that one or more of cart’s pending payments has failed.
Suggestions: Resend the event via the CheckoutEventsEndpoint
.