Class CreatePaymentAccountEventListener
java.lang.Object
com.broadleafcommerce.customer.messaging.CreatePaymentAccountEventListener
@DataRouteByKey("customer")
@Deprecated(since="1.7.2",
forRemoval=true)
public class CreatePaymentAccountEventListener
extends Object
Deprecated, for removal: This API element is subject to removal in a future version.
An event listener that triggers when an order is successfully submitted. Responsible for checking
the completed cart for any newly specified payment methods that the user wishes to save for
future usage or usage of any previously saved payment methods to record the latest results.
This listener is only needed for the transitional period of upgrading the
PaymentTransactionServices to 1.0.2, to ensure that payment accounts are created for unprocessed
messages after the upgrade. Once a day or two have passed after adopting the
PaymentTransactionServices upgrade, this listener can be disabled by declaring
broadleaf.customer.messaging.payment-account.create.enabled=false
Note that this listener is only relevant if the saved payment method storage location is
BLC_CUSTOMER_SERVICES, which can be set using the
broadleaf.customer.saved-payment-method.storage-location and
broadleaf.paymenttransaction.saved-payment-method.storage-location properties.
- Author:
- Chris Kittrell (ckittrell)
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringDeprecated, for removal: This API element is subject to removal in a future version.static final StringDeprecated, for removal: This API element is subject to removal in a future version.static final StringDeprecated, for removal: This API element is subject to removal in a future version.protected CreatePaymentAccountEventPropertiesDeprecated, for removal: This API element is subject to removal in a future version.static final StringDeprecated, for removal: This API element is subject to removal in a future version.static final StringDeprecated, for removal: This API element is subject to removal in a future version.protected final com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionServiceDeprecated, for removal: This API element is subject to removal in a future version.protected final com.fasterxml.jackson.databind.ObjectMapperDeprecated, for removal: This API element is subject to removal in a future version.protected final PaymentAccountService<PaymentAccount>Deprecated, for removal: This API element is subject to removal in a future version.protected final PaymentProvider<Payment>Deprecated, for removal: This API element is subject to removal in a future version.protected static final StringDeprecated, for removal: This API element is subject to removal in a future version.protected static final StringDeprecated, for removal: This API element is subject to removal in a future version.static final StringDeprecated, for removal: This API element is subject to removal in a future version.protected final com.broadleafcommerce.common.extension.TypeFactoryDeprecated, for removal: This API element is subject to removal in a future version. -
Constructor Summary
ConstructorsConstructorDescriptionCreatePaymentAccountEventListener(com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService idempotentConsumptionService, PaymentAccountService<PaymentAccount> paymentAccountService, PaymentProvider<Payment> paymentProvider, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory) Deprecated, for removal: This API element is subject to removal in a future version. -
Method Summary
Modifier and TypeMethodDescriptionprotected com.broadleafcommerce.data.tracking.core.context.ContextInfobuildContextInfo(@NonNull com.jayway.jsonpath.DocumentContext jsonContext) Deprecated, for removal: This API element is subject to removal in a future version.Builds aContextInfofor the application context id and tenant idprotected PaymentAccountbuildPaymentAccount(Payment payment) Deprecated, for removal: This API element is subject to removal in a future version.Builds aPaymentAccountbased on the provided cartPaymentprotected StringDeprecated, for removal: This API element is subject to removal in a future version.protected StringDeprecated, for removal: This API element is subject to removal in a future version.protected StringDeprecated, for removal: This API element is subject to removal in a future version.protected StringgetCardType(Payment payment) Deprecated, for removal: This API element is subject to removal in a future version.protected StringDeprecated, for removal: This API element is subject to removal in a future version.Deprecated, for removal: This API element is subject to removal in a future version.protected InstantgetDateRecorded(Payment payment) Deprecated, for removal: This API element is subject to removal in a future version.protected com.jayway.jsonpath.DocumentContextgetDocumentContext(@NonNull String payload) Deprecated, for removal: This API element is subject to removal in a future version.Parses the message payload into a `DocumentContext` which allows for JsonPath parsing using Jackson providers.protected IntegergetExpirationMonth(Payment payment) Deprecated, for removal: This API element is subject to removal in a future version.protected IntegergetExpirationYear(Payment payment) Deprecated, for removal: This API element is subject to removal in a future version.protected StringgetGatewayResponseCode(Payment payment) Deprecated, for removal: This API element is subject to removal in a future version.protected com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionServiceDeprecated, for removal: This API element is subject to removal in a future version.protected StringgetLastFour(Payment payment) Deprecated, for removal: This API element is subject to removal in a future version.protected PaymentTransactiongetLatestSuccessfulTransaction(Payment payment) Deprecated, for removal: This API element is subject to removal in a future version.protected com.fasterxml.jackson.databind.ObjectMapperDeprecated, for removal: This API element is subject to removal in a future version.protected PaymentAccountService<PaymentAccount>Deprecated, for removal: This API element is subject to removal in a future version.protected PaymentProvider<Payment>Deprecated, for removal: This API element is subject to removal in a future version.protected com.broadleafcommerce.common.extension.TypeFactoryDeprecated, for removal: This API element is subject to removal in a future version.protected booleanisSubmittedOrder(com.jayway.jsonpath.DocumentContext jsonContext) Deprecated, for removal: This API element is subject to removal in a future version.voidDeprecated, for removal: This API element is subject to removal in a future version.Event listener entry point.protected voidprocessMessage(@NonNull org.springframework.messaging.Message<String> message) Deprecated, for removal: This API element is subject to removal in a future version.Handles the interpretation of the message payload & if necessary, createsPaymentAccount(s)for the customervoidDeprecated, for removal: This API element is subject to removal in a future version.
-
Field Details
-
SUBMITTED
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
SUCCESS
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
CART_STATUS_PATH
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
CART_ID_PATH
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
APPLICATION_ID_PATH
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
TENANT_ID_PATH
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
CUSTOMER_CONTEXT_ID_PATH
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
CUSTOMER_ID_PATH
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
idempotentConsumptionService
protected final com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService idempotentConsumptionServiceDeprecated, for removal: This API element is subject to removal in a future version. -
paymentAccountService
Deprecated, for removal: This API element is subject to removal in a future version. -
paymentProvider
Deprecated, for removal: This API element is subject to removal in a future version. -
objectMapper
protected final com.fasterxml.jackson.databind.ObjectMapper objectMapperDeprecated, for removal: This API element is subject to removal in a future version. -
typeFactory
protected final com.broadleafcommerce.common.extension.TypeFactory typeFactoryDeprecated, for removal: This API element is subject to removal in a future version. -
createPaymentAccountEventProperties
Deprecated, for removal: This API element is subject to removal in a future version.
-
-
Constructor Details
-
CreatePaymentAccountEventListener
public CreatePaymentAccountEventListener(com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService idempotentConsumptionService, PaymentAccountService<PaymentAccount> paymentAccountService, PaymentProvider<Payment> paymentProvider, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory) Deprecated, for removal: This API element is subject to removal in a future version.
-
-
Method Details
-
setCreatePaymentAccountEventProperties
@Autowired public void setCreatePaymentAccountEventProperties(CreatePaymentAccountEventProperties properties) Deprecated, for removal: This API element is subject to removal in a future version. -
listen
@StreamListener("checkoutCompletionInputCustomer") public void listen(org.springframework.messaging.Message<String> message) Deprecated, for removal: This API element is subject to removal in a future version.Event listener entry point. Checks if the message has already been received and, if not, begins processing it.- Parameters:
message- the message to be processed
-
processMessage
protected void processMessage(@NonNull @NonNull org.springframework.messaging.Message<String> message) Deprecated, for removal: This API element is subject to removal in a future version.Handles the interpretation of the message payload & if necessary, createsPaymentAccount(s)for the customer- Parameters:
message- the message to be processed
-
getDocumentContext
Deprecated, for removal: This API element is subject to removal in a future version.Parses the message payload into a `DocumentContext` which allows for JsonPath parsing using Jackson providers.- Parameters:
payload- the message payload- Returns:
- a `DocumentContext` representation of the message payload
-
isSubmittedOrder
protected boolean isSubmittedOrder(com.jayway.jsonpath.DocumentContext jsonContext) Deprecated, for removal: This API element is subject to removal in a future version. -
buildContextInfo
protected com.broadleafcommerce.data.tracking.core.context.ContextInfo buildContextInfo(@NonNull @NonNull com.jayway.jsonpath.DocumentContext jsonContext) Deprecated, for removal: This API element is subject to removal in a future version.Builds aContextInfofor the application context id and tenant id- Parameters:
jsonContext- The json representation of the message payload- Returns:
- the
ContextInfoof the completed checkout
-
buildPaymentAccount
Deprecated, for removal: This API element is subject to removal in a future version.Builds aPaymentAccountbased on the provided cartPayment- Parameters:
payment- a cart payment that was used during checkout- Returns:
- The populated PaymentAccount object
-
getCardType
Deprecated, for removal: This API element is subject to removal in a future version. -
getCardTypeAttributeName
Deprecated, for removal: This API element is subject to removal in a future version. -
getLastFour
Deprecated, for removal: This API element is subject to removal in a future version. -
getCardNumberAttributeName
Deprecated, for removal: This API element is subject to removal in a future version. -
getExpirationMonth
Deprecated, for removal: This API element is subject to removal in a future version. -
getCardExpirationMonthAttributeName
Deprecated, for removal: This API element is subject to removal in a future version. -
getExpirationYear
Deprecated, for removal: This API element is subject to removal in a future version. -
getCardExpirationYearAttributeName
Deprecated, for removal: This API element is subject to removal in a future version. -
getDateRecorded
Deprecated, for removal: This API element is subject to removal in a future version. -
getGatewayResponseCode
Deprecated, for removal: This API element is subject to removal in a future version. -
getLatestSuccessfulTransaction
Deprecated, for removal: This API element is subject to removal in a future version. -
getIdempotentConsumptionService
protected com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService getIdempotentConsumptionService()Deprecated, for removal: This API element is subject to removal in a future version. -
getPaymentAccountService
Deprecated, for removal: This API element is subject to removal in a future version. -
getPaymentProvider
Deprecated, for removal: This API element is subject to removal in a future version. -
getObjectMapper
protected com.fasterxml.jackson.databind.ObjectMapper getObjectMapper()Deprecated, for removal: This API element is subject to removal in a future version. -
getTypeFactory
protected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory()Deprecated, for removal: This API element is subject to removal in a future version. -
getCreatePaymentAccountEventProperties
Deprecated, for removal: This API element is subject to removal in a future version.
-
BLC_CUSTOMER_SERVICES, then this listener should be enabled for a time to handle any existing messages whose saved payment methods were not created via the PaymentTransactionServices hook. Once a day or two have passed after adopting the PaymentTransactionServices changes, this listener can be disabled.