PayCentral › SDK PHP
SDK PHP
PHP 8.1+
Laravel 10+
Composer
Installation
Composer
composer require paycentral/sdk-php
PHP
use PayCentral\Client; $paycentral = new Client($apiKey, $options); // Options disponibles : $options = [ 'sandbox' => true, // Mode sandbox (défaut: false) 'timeout' => 30, // Timeout HTTP en secondes 'base_url' => 'https://api-paycentral.gabondunumerique.com', ];
Laravel
Bash
php artisan vendor:publish --provider="PayCentral\LaravelServiceProvider"
.env
PAYCENTRAL_API_KEY=sk_sandbox_xxxxxxxxxxxxxxxxxxxx PAYCENTRAL_SANDBOX=true PAYCENTRAL_WEBHOOK_SECRET=whsec_xxxxxxxxxxxxxxxxxxxx
PHP
use PayCentral\Facades\PayCentral; // Laravel // ou $paycentral = new Client('sk_sandbox_xxxx'); // PHP natif try { $payment = PayCentral::initiate([ 'amount' => 5000, 'currency' => 'XAF', 'phone' => '237691234567', 'description' => 'Commande #789', 'merchant_reference' => 'CMD-789', 'callback_url' => route('webhooks.paycentral'), ]); // $payment->transaction_id, ->status, ->provider... return redirect($payment->checkoutUrl()); } catch (\PayCentral\Exceptions\PayCentralException $e) { report($e); return back()->withError('Paiement indisponible'); }
PHP
$transaction = PayCentral::status('01HXYZ9K2J...'); if ($transaction->isSuccess()) { // Activer la commande } if ($transaction->isPending()) { // En attente — réessayer plus tard } // Propriétés disponibles : // $transaction->status, ->amount, ->currency // ->provider, ->fees, ->net_amount, ->merchant_reference
PHP · Laravel Controller
use PayCentral\Facades\PayCentral; use Illuminate\Http\Request; public function handle(Request $request) { // Vérifier la signature HMAC if (!PayCentral::verifyWebhook( $request->getContent(), $request->header('X-PayCentral-Signature') )) { abort(401); } $event = $request->json(); match($event['event']) { 'payment.success' => $this->onSuccess($event), 'payment.failed' => $this->onFailed($event), default => null, }; return response()->json(['received' => true]); }
PayCentral::initiate($data) | |
PayCentral::status($id) | |
PayCentral::transactions($filters) | |
PayCentral::verifyWebhook($body, $sig) |