Logo Lanfrica

caurisflux/caurisflux-php

Domaine:

digital infrastructure

Type de record:

software
Créateur:
cau
Hôte:
Official PHP SDK for the CaurisFlux API — Mobile Money & Card payments in Francophone Africa. # CaurisFlux PHP SDK SDK PHP officiel pour l'API CaurisFlux — agrégateur de paiement panafricain : Mobile Money (Wave, Orange Money, MTN, Free Money, Moov…) et Carte Bancaire en zones UEMOA, CEMAC, Ghana, Nigeria. - PHP 8.2+ (readonly properties, enums, match, nullsafe, named args) - Zéro dépendance lourde — `psr/log` uniquement, transport `curl` natif - Stripe-like façade : `$cf->payments->create([...])` - Retry exponentiel avec jitter sur 5xx / 429 / erreur réseau - Idempotency-Key automatique sur les écritures - Vérification de signature des webhooks (HMAC SHA256, anti-replay) ## Installation ```bash composer require caurisflux/caurisflux-php ``` ## Démarrage rapide ```php use CaurisFlux\CaurisFlux; use CaurisFlux\Enum\Environment; $cf = new CaurisFlux('pk_test_xxx:sk_test_xxx', Environment::SANDBOX); $payment = $cf->payments->create([ 'amount' => 1000, 'currency' => 'XOF', 'provider' => 'wave_sn', 'customerPhone' => '+221770000000', 'returnUrl' => 'merchant.example', 'cancelUrl' => 'merchant.example', ]); header('Location: ' . $payment->checkoutUrl); ``` ## Configuration ```php use CaurisFlux\Configuration; use CaurisFlux\CaurisFlux; use CaurisFlux\Enum\Environment; $config = new Configuration( apiKey: 'pk_live_xxx:sk_live_xxx', environment: Environment::LIVE, timeoutSeconds: 30, maxRetries: 3, backoffBaseMs: 500, logger: $psrLogger, // optionnel — accepte n'importe quel PSR-3 ); $cf = new CaurisFlux($config); ``` Le format de la clé API est `pk_xxx:sk_xxx`. Les préfixes `pk_test_` / `sk_test_` sont attendus en sandbox, `pk_live_` / `sk_live_` en production. Un mismatch déclenche un avertissement non bloquant via `$config->envMismatchWarning()`. ## Resources ### Payments ```php // Créer un paiement (checkout hébergé par défaut) $payment = $cf->payments->create([ 'amount' => 5000, 'currency' => 'XAF', 'provider' => 'orange_cm', 'customerPhone' => '+237699000000', …

Licenses