Vue d’ensemble
Le SDK Navio PHP fournit une interface moderne et typée pour intégrer les paiements Navio dans vos applications PHP. Conçu avec les fonctionnalités PHP 8.1+ et les meilleures pratiques.Type Safe
Typages complets PHP 8.1+ et types de retour
Compatible Composer
Autoloading PSR-4 et installation facile
API simple
Interface claire et intuitive
Gestion des erreurs
Exceptions personnalisées pour chaque type d’erreur
Prérequis
- PHP 8.1 ou supérieur
- Composer
- Extension
ext-json - Extension
ext-curl
Installation
Installez via Composer :composer.json :
Démarrage rapide
1. Initialiser le SDK
2. Créer un lien de paiement
3. Vérifier le statut du paiement
Exemple e-commerce complet
Voici un flux complet pour un paiement e-commerce :Tâche de fond pour la vérification du statut
Configurez une tâche cron ou un worker de fond :Référence API
Classe OCPay
Point d’entrée principal du SDK.Constructeur
$accessToken: Votre token d’accès API$options: Configuration optionnelle du client Guzzletimeout: Délai de la requête en secondes (défaut : 30)
Méthodes
createLink(CreateLinkRequest $request): CreateLinkResponse Crée un lien de paiement. checkPayment(string $paymentRef): CheckPaymentResponse Vérifie le statut d’un paiement.Objets de Transfert de Données (DTOs)
ProductInfo
CreateLinkRequest
CreateLinkRequest::FEE_MODE_NO_FEE- Le marchand paie (défaut)CreateLinkRequest::FEE_MODE_SPLIT_FEE- Partage 50/50CreateLinkRequest::FEE_MODE_CUSTOMER_FEE- Le client paie
CreateLinkResponse
CheckPaymentResponse
Gestion des exceptions
Toutes les exceptions héritent deOCPayException :
Toutes les exceptions fournissent :
Notes importantes
Validation du marchand requise
Limites de montant
- Minimum : 500 DZD
- Maximum : 500 000 DZD
- Doit être un nombre entier
Structure des frais
Frais réduits : 0% sur le solde, seulement 1% de frais de retrait
Expiration du lien de paiement
Les liens expirent 20 minutes après leur création si le paiement n’est pas initié.Flux des statuts de paiement
- PENDING - Paiement en cours → Revérifier plus tard
- CONFIRMED - Paiement réussi → Honorer la commande
- FAILED - Paiement refusé/expiré → Marquer la commande comme échouée
Intégration Laravel
Pour les projets Laravel, consultez l’exemple d’intégration complet dans le dépôt GitHub. Inclut :- Configuration du service provider
- Classe de service de paiement
- Exemples de contrôleurs
- Migrations de base de données
- Tâche de fond pour la vérification
- Gestion des erreurs
Tests
Utilisation du Sandbox
L’API utilise automatiquement le mode sandbox pour les comptes de test :Tests unitaires
Meilleures pratiques
Toujours sauvegarder la référence de paiement
Toujours sauvegarder la référence de paiement
Stockez
paymentRef immédiatement après la création du lien. Vous en aurez besoin pour vérifier le statut du paiement.Vérifier le statut du paiement
Vérifier le statut du paiement
Configurez une tâche de fond pour vérifier le statut du paiement toutes les 20 minutes pour les commandes en attente.
Gérer toutes les exceptions
Gérer toutes les exceptions
Capturez et gérez tous les types d’exceptions de manière appropriée. Journalisez les erreurs pour le débogage.
Sécuriser votre clé API
Sécuriser votre clé API
Stockez les clés API dans des variables d’environnement, ne les committez jamais dans le contrôle de version.
Utiliser HTTPS uniquement
Utiliser HTTPS uniquement
Utilisez toujours HTTPS pour les URLs de redirection et les endpoints de votre application.
Support & Ressources
Dépôt GitHub
Code source, exemples et problèmes
Documentation API
Référence API détaillée
Exemple Laravel
Intégration Laravel complète
Contacter le support
Obtenez l’aide de notre équipe
Prochaines étapes
Meilleures pratiques Navio
Découvrez les conseils de production et les meilleures pratiques de sécurité

