Class DefaultExternalTransactionResultService
java.lang.Object
com.broadleafcommerce.paymenttransaction.service.DefaultExternalTransactionResultService
- All Implemented Interfaces:
 ExternalTransactionResultService
public class DefaultExternalTransactionResultService
extends Object
implements ExternalTransactionResultService
The default implementation for 
ExternalTransactionResultService.- Author:
 - LSPL385
 
- 
Constructor Summary
ConstructorsConstructorDescriptionDefaultExternalTransactionResultService(com.broadleafcommerce.paymentgateway.service.provider.PaymentGatewayResourceProvider paymentGatewayResourceProvider, TransactionExecutionUtil transactionExecutionUtil, TransactionResultService transactionResultService)  - 
Method Summary
Modifier and TypeMethodDescriptionprotected PaymentdeterminePaymentFromCallbackRequest(@NonNull org.springframework.data.domain.Page<Payment> payments, @NonNull PaymentCallbackValidationRequest validationRequest, @NonNull String requestTokenId) protected com.broadleafcommerce.paymentgateway.util.PaymentCallbackSecurityTokenUtilprotected com.broadleafcommerce.paymentgateway.service.provider.PaymentGatewayResourceProviderprotected PaymentService<Payment>protected StringgetSecureTokenKeyFromRequest(@NonNull PaymentCallbackValidationRequest validationRequest) protected TransactionExecutionUtilprotected TransactionResultServiceprotected com.broadleafcommerce.common.extension.TypeFactoryhandleTransactionResult(@NonNull String gatewayType, @NonNull Map<String, String> requestParams, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Reads the transaction result usingPaymentGatewayTransactionLookupService, records the result to the appropriate transaction and payment.protected PaymentTransactionidentifyExternalTransaction(@NonNull com.broadleafcommerce.paymentgateway.domain.TransactionIdentifier transactionIdentifier, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) identifyTransactionRequiringExternalInteraction(@NonNull Payment payment, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Finds the transaction that required external results.lookupAndRecordExternalTransactionResult(@NonNull Payment payment, @NonNull PaymentTransaction transactionRequiringExternal, String lockToken, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Reads the transaction result usingPaymentGatewayTransactionLookupService, records the result to the appropriate transaction and payment.protected StringparseTokenIdFromSecureTokenKey(String secureTokenKey) protected TransactionExecutionResponserecordExternalTransactionResults(@NonNull com.broadleafcommerce.paymentgateway.domain.PaymentResponse paymentResponse, @NonNull Payment payment, @NonNull PaymentTransaction transactionRequiringExternalInteraction, String lockToken, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) voidsetPaymentCallbackSecurityTokenUtil(com.broadleafcommerce.paymentgateway.util.PaymentCallbackSecurityTokenUtil paymentCallbackSecurityTokenUtil) voidsetPaymentService(PaymentService<Payment> paymentService) voidsetTypeFactory(com.broadleafcommerce.common.extension.TypeFactory typeFactory) validatePaymentCallbackToken(@NonNull org.springframework.data.domain.Page<Payment> payments, @NonNull PaymentCallbackValidationRequest validationRequest, PaymentLockTokens paymentLockTokens, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Validates thecallback requestand returns the result of that validation.protected voidvalidateTransactionResults(@NonNull TransactionExecutionResponse transactionResponse, @NonNull PaymentTransaction transactionRequiringExternal, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)  
- 
Constructor Details
- 
DefaultExternalTransactionResultService
public DefaultExternalTransactionResultService(com.broadleafcommerce.paymentgateway.service.provider.PaymentGatewayResourceProvider paymentGatewayResourceProvider, TransactionExecutionUtil transactionExecutionUtil, TransactionResultService transactionResultService)  
 - 
 - 
Method Details
- 
identifyTransactionRequiringExternalInteraction
public PaymentTransaction identifyTransactionRequiringExternalInteraction(@NonNull @NonNull Payment payment, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Description copied from interface:ExternalTransactionResultServiceFinds the transaction that required external results.- Specified by:
 identifyTransactionRequiringExternalInteractionin interfaceExternalTransactionResultService- Parameters:
 payment- the payment object that contains a reference to the required transactioncontext- context information related to multitenancy- Returns:
 - the transaction that required external results
 
 - 
lookupAndRecordExternalTransactionResult
public TransactionExecutionResponse lookupAndRecordExternalTransactionResult(@NonNull @NonNull Payment payment, @NonNull @NonNull PaymentTransaction transactionRequiringExternal, @Nullable String lockToken, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Description copied from interface:ExternalTransactionResultServiceReads the transaction result usingPaymentGatewayTransactionLookupService, records the result to the appropriate transaction and payment.This can be used, for example, to verify that a customer has approved a payment for transactions that requires to add bank details.
- Specified by:
 lookupAndRecordExternalTransactionResultin interfaceExternalTransactionResultService- Parameters:
 payment- the payment gateway type that is used to identify the appropriatePaymentGatewayTransactionLookupServicetransactionRequiringExternal- the transaction that requires external resultslockToken- Token granted to resource that owns the payment lock.context- context information related to multitenancy- Returns:
 - the 
TransactionExecutionResponsedescribing the resulting transaction andPaymentSummary 
 - 
validatePaymentCallbackToken
public PaymentCallbackValidationResponse validatePaymentCallbackToken(@NonNull @NonNull org.springframework.data.domain.Page<Payment> payments, @NonNull @NonNull PaymentCallbackValidationRequest validationRequest, @Nullable PaymentLockTokens paymentLockTokens, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:ExternalTransactionResultServiceValidates thecallback requestand returns the result of that validation.- Specified by:
 validatePaymentCallbackTokenin interfaceExternalTransactionResultService- Parameters:
 payments- the page of payments for the requestvalidationRequest- thecallback validation requestpaymentLockTokens- thePaymentLockTokens, if anycontextInfo- context information related to multitenancy.- Returns:
 the payment callback validation response
 - 
handleTransactionResult
public TransactionExecutionResponse handleTransactionResult(@NonNull @NonNull String gatewayType, @NonNull @NonNull Map<String, String> requestParams, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Description copied from interface:ExternalTransactionResultServiceReads the transaction result usingPaymentGatewayTransactionLookupService, records the result to the appropriate transaction and payment.This can be used, for example, to verify that a customer has approved a payment for transactions that require to add bank details.
- Specified by:
 handleTransactionResultin interfaceExternalTransactionResultService- Parameters:
 gatewayType- the payment gateway type that is used to identify the appropriatePaymentGatewayTransactionLookupServicerequestParams- the parameters for requestcontext- context information related to multitenancy- Returns:
 - the 
TransactionExecutionDetaildescribing the resulting transaction andPaymentSummary 
 - 
identifyExternalTransaction
protected PaymentTransaction identifyExternalTransaction(@NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.TransactionIdentifier transactionIdentifier, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)  - 
recordExternalTransactionResults
protected TransactionExecutionResponse recordExternalTransactionResults(@NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentResponse paymentResponse, @NonNull @NonNull Payment payment, @NonNull @NonNull PaymentTransaction transactionRequiringExternalInteraction, @Nullable String lockToken, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context)  - 
validateTransactionResults
protected void validateTransactionResults(@NonNull @NonNull TransactionExecutionResponse transactionResponse, @NonNull @NonNull PaymentTransaction transactionRequiringExternal, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)  - 
getSecureTokenKeyFromRequest
protected String getSecureTokenKeyFromRequest(@NonNull @NonNull PaymentCallbackValidationRequest validationRequest)  - 
parseTokenIdFromSecureTokenKey
 - 
determinePaymentFromCallbackRequest
protected Payment determinePaymentFromCallbackRequest(@NonNull @NonNull org.springframework.data.domain.Page<Payment> payments, @NonNull @NonNull PaymentCallbackValidationRequest validationRequest, @NonNull @NonNull String requestTokenId)  - 
getPaymentGatewayResourceProvider
protected com.broadleafcommerce.paymentgateway.service.provider.PaymentGatewayResourceProvider getPaymentGatewayResourceProvider() - 
getTransactionExecutionUtil
 - 
getTransactionResultService
 - 
getPaymentService
 - 
setPaymentService
 - 
getPaymentCallbackSecurityTokenUtil
@Nullable protected com.broadleafcommerce.paymentgateway.util.PaymentCallbackSecurityTokenUtil getPaymentCallbackSecurityTokenUtil() - 
setPaymentCallbackSecurityTokenUtil
@Autowired(required=false) public void setPaymentCallbackSecurityTokenUtil(@Nullable com.broadleafcommerce.paymentgateway.util.PaymentCallbackSecurityTokenUtil paymentCallbackSecurityTokenUtil)  - 
getTypeFactory
protected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory() - 
setTypeFactory
@Autowired public void setTypeFactory(com.broadleafcommerce.common.extension.TypeFactory typeFactory)  
 -