Class DefaultBraintreeExternalCallService
java.lang.Object
com.broadleafcommerce.paymentgateway.service.AbstractExternalPaymentGatewayCall<BraintreePaymentRequest,com.broadleafcommerce.paymentgateway.domain.PaymentResponse>
com.broadleafcommerce.braintree.service.DefaultBraintreeExternalCallService
- All Implemented Interfaces:
BraintreeExternalCallService
,com.broadleafcommerce.paymentgateway.service.FailureCountExposable
,com.broadleafcommerce.paymentgateway.vendor.service.monitor.ServiceStatusDetectable<BraintreePaymentRequest>
public class DefaultBraintreeExternalCallService
extends com.broadleafcommerce.paymentgateway.service.AbstractExternalPaymentGatewayCall<BraintreePaymentRequest,com.broadleafcommerce.paymentgateway.domain.PaymentResponse>
implements BraintreeExternalCallService
The default implementation for
BraintreeExternalCallService
.-
Field Summary
Fields inherited from class com.broadleafcommerce.paymentgateway.service.AbstractExternalPaymentGatewayCall
failureCount, isUp
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultBraintreeExternalCallService
(com.broadleafcommerce.paymentgateway.util.PaymentResponseUtil paymentResponseUtil, BraintreeProvider braintreeProvider, ExternalBraintreeProviderProperties properties, BraintreeConfigurationProperties braintreeConfigurationProperties, List<ResponseTransformer> requestResponseTransformers, com.fasterxml.jackson.databind.ObjectMapper mapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory) -
Method Summary
Modifier and TypeMethodDescriptionprotected com.broadleafcommerce.paymentgateway.domain.PaymentResponse
buildPaymentResponse
(@NonNull BraintreePaymentRequest braintreePaymentRequest) com.broadleafcommerce.paymentgateway.domain.PaymentResponse
call
(@NonNull BraintreePaymentRequest braintreePaymentRequest) Executes the payment request to the Braintree API.com.broadleafcommerce.paymentgateway.domain.PaymentResponse
communicateWithVendor
(@NonNull BraintreePaymentRequest braintreePaymentRequest) protected BraintreeResponse
executeRequest
(@NonNull BraintreePaymentRequest braintreePaymentRequest) protected BraintreeConfigurationProperties
protected BraintreeProvider
protected String
getErrorClass
(BraintreeResponse errorResponse) protected String
getGatewayTransactionType
(@NonNull BraintreePaymentRequest braintreePaymentRequest) protected com.fasterxml.jackson.databind.ObjectMapper
protected com.broadleafcommerce.paymentgateway.util.PaymentResponseUtil
protected ExternalBraintreeProviderProperties
protected List<ResponseTransformer>
protected com.broadleafcommerce.common.extension.TypeFactory
protected BraintreeResponse
handleExecuteCustomRequest
(@NonNull BraintreePaymentRequest braintreePaymentRequest) protected void
handleWebClientException
(ProviderApiException apiException, com.broadleafcommerce.paymentgateway.domain.PaymentResponse paymentResponse, BraintreeResponse errorResponse) protected String
identifyFailureType
(String errorClass, String transactionReferenceId) protected ResponseTransformer
identifyRequestResponseTransformer
(@NonNull String transactionType) protected com.broadleafcommerce.paymentgateway.domain.PaymentResponse
processProviderApiException
(@NonNull ProviderApiException apiException, @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentResponse paymentResponse, @NonNull BraintreePaymentRequest braintreePaymentRequest) Methods inherited from class com.broadleafcommerce.paymentgateway.service.AbstractExternalPaymentGatewayCall
clearStatus, getServiceStatus, incrementFailure, process
-
Constructor Details
-
DefaultBraintreeExternalCallService
public DefaultBraintreeExternalCallService(com.broadleafcommerce.paymentgateway.util.PaymentResponseUtil paymentResponseUtil, BraintreeProvider braintreeProvider, ExternalBraintreeProviderProperties properties, BraintreeConfigurationProperties braintreeConfigurationProperties, List<ResponseTransformer> requestResponseTransformers, com.fasterxml.jackson.databind.ObjectMapper mapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory)
-
-
Method Details
-
call
public com.broadleafcommerce.paymentgateway.domain.PaymentResponse call(@NonNull @NonNull BraintreePaymentRequest braintreePaymentRequest) Description copied from interface:BraintreeExternalCallService
Executes the payment request to the Braintree API.- Specified by:
call
in interfaceBraintreeExternalCallService
- Parameters:
braintreePaymentRequest
- the payment request that should be executed for the specifiedtransaction type
.- Returns:
- the payment response
-
getServiceName
- Specified by:
getServiceName
in interfacecom.broadleafcommerce.paymentgateway.vendor.service.monitor.ServiceStatusDetectable<BraintreePaymentRequest>
-
communicateWithVendor
public com.broadleafcommerce.paymentgateway.domain.PaymentResponse communicateWithVendor(@NonNull @NonNull BraintreePaymentRequest braintreePaymentRequest) - Specified by:
communicateWithVendor
in classcom.broadleafcommerce.paymentgateway.service.AbstractExternalPaymentGatewayCall<BraintreePaymentRequest,
com.broadleafcommerce.paymentgateway.domain.PaymentResponse>
-
getFailureReportingThreshold
- Specified by:
getFailureReportingThreshold
in interfacecom.broadleafcommerce.paymentgateway.service.FailureCountExposable
- Specified by:
getFailureReportingThreshold
in classcom.broadleafcommerce.paymentgateway.service.AbstractExternalPaymentGatewayCall<BraintreePaymentRequest,
com.broadleafcommerce.paymentgateway.domain.PaymentResponse>
-
buildPaymentResponse
protected com.broadleafcommerce.paymentgateway.domain.PaymentResponse buildPaymentResponse(@NonNull @NonNull BraintreePaymentRequest braintreePaymentRequest) -
getGatewayTransactionType
protected String getGatewayTransactionType(@NonNull @NonNull BraintreePaymentRequest braintreePaymentRequest) -
identifyRequestResponseTransformer
protected ResponseTransformer identifyRequestResponseTransformer(@NonNull @NonNull String transactionType) -
executeRequest
protected BraintreeResponse executeRequest(@NonNull @NonNull BraintreePaymentRequest braintreePaymentRequest) -
processProviderApiException
protected com.broadleafcommerce.paymentgateway.domain.PaymentResponse processProviderApiException(@NonNull @NonNull ProviderApiException apiException, @NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentResponse paymentResponse, @NonNull @NonNull BraintreePaymentRequest braintreePaymentRequest) -
getErrorClass
-
handleWebClientException
protected void handleWebClientException(ProviderApiException apiException, com.broadleafcommerce.paymentgateway.domain.PaymentResponse paymentResponse, BraintreeResponse errorResponse) -
identifyFailureType
-
handleExecuteCustomRequest
protected BraintreeResponse handleExecuteCustomRequest(@NonNull @NonNull BraintreePaymentRequest braintreePaymentRequest) -
getPaymentResponseUtil
protected com.broadleafcommerce.paymentgateway.util.PaymentResponseUtil getPaymentResponseUtil() -
getBraintreeProvider
-
getProperties
-
getBraintreeConfigurationProperties
-
getRequestResponseTransformers
-
getMapper
protected com.fasterxml.jackson.databind.ObjectMapper getMapper() -
getTypeFactory
protected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory()
-