Payments

Table of Contents

Overview

A payment gateway is a company that is used as a middleman to capture payments from your customer before being deposited to your bank account. The payments settings is where you will configure your payment gateway and get details about your specific gateway configuration.

Included Gateways

The following payment gateways are included with CartThrob:

  • Dummy Payments
  • Offline Payments
  • Stripe
  • SagePay Direct
  • SagePay Server
  • PayPal Express
  • Mollie
  • Authorize.net API

Custom Gateway Development

If you want to create your own Payment Gateway for use within CartThrob, we've put together a Git repository that contains various branches of examples.

You can read more about how to get started and the official Payment Gateway API on the GitHub Wiki.

Paid Gateway Development

Paid gateway development services are available. Please contact us for more details and to confirm pricing and timeline. Before beginning custom development we will need the following:

  1. Developer documentation
  2. Testing credentials for the Payment Gateway

Select a Gateway

There are 2 dropdowns. One is for setting the primary gateway to be used in transactions. If no gateway is specified, this is the gateway that will be used.

The second dropdown is used to select a gateway to configure. You can select multiple gateways and configure them before submitting your changes to be saved.

Gateway Settings

Each gateway has different settings specific to the gateway. These settings are documented individually. The only common setting is the HTML Template. Each gateway can automatically output all of its required HTML in the checkout form. If you would like to override the default HTML and choose your own template, you can set that template here. Beneath the gateway settings, you can find a sample of the HTML that is output in the checkout form to use as a basis for creating your own template.

Payment Security Settings

It's best to allow as little possibility for someone to exploit your system as you can. This section does a few important things.

Validate Credit Card Number

If you are capturing credit card number, CartThrob can do a Luhn Check (Modulus 10 check) on the credit card before sending it on to your gateway. All gateways do this check, as well as additional checks, so this may not be needed.

Allow Gateway Selection in Checkout Form

If you want your customer to be able to choose gateways, then this should be set to "Yes". If that's the case, use the gateway_select tag in the checkout form. This will output a select box containing all available gateways to choose from. If you set the above setting to "Yes" any checked gateways will be selectable by the customer using the gateway select tag. Please note that at this time, the Stripe payment gateway and Authorize.net API gateway are incompatible due to conflicting javascript. Only one of those gateways can currently be configured to work with multiple gateway selections.