utmstat / easybilling_pro_client
Official PHP client library for EasyBilling Pro API
v1.0.1
2026-04-26 16:30 UTC
Requires
- php: >=7.4
- ext-curl: *
- ext-json: *
- guzzlehttp/guzzle: ^7.0
This package is auto-updated.
Last update: 2026-04-26 16:31:19 UTC
README
Official PHP client library for the EasyBilling Pro API.
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.