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.
  • Constructor Details

  • 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 interface BraintreeExternalCallService
      Parameters:
      braintreePaymentRequest - the payment request that should be executed for the specified transaction type.
      Returns:
      the payment response
    • getServiceName

      public String getServiceName()
      Specified by:
      getServiceName in interface com.broadleafcommerce.paymentgateway.vendor.service.monitor.ServiceStatusDetectable<BraintreePaymentRequest>
    • communicateWithVendor

      public com.broadleafcommerce.paymentgateway.domain.PaymentResponse communicateWithVendor(@NonNull @NonNull BraintreePaymentRequest braintreePaymentRequest)
      Specified by:
      communicateWithVendor in class com.broadleafcommerce.paymentgateway.service.AbstractExternalPaymentGatewayCall<BraintreePaymentRequest,com.broadleafcommerce.paymentgateway.domain.PaymentResponse>
    • getFailureReportingThreshold

      public Integer getFailureReportingThreshold()
      Specified by:
      getFailureReportingThreshold in interface com.broadleafcommerce.paymentgateway.service.FailureCountExposable
      Specified by:
      getFailureReportingThreshold in class com.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

      @Nullable protected String getErrorClass(BraintreeResponse errorResponse)
    • handleWebClientException

      protected void handleWebClientException(ProviderApiException apiException, com.broadleafcommerce.paymentgateway.domain.PaymentResponse paymentResponse, BraintreeResponse errorResponse)
    • identifyFailureType

      protected String identifyFailureType(String errorClass, String transactionReferenceId)
    • handleExecuteCustomRequest

      protected BraintreeResponse handleExecuteCustomRequest(@NonNull @NonNull BraintreePaymentRequest braintreePaymentRequest)
    • getPaymentResponseUtil

      protected com.broadleafcommerce.paymentgateway.util.PaymentResponseUtil getPaymentResponseUtil()
    • getBraintreeProvider

      protected BraintreeProvider getBraintreeProvider()
    • getProperties

      protected ExternalBraintreeProviderProperties getProperties()
    • getBraintreeConfigurationProperties

      protected BraintreeConfigurationProperties getBraintreeConfigurationProperties()
    • getRequestResponseTransformers

      protected List<ResponseTransformer> getRequestResponseTransformers()
    • getMapper

      protected com.fasterxml.jackson.databind.ObjectMapper getMapper()
    • getTypeFactory

      protected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory()