Class AbstractExternalPaymentGatewayCall<T,R>
java.lang.Object
com.broadleafcommerce.paymentgateway.service.AbstractExternalPaymentGatewayCall<T,R>
- All Implemented Interfaces:
FailureCountExposable
,ServiceStatusDetectable<T>
public abstract class AbstractExternalPaymentGatewayCall<T,R>
extends Object
implements ServiceStatusDetectable<T>, FailureCountExposable
All payment gateway classes that intend to make an external call, either manually from an HTTP Post or through an SDK which makes its own external call, should extend this class. The implementations should override the abstract methods: communicateWithVendor(), and getFailureReportingThreshold();
The generic Type 'T' represents the payment request object that is going to be sent to the external gateway. The generic Type 'R' represents the payment result object that will be returned
This allows anyone using the framework to configure the ServiceMonitor AOP hooks and detect any outages to provide (email/logging) feedback when necessary.
- Author:
- Elbert Bautista (elbertbautista)
- See Also:
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
abstract R
communicateWithVendor
(T paymentRequest) abstract Integer
void
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.vendor.service.monitor.ServiceStatusDetectable
getServiceName
-
Field Details
-
failureCount
-
isUp
-
-
Constructor Details
-
AbstractExternalPaymentGatewayCall
public AbstractExternalPaymentGatewayCall()
-
-
Method Details
-
clearStatus
public void clearStatus()- Specified by:
clearStatus
in interfaceFailureCountExposable
-
incrementFailure
public void incrementFailure()- Specified by:
incrementFailure
in interfaceFailureCountExposable
-
getServiceStatus
- Specified by:
getServiceStatus
in interfaceFailureCountExposable
- Specified by:
getServiceStatus
in interfaceServiceStatusDetectable<T>
-
process
- Specified by:
process
in interfaceServiceStatusDetectable<T>
- Throws:
PaymentException
-
communicateWithVendor
- Throws:
Exception
-
getFailureReportingThreshold
- Specified by:
getFailureReportingThreshold
in interfaceFailureCountExposable
-