Skip to content

Sunucode/laravel-wave

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel Wave

Package Laravel pour l'intégration de Wave Africa (API Checkout, Webhooks, Signature des requêtes).

Installation

composer require sunucode/laravel-wave

Publier la configuration :

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

Configuration

Ajouter dans .env :

WAVE_API_KEY=wave_sn_prod_...
WAVE_API_SECRET=wave_sn_AKS_...
WAVE_WEBHOOK_SECRET=whsec_...
WAVE_CALLBACK_URL=https://abc123.ngrok.io  # optionnel, pour dev local
WAVE_TEST_AMOUNT=5                         # optionnel, montant test en dev

Utilisation

Créer un checkout

use Sunucode\Wave\Facades\Wave;

$session = Wave::checkout()
    ->amount(5000)
    ->currency('XOF')
    ->successUrl(Wave::callbackUrl('/paiement/succes?ref=ORDER-123'))
    ->errorUrl(Wave::callbackUrl('/paiement/erreur'))
    ->reference('ORDER-123')
    ->create();

return redirect($session->launchUrl);

Gérer un webhook

use Sunucode\Wave\Facades\Wave;

Route::post('/webhooks/wave', function (Request $request) {
    $payload = Wave::webhook()->verify($request);

    if ($payload->isCheckoutCompleted()) {
        $reference = $payload->reference();
        $transactionId = $payload->transactionId();
        // Activer l'abonnement, confirmer la commande, etc.
    }

    return response()->json(['status' => 'ok']);
})->withoutMiddleware(['web']);

Middleware de vérification

use Sunucode\Wave\Http\Middleware\VerifyWaveSignature;

Route::post('/webhooks/wave', [WebhookController::class, 'wave'])
    ->middleware(VerifyWaveSignature::class);

Consulter le solde

$balance = Wave::balance();

Test local (ngrok)

Wave n'a pas de sandbox. Pour tester en local :

  1. ngrok http 8000
  2. .env : WAVE_CALLBACK_URL=https://xxx.ngrok-free.app
  3. .env : WAVE_TEST_AMOUNT=5 (envoie 5 XOF au lieu du vrai montant)

Licence

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages