Class DefaultAPSGatewayWebhookHandler
java.lang.Object
com.broadleafcommerce.payment.service.gateway.webhooks.DefaultAPSGatewayWebhookHandler
- All Implemented Interfaces:
APSGatewayWebhookHandler,com.broadleafcommerce.paymentgateway.service.PaymentGatewayTypeAware,com.broadleafcommerce.paymentgateway.service.PaymentGatewayWebhookHandler
- Author:
- Dima Myroniuk (dmyroniuk)
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultAPSGatewayWebhookHandler(APSSignatureService signatureService, List<APSRequestResponseTransformer> requestResponseTransformers, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory) -
Method Summary
Modifier and TypeMethodDescriptionprotected com.broadleafcommerce.paymentgateway.domain.PaymentResponsebuildPaymentResponse(Map<String, Object> apsResponse, String apsTransactionType) convertRequestBody(@NonNull org.springframework.http.HttpHeaders headers, @NonNull String rawRequestBody) protected com.broadleafcommerce.paymentgateway.domain.PaymentResponseconvertToPaymentResponse(@NonNull Map<String, Object> apsResponse, @NonNull String tenantId, String applicationId) org.apache.commons.lang3.tuple.Pair<com.broadleafcommerce.paymentgateway.domain.TransactionIdentifier,com.broadleafcommerce.paymentgateway.domain.PaymentResponse> convertToPaymentResponse(@NonNull org.springframework.http.HttpHeaders headers, @NonNull String requestBody, @NonNull Map<String, String> parameters) protected StringdetermineTransactionReferenceId(@NonNull Map<String, Object> apsResponse) protected StringdetermineTransactionReferenceId(@NonNull Map<String, Object> apsResponse, @NonNull com.broadleafcommerce.paymentgateway.domain.enums.TransactionType transactionType) protected com.broadleafcommerce.paymentgateway.domain.enums.TransactionTypedetermineTransactionType(@NonNull String apsTransactionType) protected javax.money.MonetaryAmountgetAmountInMajorUnits(@NonNull Map<String, Object> apsResponse, @NonNull javax.money.CurrencyUnit currency) protected CharsetgetMediaTypeCharset(org.springframework.http.MediaType mediaType) protected com.fasterxml.jackson.databind.ObjectMapperprotected List<APSRequestResponseTransformer>protected APSSignatureServiceprotected com.broadleafcommerce.paymentgateway.domain.TransactionIdentifiergetTransactionIdentifier(@NonNull Map<String, Object> apsResponse, @NonNull String tenantId) Builds aTransactionIdentifierbased on thetransactionReferenceIdandtenantIdvalues gathered from the provided APS response.protected com.broadleafcommerce.common.extension.TypeFactoryprotected APSRequestResponseTransformeridentifyAPSRequestResponseTransformer(@NonNull APSTransactionType transactionType) parseRequest(@NonNull String body, org.springframework.http.MediaType mediaType) booleanshouldHandleRequest(@NonNull org.springframework.http.HttpHeaders headers, @NonNull String requestBody, @NonNull Map<String, String> parameters) voidvalidate(@NonNull org.springframework.http.HttpHeaders headers, @NonNull String requestBody, @NonNull Map<String, String> parameters) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.broadleafcommerce.paymentgateway.service.PaymentGatewayWebhookHandler
buildFailedWebhookResponse, buildSuccessfulWebhookResponse, convertToPaymentResponse, getEventId, shouldHandleRequest, validate
-
Constructor Details
-
DefaultAPSGatewayWebhookHandler
public DefaultAPSGatewayWebhookHandler(APSSignatureService signatureService, List<APSRequestResponseTransformer> requestResponseTransformers, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory)
-
-
Method Details
-
validate
public void validate(@NonNull @NonNull org.springframework.http.HttpHeaders headers, @NonNull @NonNull String requestBody, @NonNull @NonNull Map<String, String> parameters) - Specified by:
validatein interfacecom.broadleafcommerce.paymentgateway.service.PaymentGatewayWebhookHandler
-
shouldHandleRequest
public boolean shouldHandleRequest(@NonNull @NonNull org.springframework.http.HttpHeaders headers, @NonNull @NonNull String requestBody, @NonNull @NonNull Map<String, String> parameters) - Specified by:
shouldHandleRequestin interfacecom.broadleafcommerce.paymentgateway.service.PaymentGatewayWebhookHandler
-
convertToPaymentResponse
public org.apache.commons.lang3.tuple.Pair<com.broadleafcommerce.paymentgateway.domain.TransactionIdentifier,com.broadleafcommerce.paymentgateway.domain.PaymentResponse> convertToPaymentResponse(@NonNull @NonNull org.springframework.http.HttpHeaders headers, @NonNull @NonNull String requestBody, @NonNull @NonNull Map<String, String> parameters) - Specified by:
convertToPaymentResponsein interfacecom.broadleafcommerce.paymentgateway.service.PaymentGatewayWebhookHandler
-
getSupportedWebhookNotificationTypes
- Specified by:
getSupportedWebhookNotificationTypesin interfacecom.broadleafcommerce.paymentgateway.service.PaymentGatewayWebhookHandler
-
getGatewayType
- Specified by:
getGatewayTypein interfacecom.broadleafcommerce.paymentgateway.service.PaymentGatewayTypeAware
-
convertRequestBody
-
parseRequest
-
getMediaTypeCharset
-
getTransactionIdentifier
protected com.broadleafcommerce.paymentgateway.domain.TransactionIdentifier getTransactionIdentifier(@NonNull @NonNull Map<String, Object> apsResponse, @NonNull @NonNull String tenantId) Builds aTransactionIdentifierbased on thetransactionReferenceIdandtenantIdvalues gathered from the provided APS response.- Parameters:
apsResponse- The webhook transaction result payloadtenantId- ID of the owning tenant- Returns:
- A
TransactionIdentifierbased on thetransactionReferenceIdandtenantIdvalues gathered from the APS response
-
convertToPaymentResponse
-
buildPaymentResponse
-
getAmountInMajorUnits
-
determineTransactionReferenceId
-
determineTransactionReferenceId
-
determineTransactionType
protected com.broadleafcommerce.paymentgateway.domain.enums.TransactionType determineTransactionType(@NonNull @NonNull String apsTransactionType) -
identifyAPSRequestResponseTransformer
protected APSRequestResponseTransformer identifyAPSRequestResponseTransformer(@NonNull @NonNull APSTransactionType transactionType) -
getSignatureService
-
getRequestResponseTransformers
-
getObjectMapper
protected com.fasterxml.jackson.databind.ObjectMapper getObjectMapper() -
getTypeFactory
protected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory()
-