utmstat/easybilling_pro_client

Official PHP client library for EasyBilling Pro API

Maintainers

Package info

github.com/utmstat/easybilling_pro_client

pkg:composer/utmstat/easybilling_pro_client

Statistics

Installs: 2

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.1 2026-04-26 16:30 UTC

This package is auto-updated.

Last update: 2026-04-26 16:31:19 UTC


README

Official PHP client library for the EasyBilling Pro API.

PHP Version License: MIT

Requirements

  • PHP >= 7.4
  • ext-json
  • ext-curl

Installation

composer require easybilling/pro-client

Quick Start

<?php

use EasyBilling\ProClient\EasyBillingClient;

$client = new EasyBillingClient('your-api-key');

// List invoices
$invoices = $client->invoices()->list(['status' => 'unpaid']);

foreach ($invoices as $invoice) {
    echo $invoice->getNumber() . '' . $invoice->getTotal() . ' ' . $invoice->getCurrency() . PHP_EOL;
}

// Create an invoice
$invoice = $client->invoices()->create([
    'client_id' => 7,
    'currency'  => 'EUR',
    'due_date'  => '2025-12-31',
    'items'     => [
        ['description' => 'Web development', 'quantity' => 1, 'price' => 2500.00],
    ],
]);

echo 'Created invoice: ' . $invoice->getNumber();

// Mark as paid
$client->invoices()->markAsPaid($invoice->getId());

API Reference

Invoices

$client->invoices()->list(array $filters = [])     // List invoices
$client->invoices()->get(int $id)                   // Get single invoice
$client->invoices()->create(array $payload)         // Create invoice
$client->invoices()->update(int $id, array $data)   // Update invoice
$client->invoices()->delete(int $id)                // Delete invoice
$client->invoices()->markAsSent(int $id)            // Mark as sent
$client->invoices()->markAsPaid(int $id)            // Mark as paid

Clients

$client->clients()->list(array $filters = [])     // List clients
$client->clients()->get(int $id)                   // Get single client
$client->clients()->create(array $payload)         // Create client
$client->clients()->update(int $id, array $data)   // Update client
$client->clients()->delete(int $id)                // Delete client

Payments

$client->payments()->list(array $filters = [])     // List payments
$client->payments()->get(int $id)                   // Get single payment
$client->payments()->create(array $payload)         // Record a payment

Exception Handling

use EasyBilling\ProClient\Exceptions\ApiException;
use EasyBilling\ProClient\Exceptions\AuthenticationException;
use EasyBilling\ProClient\Exceptions\RateLimitException;
use EasyBilling\ProClient\Exceptions\NetworkException;

try {
    $invoice = $client->invoices()->get(999);
} catch (AuthenticationException $e) {
    // Invalid API key (401)
} catch (RateLimitException $e) {
    // Too many requests (429)
} catch (NetworkException $e) {
    // Connection issues
} catch (ApiException $e) {
    // Other API errors
    echo $e->getMessage() . ' (HTTP ' . $e->getCode() . ')';
}

Running Tests

composer install
composer test

License

MIT — see LICENSE for details.