Looking to hire Laravel developers? Try LaraJobs

nelsius-pay-laravel maintained by nelsius

Description
The official Laravel package and Service Provider for Nelsius Pay API V2
Author
Last update
2026/11/06 15:18 (dev-main)
License
Downloads
0

Comments
comments powered by Disqus

Nelsius Pay for Laravel (V2)

Packagist Version License: MIT

Package Laravel officiel pour intégrer en quelques lignes la passerelle de paiement Nelsius Pay V2 (Mobile Money Orange & MTN, Carte bancaire).


📦 Installation

composer require nelsius/nelsius-pay-laravel

⚙️ Configuration

Ajoutez vos identifiants dans votre fichier .env :

NELSIUS_PUBLIC_KEY=pk_live_xxxxxxxxxxxxxxxx
NELSIUS_SECRET_KEY=sk_live_xxxxxxxxxxxxxxxx
NELSIUS_WEBHOOK_SECRET=whsec_xxxxxxxxxxxx

Optionnel : Publiez le fichier de configuration :

php artisan vendor:publish --tag=nelsius-config

🚀 Utilisation

Créer une session de paiement hébergée (Hosted Checkout)

use Nelsius\Laravel\Facades\Nelsius;

$session = Nelsius::checkout()->createSession([
    'amount'            => 5000,
    'currency'          => 'XAF',
    'description'       => 'Paiement commande #1042',
    'customer_name'     => 'Alice Dupont',
    'customer_email'    => 'alice@example.com',
    'customer_phone'    => '+237699001122',
    'default_country'   => 'CM', // Cameroun pré-sélectionné
    'allowed_countries' => ['CM', 'CI', 'SN'],
    'return_url'        => route('order.success'),
    'cancel_url'        => route('order.cancel'),
    'metadata'          => [
        'order_id' => 1042,
    ],
]);

return redirect($session['payment_url']);

🔒 Vérifier les Webhooks

use Nelsius\Utils\WebhookSignature;

public function handleWebhook(Request $request)
{
    $signature = $request->header('X-Nelsius-Signature');
    $secret    = config('nelsius.webhook_secret');

    if (!WebhookSignature::verify($request->getContent(), $signature, $secret)) {
        abort(401, 'Signature invalide');
    }

    $event = $request->json()->all();

    if ($event['event'] === 'payment.success') {
        // Valider la commande
    }

    return response()->json(['received' => true]);
}

📄 Licence

MIT © Nelsius