Documentation

Payment Gateway Interfaces

Interface Description
PaymentGatewayConfiguartion This bean is intended to define the specific configuration parameters that this gateway implementation currently supports.
PaymentGatewayConfigurationService Each payment gateway module should configure an instance of this. In order for multiple gateways to exist in the system at the same time, a list of these is managed via the PaymentGatewayConfigurationServiceProvider. This allows for proper delegation to the right gateway to perform operations against via different order payments on an order.
PaymentGatewayCheckoutService This is designed as a generic contract for allowing payment modules to add payments to an order represented in Broadleaf while still staying decoupled from any of the Broadleaf core framework concepts. These service methods are usually invoked from the controller that listens to the endpoint hit by the external payment provider (which should be a subclass of PaymentGatewayAbstractController).
PaymentGatewayCreditCardService Several payment gateways allow you to manage Customer and Credit Card Information from the gateway allowing you to create a transaction from the tokenized customer or payment method at a later date. Note: These are usually extra features you need to pay for when you sign up with the Gateway
PaymentGatewayCustomerService Several payment gateways allow you to manage Customer and Credit Card Information from the gateway allowing you to create a transaction from the tokenized customer or payment method at a later date. Note: These are usually extra features you need to pay for when you sign up with the Gateway
PaymentGatewayFraudService Certain Payment Integrations allow you to use Fraud Services like Address Verification and Buyer Authentication. This API allows you to call certain fraud prevention APIs exposed from the gateway.
PaymentGatewayHostedService Certain Payment Integrations allow you to use a Hosted Solution, such as PayPal Express and SagePay Form. This API allows you to create the call to send a user to the Gateway's Hosted page and to capture and record transaction responses back from them.
PaymentGatewayReportingService This API provides the ability to get the status of a Transaction after it has been submitted to the Gateway. Gateways have different ways to provide this information. For example, Cybersource can provide a nightly feed or FTP file that contain details of what was SETTLED, CHARGEBACK, etc... to be reconciled in your system. Braintree and Paypal have API hooks to either do a date based query or an individual inquiry on a particular transaction.
PaymentGatewayRollbackService This API allows each module to provide its own implementation for rollback. Each module needs to implement this if for some reason the checkout workflow fails after payments have been finalized and the submitted transaction needs to rollback.
PaymentGatewaySubscriptionService Some gateways allow you to create a form of recurring billing by creating a subscription profile. Note: Some Gateways charge an extra fee to enable this feature
PaymentGatewayTamperProofSealService Using this service allows the implementor to create a Tamper Proof Seal of the Customer and Order ID using a secret key (one option being the merchant secret key of the gateway). On any web response from a gateway that has plain-text Order ID and Customer ID parameters returned, the verifySeal() method should be called to check if the values have been tampered with.
PaymentGatewayTransactionConfirmationService This API is intended to be called by the Checkout Workflow to confirm all Payments on the order that have not yet been confirmed/finalized. In the case where an error is thrown by the gateway and confirming is not possible, the workflow should invoke the rollback handlers on any Payments that have already been successfully confirmed.
PaymentGatewayTransactionService This interface provides the basic functions needed to create the normal BILLABLE Credit Card Transactions. The intention of these method implementations are to make a Server to Server API call.
PaymentGatewayTransparentRedirectService The purpose of this interface is to provide an API that will create any gateway specific parameters needed for a Transparent Redirect/Silent Order Post etc... Some payment gateways provide this ability and will generate either a Secure Token or some hashed parameters that will be placed as hidden fields on your Credit Card form. These parameters (along with the Credit Card information) will be placed on the ResponseDTO and your HTML should include these fields to be POSTed directly to the implementing gateway for processing.
PaymentGatewayWebResponsePrintService This is a utility service that aids in translating the Request Attribute and Request Parameters to a single String. This is useful when setting the Raw Response fields on a PaymentResponseDTO. Primarily used in the PaymentGatewayWebResponseService but can be injected anywhere you need to get the attributes or paraeters from an HTTPServletRequest as a String.
PaymentGatewayWebResponseService The purpose of this interface is to provide an API that will translate a web response returned from a Payment Gateway into a PaymentResponseDTO