Skip to content

Squad (GTCO)

Squad exposes hosted payment checkout along with bank payouts and virtual accounts. Resolve it with Payment::driver('squad') or configure it as the default gateway.

Setup

SQUAD_SECRET_KEY=your_secret_key
SQUAD_PUBLIC_KEY=your_public_key
SQUAD_BENEFICIARY_ACCOUNT=your_beneficiary_account
SQUAD_BASE_URL=https://api.squadco.com
SQUAD_CALLBACK_URL=https://example.com/payment/callback
SQUAD_WEBHOOK_SECRET=your_webhook_secret

Use the keys and API base URL issued for your environment. Never expose the secret key. Register https://example.com/webhooks/payment-gateways/squad as the webhook destination.

Hosted payment

use Alphabalex\PaymentMadeEasy\Facades\Payment;

$driver = Payment::driver('squad');
$checkout = $driver->initializePayment([
    'email'        => 'customer@example.com',
    'amount'       => 5000.00,
    'currency'     => 'NGN',
    'reference'    => 'ORDER_123',
    'callback_url' => 'https://example.com/payment/callback',
    'name'         => 'Jane Doe',
]);

// Redirect to the checkout URL supplied by Squad.
// Verify the transaction reference server-side before fulfilment.
$payment = $driver->verifyPayment('ORDER_123');

Amounts are expressed in major units; the driver converts them to the provider's expected subunits. The generated or supplied reference should be stored with the order.

Transfers and virtual accounts

The driver implements DisbursementDriverInterface and VirtualAccountDriverInterface. A bank transfer uses fields such as account_number, bank_code, amount, currency, and reference. Virtual-account creation accepts customer identity fields such as customer_identifier, email, and name. Use the API reference for each provider-specific request/response shape and bank-resolution steps.

The driver does not advertise shared subscription, balance, customer, or payment-link interfaces. Confirm support in the capability directory before using optional features.

Webhooks

Configure POST /webhooks/payment-gateways/squad, set SQUAD_WEBHOOK_SECRET, and retain signature verification. Treat webhooks as asynchronous notifications and verify status when reconciling orders. See webhook setup.

See Squad in the API reference for transfer and virtual-account examples. Related: payments · configuration.