Interface PaymentGatewayConfiguration

All Known Implementing Classes:
AbstractPaymentGatewayConfiguration, PassthroughPaymentConfigurationImpl

public interface PaymentGatewayConfiguration

This API is intended to define the specific configuration parameters that this gateway implementation currently supports.

Author:
Elbert Bautista (elbertbautista)
  • 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" />