Skip to main content

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 :
Ou ajoutez à votre composer.json :

Démarrage rapide

1. Initialiser le SDK

Stockez votre clé API dans des variables d’environnement, jamais dans le code

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 :
Ajoutez au crontab :

Référence API

Classe OCPay

Point d’entrée principal du SDK.

Constructeur

Paramètres :
  • $accessToken : Votre token d’accès API
  • $options : Configuration optionnelle du client Guzzle
    • timeout : 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

Constantes de mode de frais :
  • CreateLinkRequest::FEE_MODE_NO_FEE - Le marchand paie (défaut)
  • CreateLinkRequest::FEE_MODE_SPLIT_FEE - Partage 50/50
  • CreateLinkRequest::FEE_MODE_CUSTOMER_FEE - Le client paie

CreateLinkResponse

CheckPaymentResponse

Gestion des exceptions

Toutes les exceptions héritent de OCPayException : Toutes les exceptions fournissent :

Notes importantes

Validation du marchand requise

Complétez la validation du marchand sur app.oneclickdz.com avant d’utiliser l’API

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

  1. PENDING - Paiement en cours → Revérifier plus tard
  2. CONFIRMED - Paiement réussi → Honorer la commande
  3. 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

Stockez paymentRef immédiatement après la création du lien. Vous en aurez besoin pour 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.
Capturez et gérez tous les types d’exceptions de manière appropriée. Journalisez les erreurs pour le débogage.
Stockez les clés API dans des variables d’environnement, ne les committez jamais dans le contrôle de version.
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é