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 appropriatePaymentGateway3DSTransactionLookupServicetransactionRequiring3DS- the transaction that requires 3DS resultslockToken- Token granted to resource that owns the payment lock.context- context information related to multitenancy- Returns:
- the
TransactionExecutionResponsedescribing 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 appropriatePaymentGateway3DSTransactionLookupServicerequestParams- the parameters for requestcontext- context information related to multitenancy- Returns:
- the
TransactionExecutionDetaildescribing 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
-