WBAMS ships 67 payment gateways. They differ in their credentials but the setup is the same shape every time, and the step people skip — the callback — is the one that decides whether payments are recorded.
Activate the gateway
- Open Settings → Payment Gateways.
- Find the provider in the list of available gateways and activate it.
- Fill in the credentials the provider gave you. Most gateways have a test or sandbox mode — use it first.
- Set the display name customers will see at checkout. This is customer-facing wording, not the module name.
- Choose which currencies the gateway accepts, if it does not accept all of yours.
- Save.
Register the callback
A gateway tells WBAMS that a payment succeeded by calling back to your site. If the callback is not registered, or is registered at the wrong address, the customer pays and the invoice stays unpaid.
The callback address follows one pattern:
https://example.com/extensions/gateways/callback/GATEWAY.php
Replace example.com with your System URL and GATEWAY with the module name — stripe.php, gocardless.php, and so on.
Stripe, for example, creates its own webhook against your System URL when you save valid credentials. Others require you to paste the address into the provider’s dashboard. Check the provider rather than assuming.
The callbacks live at the provider, pointing at the old address. Moving domain or switching to HTTPS means re-registering every gateway.
Test with a real payment
- Put the gateway in test mode and place an order as a customer, in a private window.
- Pay with the provider’s test card or sandbox account.
- Confirm you return to the client area and the invoice shows as paid. This is the test that matters — a successful payment at the provider that leaves the invoice unpaid means the callback did not arrive.
- Check Platform → Gateway log for the callback as received.
- Check the transaction was recorded against the invoice with the right amount and fee.
- Switch to live mode and repeat with a small real payment, then refund it.
When a payment does not land
- Read Platform → Gateway log first. If there is no entry, the callback never arrived — the problem is the registered address, not WBAMS.
- If there is an entry, read Platform → Module log for what the module did with it.
- Confirm the System URL in Settings → General matches the address the provider is calling.
- Check the provider’s own dashboard for delivery attempts and their responses. A 404 or 500 recorded there points straight at the cause.
It hides the broken callback, and the next payment fails the same way. Fix the callback and let it settle properly.
Settings a particular gateway adds
Most of the setup above is the same whichever gateway you activate. Three settings are specific enough to be worth spelling out, because the module links to this page from beside them.
Stripe: Allow Payment Request Buttons
Off by default. Turn it on and a supported browser offers the card the visitor already has stored — Apple Pay on Safari, Google Pay on Chrome — as a single button above the card fields on the invoice payment page. Nothing changes for a visitor whose browser has no stored card; they see the ordinary form.
Two conditions have to hold before the button appears at all, and neither is set in WBAMS:
- The page must be served over HTTPS. The button is hidden on a plain HTTP page.
- Your domain must be registered with Stripe under Settings → Payments → Payment method domains, which is where Apple requires the domain association file to be verified.
If the setting is on and the button still does not show, test in a browser that has a card saved and check the domain registration first — that is the usual cause.
GoCardless: supported currencies
GoCardless settles through a national direct debit scheme, and each scheme handles one currency. WBAMS accepts eight, mapping each to its scheme:
| Currency | Scheme |
|---|---|
| GBP | Bacs |
| EUR | SEPA |
| USD | ACH |
| CAD | PAD |
| AUD | BECS |
| NZD | BECS NZ |
| SEK | Autogiro |
| DKK | Betalingsservice |
The gateway configuration page warns you when a currency configured under Billing → Currencies is not on this list. An invoice in that currency will offer GoCardless and then fail to take the payment, so either remove the currency or leave GoCardless off the products priced in it.
GoCardless also refuses API requests from a site that is not on HTTPS. The System URL in Settings → General has to begin with https, not just answer on it.
GoCardless: Charge Date Preference
Off by default, and the default is the one most installations want: the charge date sent to GoCardless is the invoice due date, so the customer’s bank is debited on the day the invoice falls due.
Turn it on and the capture is initiated as soon as your own automation decides to capture, following the capture settings under Settings → Automation rather than the due date. Use it when you bill in arrears and want the money moving the moment the invoice is generated. Bear in mind the scheme still adds its own clearing time on top; this changes when the request is made, not when the funds arrive.
Offline payment methods
Bank transfer, check and other manual methods need no gateway. Record them from the invoice with Add payment, or from Billing → Offline payment for a batch.