Interface PaymentGatewayConfiguration
- All Known Implementing Classes:
AbstractPaymentGatewayConfiguration
,PassthroughPaymentConfigurationImpl
This API is intended to define the specific configuration parameters that this gateway implementation currently supports.
- Author:
- Elbert Bautista (elbertbautista)
-
Method Summary
Modifier and TypeMethodDescriptionint
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 the AbstractExternalPaymentGatewayCall class.Each payment module should have a unique subclass ofPaymentGatewayType
with only a single type.boolean
boolean
boolean
boolean
Denotes whether or not this payment provider supports multiple payments on an order.boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
Gets the configured transaction type for this module.void
setFailureReportingThreshold
(int failureReportingThreshold) 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 the AbstractExternalPaymentGatewayCall class.void
setPerformAuthorizeAndCapture
(boolean performAuthorizeAndCapture) Sets the transaction type to 'AUTHORIZE AND CAPTURE' for this gateway.
-
Method Details
-
isPerformAuthorizeAndCapture
boolean isPerformAuthorizeAndCapture()Gets the configured transaction type for this module.
The possible initial transaction types for a gateway can be: 'Authorize' or 'Authorize and Capture'
This property is intended to be configurable
-
setPerformAuthorizeAndCapture
void setPerformAuthorizeAndCapture(boolean performAuthorizeAndCapture) Sets the transaction type to 'AUTHORIZE AND CAPTURE' for this gateway. If this is set to 'FALSE', then the gateway will only issue an 'AUTHORIZATION' request.
This property is intended to be configurable
-
getFailureReportingThreshold
int getFailureReportingThreshold()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 the AbstractExternalPaymentGatewayCall class. One of the configuration parameters is the failure reporting threshold.
-
setFailureReportingThreshold
void setFailureReportingThreshold(int failureReportingThreshold) 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 the AbstractExternalPaymentGatewayCall class. One of the configuration parameters is the failure reporting threshold.
-
handlesAuthorize
boolean handlesAuthorize() -
handlesCapture
boolean handlesCapture() -
handlesAuthorizeAndCapture
boolean handlesAuthorizeAndCapture() -
handlesReverseAuthorize
boolean handlesReverseAuthorize() -
handlesVoid
boolean handlesVoid() -
handlesRefund
boolean handlesRefund() -
handlesPartialCapture
boolean handlesPartialCapture() -
handlesMultipleShipment
boolean handlesMultipleShipment() -
handlesRecurringPayment
boolean handlesRecurringPayment() -
handlesSavedCustomerPayment
boolean handlesSavedCustomerPayment() -
handlesMultiplePayments
boolean handlesMultiplePayments()Denotes whether or not this payment provider supports multiple payments on an order. For instance, a gift card provider might want to support multiple gift cards on a single order but a credit card provider may not support payment with multiple credit cards.
If a provider does not support multiple payments in an order then that means that all payments are deleted (archived) on an order whenever a new payment of that type is attempted to be added to the order.
-
getGatewayType
PaymentGatewayType getGatewayType()Each payment module should have a unique subclass of
PaymentGatewayType
with only a single type. For instance, the Braintree module would have a 'BraintreePaymentGatewayType' subclass which adds itself to the global static map.In order to ensure that the class loader loads the extension of
PaymentGatewayType
, it is recommended to add a simple bean definition to a module application context that is utilized by both the site and admin. Using the Braintree module as an example again, this might look like:<bean class="com.broadleafcommerce.payment.service.gateway.BraintreeGatewayType" />
-