PHP code example of useyona / einvoice-php
1. Go to this page and download the library: Download useyona/einvoice-php library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
useyona / einvoice-php example snippets
seyona\EInvoice\EInvoice;
$client = new EInvoice(['api_key' => getenv('YONA_API_KEY')]);
// 1. A buyer
$buyer = $client->buyers->create([
'name' => 'Acme Nigeria Ltd',
'taxId' => '12345678-0001',
'email' => '[email protected] ',
'partyType' => 'company',
'address' => ['line1' => '1 Marina', 'city' => 'Lagos', 'country' => 'NG'],
]);
// 2. A saved item
$item = $client->items->create([
'name' => 'Laptop',
'itemType' => 'goods',
'hsnCode' => '8471.30',
'productCategory' => 'Machinery',
'unitCode' => 'EA',
'unitPriceMinor' => '45000000',
'currency' => 'NGN',
'taxCategory' => 'STANDARD_VAT',
]);
// 3. A draft invoice
$invoice = $client->invoices->create([
'invoiceKind' => 'B2B',
'invoiceDate' => '2026-10-05',
'currency' => 'NGN',
'buyerId' => $buyer['id'],
'lineItems' => [['itemId' => $item['id'], 'quantity' => 2]],
]);
// 4. Finalise it and report it to the tax authority
$client->invoices->finalise($invoice['id']);
$client->submissions->submit($invoice['id']);
$status = $client->submissions->getStatus($invoice['id']);
new EInvoice(['api_key' => $key, 'assert_mode' => 'live']);
$page = $client->buyers->list(['limit' => 50]);
$page->data; // the buyers
$page->pagination; // total, page, pageSize, totalPages, hasNext, hasPrevious
foreach (EInvoice::paginate(fn (array $q) => $client->buyers->list($q), ['limit' => 100]) as $buyer) {
echo $buyer['name'], "\n";
}
use Useyona\EInvoice\Exception\ApiException;
use Useyona\EInvoice\Exception\ValidationException;
try {
$client->invoices->create($params);
} catch (ValidationException $e) {
foreach ($e->errors as $error) {
echo $error->field, ': ', $error->message, "\n";
}
} catch (ApiException $e) {
echo $e->status, ' ', $e->errorCode, ' ', $e->requestId; // quote requestId to support
}
use Useyona\EInvoice\RequestOptions;
$client->invoices->create($params, new RequestOptions(idempotencyKey: "order-{$orderId}"));
use Useyona\EInvoice\Exception\WebhookException;
use Useyona\EInvoice\Webhooks;
// Plain PHP
try {
$event = Webhooks::verifyWebhook(file_get_contents('php://input'), $_SERVER, getenv('YONA_WEBHOOK_SECRET'));
} catch (WebhookException $e) {
http_response_code(400);
exit;
}
if ($event['type'] === 'invoice.accepted') {
// …
}
// PSR-7 (Laravel, Symfony, Slim…)
$event = Webhooks::verifyWebhook($request->getBody(), $request, $secret);
bash
composer