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.PaymentResponse
buildPaymentResponse
(Map<String, Object> apsResponse, String apsTransactionType) convertRequestBody
(@NonNull org.springframework.http.HttpHeaders headers, @NonNull String rawRequestBody) protected com.broadleafcommerce.paymentgateway.domain.PaymentResponse
convertToPaymentResponse
(@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 String
determineTransactionReferenceId
(@NonNull Map<String, Object> apsResponse) protected String
determineTransactionReferenceId
(@NonNull Map<String, Object> apsResponse, @NonNull com.broadleafcommerce.paymentgateway.domain.enums.TransactionType transactionType) protected com.broadleafcommerce.paymentgateway.domain.enums.TransactionType
determineTransactionType
(@NonNull String apsTransactionType) protected javax.money.MonetaryAmount
getAmountInMajorUnits
(@NonNull Map<String, Object> apsResponse, @NonNull javax.money.CurrencyUnit currency) protected Charset
getMediaTypeCharset
(org.springframework.http.MediaType mediaType) protected com.fasterxml.jackson.databind.ObjectMapper
protected List<APSRequestResponseTransformer>
protected APSSignatureService
protected com.broadleafcommerce.paymentgateway.domain.TransactionIdentifier
getTransactionIdentifier
(@NonNull Map<String, Object> apsResponse, @NonNull String tenantId) Builds aTransactionIdentifier
based on thetransactionReferenceId
andtenantId
values gathered from the provided APS response.protected com.broadleafcommerce.common.extension.TypeFactory
protected APSRequestResponseTransformer
identifyAPSRequestResponseTransformer
(@NonNull APSTransactionType transactionType) parseRequest
(@NonNull String body, org.springframework.http.MediaType mediaType) boolean
shouldHandleRequest
(@NonNull org.springframework.http.HttpHeaders headers, @NonNull String requestBody, @NonNull Map<String, String> parameters) void
validate
(@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, wait
Methods 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:
validate
in 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:
shouldHandleRequest
in 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:
convertToPaymentResponse
in interfacecom.broadleafcommerce.paymentgateway.service.PaymentGatewayWebhookHandler
-
getSupportedWebhookNotificationTypes
- Specified by:
getSupportedWebhookNotificationTypes
in interfacecom.broadleafcommerce.paymentgateway.service.PaymentGatewayWebhookHandler
-
getGatewayType
- Specified by:
getGatewayType
in 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 aTransactionIdentifier
based on thetransactionReferenceId
andtenantId
values gathered from the provided APS response.- Parameters:
apsResponse
- The webhook transaction result payloadtenantId
- ID of the owning tenant- Returns:
- A
TransactionIdentifier
based on thetransactionReferenceId
andtenantId
values 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()
-