Salami Gateway

API Documentation
Back to Dashboard

Co-op Bank SDK

deadangroup/coop — Co-operative Bank of Kenya Open API

Namespace: DGL\Coop Base URLs: openapi-sandbox.co-opbank.co.ke (sandbox) / openapi.co-opbank.co.ke (production)

Configuration

// config/coop.php
return [
    'is_sandbox' => true,
    'consumer_key' => '...',
    'consumer_secret' => '...',
    'account_number' => '...',
    'callback_url' => '...',
];

Operations

Receive Money

STK Push (Safaricom via Co-op)

$client->stkPush([
    'PhoneNumber' => '254712345678',
    'Amount' => 1000,
    'TransactionNarration' => 'Invoice payment',
]);

Endpoint: POST /Saf/Stk/1.0.0

STK Query

$client->stkQuery([
    'MessageReference' => 'ABC123...',
]);

Endpoint: POST /Saf/Stk/Query/1.0.0

Send Money

Internal Transfer (Account to Account)

$client->internalTransfer([
    'AccountNumber' => '01234567890123',
    'Amount' => 5000,
    'Narration' => 'Supplier payment',
]);

Endpoint: POST /FundsTransfer/Internal/A2A/2.0.0

To M-Pesa

$client->toMpesa([
    'MobileNumber' => '254712345678',
    'Amount' => 2000,
]);

Endpoint: POST /FundsTransfer/External/A2M/Mpesa/1.0.0

PesaLink (Bank to Bank)

$client->pesaLinkBank([
    'AccountNumber' => '0123456789',
    'BankCode' => '11',
    'Amount' => 15000,
]);

Endpoint: POST /FundsTransfer/External/A2A/PesaLink/1.0.0

PesaLink (To Phone)

$client->pesaLinkPhone([
    'PhoneNumber' => '254712345678',
    'Amount' => 3000,
]);

Endpoint: POST /FundsTransfer/External/A2M/PesaLink/1.0.0

Enquiries

Account Balance

$client->accountBalance();
// Or specific account:
$client->accountBalance(['AccountNumber' => '01234567890123']);

Endpoint: GET /Enquiry/AccountBalance/1.0.0/{AccountNumber}

Account Validation

$client->accountValidation(['AccountNumber' => '01234567890123']);

Endpoint: GET /Enquiry/Validation/Account/1.0.0/{AccountNumber}

Mini Statement

$client->miniStatement();

Endpoint: GET /Enquiry/MiniStatement/Account/1.0.0/{AccountNumber}

Full Statement

$client->fullStatement([
    'AccountNumber' => '01234567890123',
    'StartDate' => '2026-01-01',
    'EndDate' => '2026-01-31',
]);

Endpoint: GET /Enquiry/FullStatement/Account/1.0.0/{AccountNumber}

Exchange Rate

$client->exchangeRate([
    'FromCurrencyCode' => 'USD',
    'ToCurrencyCode' => 'KES',
]);

Endpoint: GET /Enquiry/ExchangeRate/1.0.0/{From}/{To}

Transaction Status

$client->transactionStatus([
    'MessageReference' => 'ABC123...',
]);

Endpoint: POST /QueryStatus/v1.0.0/query


Need help? Contact us at support@dgl.co.ke
© 2026 Deadan Group Limited. All rights reserved.
⚡ API Explorer
LIVE
// Response will appear here...