Class PaymentTransactionExecutionActivity
- java.lang.Object
-
- com.broadleafcommerce.cartoperation.service.checkout.workflow.activity.PaymentTransactionExecutionActivity
-
- All Implemented Interfaces:
CheckoutWorkflowActivity
,RequiresSecurePaymentInformationActivity
public class PaymentTransactionExecutionActivity extends Object implements RequiresSecurePaymentInformationActivity
ThisCheckoutWorkflowActivity
is responsible for executing payment transactions that are required to complete a successful checkout. This is where we strongly suggest that you execute payment transactions due to the amount of control & visibility that it provides. With that being said, if transactions were executed prior to entering theCheckoutWorkflow
, then this activity doesn't have any work to do. Alternatively, if you wish to process the payment transactions at a later time, then it can be done by skipping the transaction execution in this activity. We strongly suggest that this is the last activity in yourCheckoutWorkflow
to eliminate the need to reverse successful authorization transactions for carts with a single payment method. If the cart includes multiple payments that are to be authorized within the checkout workflow, then this activity ordering will not avoid the need to reverse an authorization. In that case, there's a chance that one of the payments will be successfully authorized & then must be reversed if one of the other payments fails authorization.- Author:
- Chris Kittrell (ckittrell)
-
-
Constructor Summary
Constructors Constructor Description PaymentTransactionExecutionActivity(PaymentTransactionExecutionService transactionExecutionService, org.springframework.context.MessageSource messageSource)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.broadleafcommerce.cart.client.domain.Cart
execute(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull String requestId, @NonNull Map<String,String> paymentLockTokens, @NonNull Map<String,String> securityCodes, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Method responsible for executing some work against the cart that requires secure payment information in checkout.protected String
getMessage(@NonNull String errorMessage, Object... args)
protected org.springframework.context.MessageSource
getMessageSource()
protected PaymentTransactionExecutionService
getTransactionExecutionService()
com.broadleafcommerce.cart.client.domain.Cart
rollback(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull String requestId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Method responsible for rolling back any work that was done during the execution of the#execute(Cart, String)
method.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.broadleafcommerce.cartoperation.service.checkout.workflow.activity.RequiresSecurePaymentInformationActivity
execute
-
-
-
-
Constructor Detail
-
PaymentTransactionExecutionActivity
public PaymentTransactionExecutionActivity(PaymentTransactionExecutionService transactionExecutionService, org.springframework.context.MessageSource messageSource)
-
-
Method Detail
-
execute
public com.broadleafcommerce.cart.client.domain.Cart execute(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull @NonNull String requestId, @NonNull @NonNull Map<String,String> paymentLockTokens, @NonNull @NonNull Map<String,String> securityCodes, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Description copied from interface:RequiresSecurePaymentInformationActivity
Method responsible for executing some work against the cart that requires secure payment information in checkout.- Specified by:
execute
in interfaceRequiresSecurePaymentInformationActivity
- Parameters:
cart
- TheCart
that we're attempting to checkout with.requestId
- The id used to identify changes tied to the specific execution requestpaymentLockTokens
- Tokens that grant this service access to act upon the payment. The presence of these tokens indicates that this execution flow owns the lock.securityCodes
- Secure codes that are passed to the gateway for verification during authorization or capture transactions.contextInfo
- Context information around sandbox and multitenant state.- Returns:
- The final state of the cart following the execution of the activity.
-
rollback
public com.broadleafcommerce.cart.client.domain.Cart rollback(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull @NonNull String requestId, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Description copied from interface:CheckoutWorkflowActivity
Method responsible for rolling back any work that was done during the execution of the#execute(Cart, String)
method.- Specified by:
rollback
in interfaceCheckoutWorkflowActivity
- Parameters:
cart
- TheCart
that we were attempting to checkout with, but ran into an exception/error.requestId
- The id used to identify changes tied to the specific execution requestcontextInfo
- Context information around sandbox and multitenant state.- Returns:
- The final state of the cart following the rollback of the activity.
-
getMessage
protected String getMessage(@NonNull @NonNull String errorMessage, @Nullable Object... args)
-
getTransactionExecutionService
protected PaymentTransactionExecutionService getTransactionExecutionService()
-
getMessageSource
protected org.springframework.context.MessageSource getMessageSource()
-
-