PHPackages                             schoolaid/zuma - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. schoolaid/zuma

ActiveLibrary[Payment Processing](/categories/payments)

schoolaid/zuma
==============

Zuma payment platform integration for Laravel

1.0.0(2w ago)070proprietaryPHPPHP ^8.0

Since Jun 13Pushed 2w agoCompare

[ Source](https://github.com/schoolaid/zuma)[ Packagist](https://packagist.org/packages/schoolaid/zuma)[ RSS](/packages/schoolaid-zuma/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (4)Versions (2)Used By (0)

SchoolAid Zuma Payment Integration
==================================

[](#schoolaid-zuma-payment-integration)

A Laravel package for integrating with the Zuma payment platform API.

Installation
------------

[](#installation)

```
composer require schoolaid/zuma
```

Configuration
-------------

[](#configuration)

Publish the configuration file:

```
php artisan vendor:publish --tag=zuma-config
```

Add the following environment variables to your `.env` file:

```
ZUMA_BASE_URL=https://api.zuma.com
ZUMA_USERNAME=your_username
ZUMA_PASSWORD=your_password
```

Usage
-----

[](#usage)

### Using the Facade

[](#using-the-facade)

```
use SchoolAid\Zuma\Facades\Zuma;
use SchoolAid\Zuma\Actions\{Tokenize, PaymentToken};

// Tokenize a card
$response = Tokenize::getInstance(Zuma::getFacadeRoot())
    ->setBody([
        'card_number' => '4111111111111111',
        'expiry_date' => '1225',
        'first_name' => 'John',
        'last_name' => 'Doe',
        'address1' => '123 Main St',
        'city' => 'New York',
        'state' => 'NY',
        'postal_code' => '10001',
        'country' => 'US',
        'email' => 'john@example.com'
    ])
    ->submit();

if ($response->isSuccess()) {
    $token = $response->getPaymentInstrumentTokenId();
}

// Process payment with token
$payment = PaymentToken::getInstance(Zuma::getFacadeRoot())
    ->setBody([
        'amount' => 100.50,
        'token' => $token,
        'cvv' => '123'
    ])
    ->submit();

if ($payment->isApproved()) {
    // Payment successful
}
```

### Direct Client Usage

[](#direct-client-usage)

```
use SchoolAid\Zuma\Client;
use SchoolAid\Zuma\Actions\ThreeDSSale;

$client = new Client(
    'https://api.zuma.com',
    'username',
    'password'
);

// 3D Secure payment
$response = ThreeDSSale::getInstance($client)
    ->setBody([
        'type' => 'payment',
        'amount' => 150.00,
        'card_number' => '4111111111111111',
        'expiry_date' => '1225',
        'cvv' => '123',
        'url_commerce' => 'https://merchant.com/callback',
        // ... other required fields
    ])
    ->submit();

if ($response->isSuccess()) {
    $redirectUrl = $response->getRedirectUrl();
    $referenceId = $response->getReferenceId();
}
```

Available Actions
-----------------

[](#available-actions)

- `Tokenize` - Tokenize credit card information
- `PaymentToken` - Process payment using a token
- `Cancel` - Cancel a transaction
- `ThreeDSSale` - Initiate 3D Secure payment
- `ThreeDSContinue` - Continue 3D Secure payment flow

For detailed documentation on each action including request/response formats, see [Actions Documentation](docs/actions.md).

Response Codes
--------------

[](#response-codes)

CodeDescription00Approved/Success05Do not honor51Insufficient funds54Expired cardSee the full list in the API documentation.

Error Handling
--------------

[](#error-handling)

```
try {
    $response = PaymentToken::getInstance($client)
        ->setBody($data)
        ->submit();

    if (!$response->isApproved()) {
        // Handle declined payment
        $errorCode = $response->getCode();
        $errorMessage = $response->getMessage();
    }
} catch (Exception $e) {
    // Handle API errors
    logger()->error('Payment failed: ' . $e->getMessage());
}
```

###  Health Score

24

—

LowBetter than 31% of packages

Maintenance63

Regular maintenance activity

Popularity11

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity13

Early-stage or recently created project

 Bus Factor1

Top contributor holds 88.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

20d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/fee65f191de88ede88003877a230678d02ff64f9cb5e70f46814c28641c6d2e1?d=identicon)[hsingli](/maintainers/hsingli)

---

Top Contributors

[![hlca](https://avatars.githubusercontent.com/u/1301913?v=4)](https://github.com/hlca "hlca (15 commits)")[![evtray](https://avatars.githubusercontent.com/u/68375021?v=4)](https://github.com/evtray "evtray (2 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/schoolaid-zuma/health.svg)

```
[![Health](https://phpackages.com/badges/schoolaid-zuma/health.svg)](https://phpackages.com/packages/schoolaid-zuma)
```

###  Alternatives

[craftcms/cms

Craft CMS

3.6k3.6M3.1k](/packages/craftcms-cms)[illuminate/http

The Illuminate Http package.

11937.9M6.9k](/packages/illuminate-http)[spatie/laravel-export

Create a static site bundle from a Laravel app

674146.0k6](/packages/spatie-laravel-export)[sebdesign/laravel-viva-payments

A Laravel package for integrating the Viva Payments gateway

4851.0k](/packages/sebdesign-laravel-viva-payments)[simplestats-io/laravel-client

Server-side analytics for Laravel that follows the full funnel from visit to registration to payment, attributed to the channel that drove it. Revenue, MRR, churn and ad-spend profit (ROAS/CAC) per channel. GDPR compliant, ad-blocker proof.

5021.9k](/packages/simplestats-io-laravel-client)[fleetbase/core-api

Core Framework and Resources for Fleetbase API

1235.9k20](/packages/fleetbase-core-api)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
