Class DefaultHPSProvider
java.lang.Object
com.broadleafcommerce.vendor.chasepayment.provider.AbstractExternalProvider
com.broadleafcommerce.vendor.chasepayment.service.hps.provider.DefaultHPSProvider
- All Implemented Interfaces:
HPSProvider
Default implementation of
HPSProvider.-
Constructor Summary
ConstructorsConstructorDescriptionDefaultHPSProvider(org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, HPSProviderGlobalProperties hpsProviderGlobalProperties, HPSProviderDiscriminatedProperties hpsProviderDiscriminatedProperties, ChaseIdGenerator chaseIdGenerator, HPSCustomMerchantDataMapper hpsCustomMerchantDataMapper) -
Method Summary
Modifier and TypeMethodDescriptionprotected org.springframework.validation.ErrorsbuildErrorsForBlcInitRequest(BroadleafHPSOrderAbstractionInitRequest blcInitRequest) protected StringbuildRequiredDiscriminatedPropMissingErrorMessage(String missingPropertyFriendlyName, String applicationId, String tenantId) protected ChaseIdGeneratorprotected HPSProviderDiscriminatedPropertiesprotected HPSProviderGlobalPropertiesprotected HPSCustomMerchantDataMapperprotected <T> TgetRequiredDiscriminatedPropValueOrThrow(BiFunction<String, String, T> discriminatedPropValueSupplier, String applicationId, String tenantId, String missingPropertyFriendlyName) protected <T> TgetRequiredPropertyValueOrThrow(Supplier<T> propertyValueSupplier, Supplier<String> errorMessage) protected com.broadleafcommerce.common.extension.TypeFactoryperformUidInitRequest(BroadleafHPSOrderAbstractionInitRequest hpsInitRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Execute the 'UID Init Request' from the Chase HPS Order Abstraction flow.performUidQueryRequest(String uid, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Execute the 'UID Query Request' to obtain details/results about a particular UID.protected voidpopulateBlcHPSOrderAbstractionInitResponse(HPSOrderAbstractionInitResponse chaseResponse, BroadleafHPSOrderAbstractionInitResponse blcResponseToPopulate, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) protected voidpopulateHpsInitBillingAddressParameters(HPSOrderAbstractionInitRequest payloadToPopulate, BroadleafHPSOrderAbstractionInitRequest blcInitRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Initialize the value of the billing address fields onHPSOrderAbstractionInitRequestprotected voidpopulateHpsInitCardIndicatorsParameter(HPSOrderAbstractionInitRequest payloadToPopulate, BroadleafHPSOrderAbstractionInitRequest blcInitRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Initialize the value ofHPSOrderAbstractionInitRequest.getCard_indicators().protected voidpopulateHpsInitCustomMerchantDataParameters(HPSOrderAbstractionInitRequest payloadToPopulate, BroadleafHPSOrderAbstractionInitRequest blcInitRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Initialize the value of the custom merchant data fields onHPSOrderAbstractionInitRequestprotected voidpopulateHpsInitDescriptionParameter(HPSOrderAbstractionInitRequest payloadToPopulate, BroadleafHPSOrderAbstractionInitRequest blcInitRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Initialize the value ofHPSOrderAbstractionInitRequest.getDescription().protected voidpopulateHpsInitFormNameParameter(HPSOrderAbstractionInitRequest payloadToPopulate, BroadleafHPSOrderAbstractionInitRequest blcInitRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Initialize the value ofHPSOrderAbstractionInitRequest.getForm_name().protected voidpopulateHpsInitOrderIdParameter(String resolvedTxnType, HPSOrderAbstractionInitRequest payloadToPopulate, BroadleafHPSOrderAbstractionInitRequest blcInitRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Initialize the value ofHPSOrderAbstractionInitRequest.getOrder_id().protected voidpopulateHpsInitTokenizeParameter(String resolvedTxnType, HPSOrderAbstractionInitRequest payloadToPopulate, BroadleafHPSOrderAbstractionInitRequest blcInitRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Initialize the value ofHPSOrderAbstractionInitRequest.getTokenize().protected voidpopulateHpsInitTotalAmountParameter(String resolvedTxnType, HPSOrderAbstractionInitRequest payloadToPopulate, BroadleafHPSOrderAbstractionInitRequest blcInitRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Initialize the value ofHPSOrderAbstractionInitRequest.getTotal_amount().protected voidpopulateHpsOrderAbstractionInitRequest(HPSOrderAbstractionInitRequest payloadToPopulate, BroadleafHPSOrderAbstractionInitRequest blcInitRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Methods inherited from class com.broadleafcommerce.vendor.chasepayment.provider.AbstractExternalProvider
executeRequest, getApplicationId, getObjectMapper, getTenantId, getWebClient
-
Constructor Details
-
DefaultHPSProvider
public DefaultHPSProvider(org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, HPSProviderGlobalProperties hpsProviderGlobalProperties, HPSProviderDiscriminatedProperties hpsProviderDiscriminatedProperties, ChaseIdGenerator chaseIdGenerator, HPSCustomMerchantDataMapper hpsCustomMerchantDataMapper)
-
-
Method Details
-
performUidInitRequest
public BroadleafHPSOrderAbstractionInitResponse performUidInitRequest(BroadleafHPSOrderAbstractionInitRequest hpsInitRequest, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:HPSProviderExecute the 'UID Init Request' from the Chase HPS Order Abstraction flow.- Specified by:
performUidInitRequestin interfaceHPSProvider- Parameters:
hpsInitRequest- caller-provided details for the init requestcontextInfo- context information around multitenant state- Returns:
- response details about the result
-
populateHpsOrderAbstractionInitRequest
protected void populateHpsOrderAbstractionInitRequest(HPSOrderAbstractionInitRequest payloadToPopulate, BroadleafHPSOrderAbstractionInitRequest blcInitRequest, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) -
populateHpsInitCardIndicatorsParameter
protected void populateHpsInitCardIndicatorsParameter(HPSOrderAbstractionInitRequest payloadToPopulate, BroadleafHPSOrderAbstractionInitRequest blcInitRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Initialize the value ofHPSOrderAbstractionInitRequest.getCard_indicators().- Parameters:
payloadToPopulate- the target instance to populateHPSOrderAbstractionInitRequest.getCard_indicators()forblcInitRequest- caller-provided details in the original init requestcontextInfo- context information about multitenant state
-
populateHpsInitTokenizeParameter
protected void populateHpsInitTokenizeParameter(String resolvedTxnType, HPSOrderAbstractionInitRequest payloadToPopulate, BroadleafHPSOrderAbstractionInitRequest blcInitRequest, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Initialize the value ofHPSOrderAbstractionInitRequest.getTokenize().- Parameters:
resolvedTxnType- the value that was determined to be used forHPSOrderAbstractionInitRequest.getTxn_type()payloadToPopulate- the target instance to populateHPSOrderAbstractionInitRequest.getTokenize()forblcInitRequest- caller-provided details in the original init requestcontextInfo- context information about multitenant state
-
populateHpsInitTotalAmountParameter
protected void populateHpsInitTotalAmountParameter(String resolvedTxnType, HPSOrderAbstractionInitRequest payloadToPopulate, BroadleafHPSOrderAbstractionInitRequest blcInitRequest, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Initialize the value ofHPSOrderAbstractionInitRequest.getTotal_amount().- Parameters:
resolvedTxnType- the value that was determined to be used forHPSOrderAbstractionInitRequest.getTxn_type()payloadToPopulate- the target instance to populateHPSOrderAbstractionInitRequest.getTotal_amount()forblcInitRequest- caller-provided details in the original init requestcontextInfo- context information about multitenant state
-
populateHpsInitOrderIdParameter
protected void populateHpsInitOrderIdParameter(String resolvedTxnType, HPSOrderAbstractionInitRequest payloadToPopulate, BroadleafHPSOrderAbstractionInitRequest blcInitRequest, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Initialize the value ofHPSOrderAbstractionInitRequest.getOrder_id().- Parameters:
resolvedTxnType- the value that was determined to be used forHPSOrderAbstractionInitRequest.getTxn_type()payloadToPopulate- the target instance to populateHPSOrderAbstractionInitRequest.getOrder_id()forblcInitRequest- caller-provided details in the original init requestcontextInfo- context information about multitenant state
-
populateHpsInitDescriptionParameter
protected void populateHpsInitDescriptionParameter(HPSOrderAbstractionInitRequest payloadToPopulate, BroadleafHPSOrderAbstractionInitRequest blcInitRequest, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Initialize the value ofHPSOrderAbstractionInitRequest.getDescription().- Parameters:
payloadToPopulate- the target instance to populateHPSOrderAbstractionInitRequest.getDescription()forblcInitRequest- caller-provided details in the original init requestcontextInfo- context information about multitenant state
-
populateHpsInitFormNameParameter
protected void populateHpsInitFormNameParameter(HPSOrderAbstractionInitRequest payloadToPopulate, BroadleafHPSOrderAbstractionInitRequest blcInitRequest, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Initialize the value ofHPSOrderAbstractionInitRequest.getForm_name().- Parameters:
payloadToPopulate- the target instance to populateHPSOrderAbstractionInitRequest.getForm_name()forblcInitRequest- caller-provided details in the original init requestcontextInfo- context information about multitenant state
-
buildErrorsForBlcInitRequest
protected org.springframework.validation.Errors buildErrorsForBlcInitRequest(BroadleafHPSOrderAbstractionInitRequest blcInitRequest) -
populateHpsInitBillingAddressParameters
protected void populateHpsInitBillingAddressParameters(HPSOrderAbstractionInitRequest payloadToPopulate, BroadleafHPSOrderAbstractionInitRequest blcInitRequest, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Initialize the value of the billing address fields onHPSOrderAbstractionInitRequest- Parameters:
payloadToPopulate- the target instance to populate billing address fields forblcInitRequest- caller-provided details in the original init requestcontextInfo- context information about multitenant state
-
populateHpsInitCustomMerchantDataParameters
protected void populateHpsInitCustomMerchantDataParameters(HPSOrderAbstractionInitRequest payloadToPopulate, BroadleafHPSOrderAbstractionInitRequest blcInitRequest, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Initialize the value of the custom merchant data fields onHPSOrderAbstractionInitRequest- Parameters:
payloadToPopulate- the target instance to populate custom merchant data fields forblcInitRequest- caller-provided details in the original init requestcontextInfo- context information about multitenant state
-
populateBlcHPSOrderAbstractionInitResponse
protected void populateBlcHPSOrderAbstractionInitResponse(HPSOrderAbstractionInitResponse chaseResponse, BroadleafHPSOrderAbstractionInitResponse blcResponseToPopulate, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) -
getRequiredDiscriminatedPropValueOrThrow
protected <T> T getRequiredDiscriminatedPropValueOrThrow(BiFunction<String, String, T> discriminatedPropValueSupplier, @Nullable String applicationId, @Nullable String tenantId, String missingPropertyFriendlyName) - Type Parameters:
T- the type of the property value- Parameters:
discriminatedPropValueSupplier- a function that takes in applicationId and tenantId, and returns a property valueapplicationId- the application ID to find the property value fortenantId- the tenant ID to find the property value formissingPropertyFriendlyName- the friendly name to include in an error message if not found- Returns:
- the value for the discriminated property, if found
-
getRequiredPropertyValueOrThrow
-
buildRequiredDiscriminatedPropMissingErrorMessage
-
performUidQueryRequest
public HPSOrderAbstractionQueryResponse performUidQueryRequest(String uid, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:HPSProviderExecute the 'UID Query Request' to obtain details/results about a particular UID.- Specified by:
performUidQueryRequestin interfaceHPSProvider- Parameters:
uid- the UID for which to obtain detailscontextInfo- context information around multitenant state- Returns:
- response details about the result
-
getGlobalProperties
-
getDiscriminatedProperties
-
getTypeFactory
protected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory() -
getChaseIdGenerator
-
getHpsCustomMerchantDataMapper
-