Class DefaultCheckoutCom3DSTransactionLookupService
- java.lang.Object
-
- com.broadleafcommerce.payment.service.gateway.DefaultCheckoutCom3DSTransactionLookupService
-
- All Implemented Interfaces:
CheckoutCom3DSTransactionLookupService,com.broadleafcommerce.paymentgateway.service.PaymentGateway3DSTransactionLookupService,com.broadleafcommerce.paymentgateway.service.PaymentGatewayTypeAware
public class DefaultCheckoutCom3DSTransactionLookupService extends Object implements CheckoutCom3DSTransactionLookupService
-
-
Constructor Summary
Constructors Constructor Description DefaultCheckoutCom3DSTransactionLookupService(CheckoutApiInitService checkoutApiInitService, com.broadleafcommerce.common.extension.TypeFactory typeFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected com.broadleafcommerce.paymentgateway.domain.PaymentResponsebuildPaymentResponse(@NonNull com.checkout.payments.four.response.GetPaymentResponse checkoutPaymentResponse, @NonNull com.checkout.four.CheckoutApi api)Builds aPaymentResponsebased on the givenGetPaymentResponse.protected com.broadleafcommerce.paymentgateway.domain.TransactionIdentifierbuildTransactionIdentifier(@NonNull com.checkout.payments.four.response.GetPaymentResponse getPaymentResponse)Builds aTransactionIdentifierbased on the givenGetPaymentResponse.protected javax.money.MonetaryAmountgetAmountInMajorUnits(@NonNull Long amount, @NonNull String currencyCode)protected CheckoutApiInitServicegetCheckoutApiInitService()protected StringgetCheckoutPaymentId(@NonNull com.broadleafcommerce.paymentgateway.domain.TransactionLookupRequest transactionLookupRequest)Gets the id of the Checkout.com payment from the givenTransactionLookupRequest.StringgetGatewayType()protected StringgetTenantId(@NonNull com.checkout.payments.four.response.GetPaymentResponse getPaymentResponse)Gets the tenant id from the givenGetPaymentResponse.getMetadata().org.apache.commons.lang3.tuple.Pair<com.broadleafcommerce.paymentgateway.domain.TransactionIdentifier,com.broadleafcommerce.paymentgateway.domain.PaymentResponse>getTransactionDetails(@NonNull Map<String,String> requestParams, String tenantId, String applicationId)protected com.broadleafcommerce.common.extension.TypeFactorygetTypeFactory()com.broadleafcommerce.paymentgateway.domain.PaymentResponselookupTransactionDetails(@NonNull com.broadleafcommerce.paymentgateway.domain.TransactionLookupRequest transactionLookupRequest, String tenantId, String applicationId)protected com.broadleafcommerce.paymentgateway.domain.PaymentResponsepopulate3DSData(@NonNull com.broadleafcommerce.paymentgateway.domain.PaymentResponse paymentResponse, @NonNull com.checkout.payments.ThreeDSData threeDSData)Populates the 3DS data for the givenPaymentResponse.protected com.broadleafcommerce.paymentgateway.domain.PaymentResponsepopulateActionData(@NonNull com.broadleafcommerce.paymentgateway.domain.PaymentResponse paymentResponse, @NonNull com.checkout.payments.four.response.GetPaymentResponse checkoutComPayment, @NonNull com.checkout.four.CheckoutApi api)Identifies a Checkout.comPaymentActionusing thePaymentResponse.getTransactionReferenceId()& adds data from thePaymentActionto thePaymentResponse.protected booleantransactionResultsAreAvailable(@NonNull com.checkout.payments.four.response.GetPaymentResponse checkoutPaymentResponse)Determines if the 3DS transaction results are available for the givenGetPaymentResponse.voidvalidateRequestParams(@NonNull Map<String,String> requestParams)
-
-
-
Constructor Detail
-
DefaultCheckoutCom3DSTransactionLookupService
public DefaultCheckoutCom3DSTransactionLookupService(CheckoutApiInitService checkoutApiInitService, com.broadleafcommerce.common.extension.TypeFactory typeFactory)
-
-
Method Detail
-
validateRequestParams
public void validateRequestParams(@NonNull @NonNull Map<String,String> requestParams)- Specified by:
validateRequestParamsin interfacecom.broadleafcommerce.paymentgateway.service.PaymentGateway3DSTransactionLookupService
-
getTransactionDetails
public org.apache.commons.lang3.tuple.Pair<com.broadleafcommerce.paymentgateway.domain.TransactionIdentifier,com.broadleafcommerce.paymentgateway.domain.PaymentResponse> getTransactionDetails(@NonNull @NonNull Map<String,String> requestParams, @Nullable String tenantId, @Nullable String applicationId)- Specified by:
getTransactionDetailsin interfacecom.broadleafcommerce.paymentgateway.service.PaymentGateway3DSTransactionLookupService
-
lookupTransactionDetails
public com.broadleafcommerce.paymentgateway.domain.PaymentResponse lookupTransactionDetails(@NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.TransactionLookupRequest transactionLookupRequest, @Nullable String tenantId, @Nullable String applicationId)- Specified by:
lookupTransactionDetailsin interfacecom.broadleafcommerce.paymentgateway.service.PaymentGateway3DSTransactionLookupService
-
transactionResultsAreAvailable
protected boolean transactionResultsAreAvailable(@NonNull @NonNull com.checkout.payments.four.response.GetPaymentResponse checkoutPaymentResponse)Determines if the 3DS transaction results are available for the givenGetPaymentResponse.- Parameters:
checkoutPaymentResponse- theGetPaymentResponseto determine if the 3DS transaction results are available- Returns:
- true if the 3DS transaction results are available for the given
GetPaymentResponse, otherwise false
-
buildTransactionIdentifier
protected com.broadleafcommerce.paymentgateway.domain.TransactionIdentifier buildTransactionIdentifier(@NonNull @NonNull com.checkout.payments.four.response.GetPaymentResponse getPaymentResponse)Builds aTransactionIdentifierbased on the givenGetPaymentResponse.- Parameters:
getPaymentResponse- theGetPaymentResponseto build theTransactionIdentifierfrom- Returns:
- a
TransactionIdentifierbased on the givenGetPaymentResponse
-
getTenantId
protected String getTenantId(@NonNull @NonNull com.checkout.payments.four.response.GetPaymentResponse getPaymentResponse)
Gets the tenant id from the givenGetPaymentResponse.getMetadata().- Parameters:
getPaymentResponse- theGetPaymentResponseto get the tenant id from- Returns:
- the tenant id from the given
GetPaymentResponse.getMetadata()
-
buildPaymentResponse
protected com.broadleafcommerce.paymentgateway.domain.PaymentResponse buildPaymentResponse(@NonNull @NonNull com.checkout.payments.four.response.GetPaymentResponse checkoutPaymentResponse, @NonNull @NonNull com.checkout.four.CheckoutApi api)Builds aPaymentResponsebased on the givenGetPaymentResponse.- Parameters:
checkoutPaymentResponse- theGetPaymentResponseto build thePaymentResponsefromapi- theCheckoutApiused to gather the latest action data for theGetPaymentResponsewith- Returns:
- a
PaymentResponsebased on the givenGetPaymentResponse
-
getAmountInMajorUnits
protected javax.money.MonetaryAmount getAmountInMajorUnits(@NonNull @NonNull Long amount, @NonNull @NonNull String currencyCode)- Parameters:
amount- the amount to convert toMonetaryAmountin major units fromcurrencyCode- the currency code of theMonetaryAmount- Returns:
- the
MonetaryAmountin major units from the givenamountandcurrencyCode - See Also:
Money.ofMinor(CurrencyUnit, long)
-
populate3DSData
protected com.broadleafcommerce.paymentgateway.domain.PaymentResponse populate3DSData(@NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentResponse paymentResponse, @NonNull @NonNull com.checkout.payments.ThreeDSData threeDSData)Populates the 3DS data for the givenPaymentResponse.- Parameters:
paymentResponse- thePaymentResponseto populate the 3DS data forthreeDSData- theThreeDSDatato populate the 3DS data from- Returns:
- the
PaymentResponsewith the populated 3DS data
-
populateActionData
protected com.broadleafcommerce.paymentgateway.domain.PaymentResponse populateActionData(@NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentResponse paymentResponse, @NonNull @NonNull com.checkout.payments.four.response.GetPaymentResponse checkoutComPayment, @NonNull @NonNull com.checkout.four.CheckoutApi api)Identifies a Checkout.comPaymentActionusing thePaymentResponse.getTransactionReferenceId()& adds data from thePaymentActionto thePaymentResponse.- Parameters:
paymentResponse- thePaymentResponseto populate the action data forcheckoutComPayment- theGetPaymentResponsecorrelates to the Checkout.com paymentapi- theCheckoutApito get the payment actions from- Returns:
- the
PaymentResponsewith the payment action data included
-
getCheckoutPaymentId
@Nullable protected String getCheckoutPaymentId(@NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.TransactionLookupRequest transactionLookupRequest)
Gets the id of the Checkout.com payment from the givenTransactionLookupRequest.Note that this is not the id of the Broadleaf payment.
- Parameters:
transactionLookupRequest- theTransactionLookupRequestto get the Checkout.com payment id from- Returns:
- the id of the Checkout.com payment from the given
TransactionLookupRequest
-
getGatewayType
public String getGatewayType()
- Specified by:
getGatewayTypein interfacecom.broadleafcommerce.paymentgateway.service.PaymentGatewayTypeAware
-
getCheckoutApiInitService
protected CheckoutApiInitService getCheckoutApiInitService()
-
getTypeFactory
protected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory()
-
-