Interface ThreeDSTransactionResultService
- All Known Implementing Classes:
DefaultThreeDSTransactionResultService
public interface ThreeDSTransactionResultService
The service to check the 3DS payment transaction result.
- Author:
- Dima Myroniuk (dmyroniuk)
-
Method Summary
Modifier and TypeMethodDescriptionhandleTransactionResult
(String gatewayType, Map<String, String> requestParams, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Reads the transaction result usingPaymentGateway3DSTransactionLookupService
, records the result to the appropriate transaction and payment.identifyTransactionRequiring3DSVerification
(@NonNull Payment payment, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Finds the transaction that required 3DS results.lookupAndRecord3DSTransactionResult
(Payment payment, @NonNull PaymentTransaction transactionRequiring3DS, String lockToken, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Reads the transaction result usingPaymentGateway3DSTransactionLookupService
, records the result to the appropriate transaction and payment.
-
Method Details
-
identifyTransactionRequiring3DSVerification
PaymentTransaction identifyTransactionRequiring3DSVerification(@NonNull @NonNull Payment payment, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Finds the transaction that required 3DS results.- Parameters:
payment
- the payment object that contains a reference to the required transactioncontext
- context information related to multitenancy- Returns:
- the transaction that required 3DS results
- Throws:
TransactionIdentificationException
- if a transaction requiring 3DS verification cannot be found
-
lookupAndRecord3DSTransactionResult
TransactionExecutionResponse lookupAndRecord3DSTransactionResult(Payment payment, @NonNull @NonNull PaymentTransaction transactionRequiring3DS, @Nullable String lockToken, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Reads the transaction result usingPaymentGateway3DSTransactionLookupService
, 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 3D security checks.
- Parameters:
payment
- the payment gateway type that is used to identify the appropriatePaymentGateway3DSTransactionLookupService
transactionRequiring3DS
- the transaction that requires 3DS resultslockToken
- Token granted to resource that owns the payment lock.context
- context information related to multitenancy- Returns:
- the
TransactionExecutionResponse
describing the resulting transaction andPaymentSummary
- Throws:
UnsupportedOperationException
- when looking up transaction results is not supported for the related payment gatewaycom.broadleafcommerce.paymentgateway.service.exception.InvalidGatewayConfigurationException
- when the integration is not sufficiently configured to look up transaction resultscom.broadleafcommerce.paymentgateway.service.exception.InvalidFetchPaymentDetailsParamsException
- when insufficient data is provided to look up transaction resultscom.broadleafcommerce.paymentgateway.service.exception.FetchTransactionResultsException
- when an error occurred while looking up transaction resultscom.broadleafcommerce.paymentgateway.service.exception.TransactionNotFoundException
- when a transaction cannot be found, based on the provided datacom.broadleafcommerce.paymentgateway.service.exception.TransactionResultsNotAvailableException
- when the 3DS transaction results are not yet availablecom.broadleafcommerce.common.messaging.exception.ResourceLockException
- when a payment lock cannot be obtained to record 3DS transaction results
-
handleTransactionResult
TransactionExecutionResponse handleTransactionResult(String gatewayType, Map<String, String> requestParams, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Reads the transaction result usingPaymentGateway3DSTransactionLookupService
, 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 3D security checks.
- Parameters:
gatewayType
- the payment gateway type that is used to identify the appropriatePaymentGateway3DSTransactionLookupService
requestParams
- the parameters for requestcontext
- context information related to multitenancy- Returns:
- the
TransactionExecutionDetail
describing the resulting transaction andPaymentSummary
- Throws:
UnsupportedOperationException
- when looking up transaction results is not supported for the related payment gatewaycom.broadleafcommerce.paymentgateway.service.exception.InvalidGatewayConfigurationException
- when the integration is not sufficiently configured to look up transaction resultscom.broadleafcommerce.paymentgateway.service.exception.InvalidFetchPaymentDetailsParamsException
- when insufficient data is provided to look up transaction resultscom.broadleafcommerce.paymentgateway.service.exception.FetchTransactionResultsException
- when an error occurred while looking up transaction resultscom.broadleafcommerce.paymentgateway.service.exception.TransactionNotFoundException
- when a transaction cannot be found, based on the provided datacom.broadleafcommerce.paymentgateway.service.exception.TransactionResultsNotAvailableException
- when the 3DS transaction results are not yet availablecom.broadleafcommerce.common.messaging.exception.ResourceLockException
- when a payment lock cannot be obtained to record 3DS transaction results
-