Download the PHP package mecxer713/gopay-php without Composer
On this page you can find all versions of the php package mecxer713/gopay-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mecxer713/gopay-php
More information about mecxer713/gopay-php
Files in mecxer713/gopay-php
Package gopay-php
Short Description Un package PHP universel (Laravel & Symfony) pour intégrer l'API GoPAY
License MIT
Homepage https://gopay.gooomart.com
Informations about the package gopay-php
✅ Prérequis
| Dépendance | Version minimale |
|---|---|
| PHP | ^8.1 |
| Guzzle HTTP | ^7.2 |
| Laravel (optionnel) | ^9.0 \| ^10.0 \| ^11.0 |
| Symfony (optionnel) | ^5.4 \| ^6.0 \| ^7.0 |
📦 Installation
⚡ Démarrage rapide
🔷 Laravel
1. Configuration
Le package supporte Laravel Package Auto-Discovery. Aucune déclaration manuelle n'est nécessaire.
Publiez le fichier de configuration :
Ajoutez vos clés dans le fichier .env :
2. Via la Facade
3. Via l'injection de dépendances
🟣 Symfony
1. Activer le Bundle
Dans config/bundles.php (si Flex ne l'a pas fait automatiquement) :
2. Créer la configuration
config/packages/go_pay.yaml :
.env :
3. Utilisation via l'injection de dépendances
🔧 PHP Natif
📖 Référence API
💳 Payment API
initPayment() — Initier un paiement
Retourne : PaymentResponse
checkPayment() — Vérifier le statut
Retourne : PaymentResponse
💸 Payout API
getPayoutBalance() — Solde du wallet
Retourne : PayoutBalanceResponse
sendPayoutTransfer() — Envoyer de l'argent
Retourne : PayoutTransferResponse
getPayoutTransferStatus() — Statut d'un transfert
Retourne : PayoutTransferResponse
getPayoutTransfers() — Liste des transferts
deletePayoutTransfer() — Supprimer un transfert
⚠️ Seuls les transferts au statut
EN ATTENTEpeuvent être supprimés.
Retourne : PayoutTransferResponse
🗂 Objets de Réponse (DTOs)
Toutes les méthodes retournent des objets PHP fortement typés, avec autocomplétion IDE complète.
PaymentResponse
| Propriété | Type | Description |
|---|---|---|
$success |
bool |
true si la requête a réussi |
$transactionStatus |
?string |
Statut textuel de la transaction (ex: "success") |
$transId |
?string |
Identifiant unique de la transaction |
$url |
?string |
URL de redirection (si applicable) |
$state |
?string |
État interne de la transaction |
$message |
?string |
Message humain retourné par l'API |
$amount |
?string |
Montant de la transaction |
$currency |
?string |
Devise (ex: "CDF", "USD") |
$source |
?string |
Source de la transaction (ex: "API") |
$date |
?string |
Date ISO de la transaction |
$raw |
array |
Réponse JSON brute complète |
Méthode helper : isSuccessful(): bool
PayoutBalanceResponse
| Propriété | Type | Description |
|---|---|---|
$success |
bool |
true si la requête a réussi |
$balance |
float |
Solde du wallet |
$currency |
?string |
Devise du solde |
$message |
?string |
Message de l'API |
$raw |
array |
Réponse JSON brute complète |
Méthode helper : isSuccessful(): bool
PayoutTransferResponse
| Propriété | Type | Description |
|---|---|---|
$success |
bool |
true si la requête a réussi |
$transactionStatus |
?string |
Statut ("EN ATTENTE", "TRAITÉE", "REJETÉE") |
$transId |
?string |
Identifiant unique du transfert |
$state |
?string |
État interne |
$message |
?string |
Message de l'API |
$amount |
?string |
Montant du transfert |
$currency |
?string |
Devise |
$source |
?string |
Source |
$date |
?string |
Date ISO du transfert |
$raw |
array |
Réponse JSON brute complète |
Méthode helper : isSuccessful(): bool
🚨 Gestion des Erreurs
Le SDK retourne directement le corps de la réponse de l'API pour que vous puissiez inspecter toutes les informations en cas d'erreur logique (success: false). Les exceptions ne sont levées qu'en cas d'erreur de communication réseau ou de configuration.
Hiérarchie des exceptions
Exemple complet
Codes d'erreur (GoPayErrorCode)
| Enum | Valeur | Description |
|---|---|---|
APIKEY_MISSING |
ERR_APIKEY_MISSING |
Header x-api-key absent |
SIGNATURE_MISSING |
ERR_SIGNATURE_MISSING |
Header x-signature absent |
TIMESTAMP_MISSING |
ERR_TIMESTAMP_MISSING |
Header x-timestamp absent |
NONCE_MISSING |
ERR_NONCE_MISSING |
Header x-nonce absent |
APIKEY_INVALID |
ERR_APIKEY_INVALID |
Clé API invalide |
APIKEY_FORBIDDEN |
ERR_APIKEY_FORBIDDEN |
Permissions insuffisantes |
APIKEY_INACTIVE |
ERR_APIKEY_INACTIVE |
Clé API désactivée |
SIGNATURE_INVALID |
ERR_SIGNATURE_INVALID |
Signature HMAC incorrecte |
TIMESTAMP_EXPIRED |
ERR_TIMESTAMP_EXPIRED |
Timestamp expiré (> 120 sec) |
NONCE_REPLAY |
ERR_NONCE_REPLAY |
Nonce déjà utilisé |
VALIDATION |
ERR_VALIDATION |
Paramètres invalides |
NO_PAYMENT_FOUND |
ERR_NO_PAYMENT_FOUND |
Transaction introuvable |
🧪 Tests
📄 Changelog
Consultez le fichier CHANGELOG.md pour l'historique des versions.
| Version | Changements clés |
|---|---|
v1.3.1 |
Mise à jour de .env.example pour inclure la clé Payout et corrections mineures |
v1.3.0 |
Refactoring architectural : séparation en PaymentService, PayoutService et HTTP Client |
v1.2.0 |
Refactoring complet : enums, DTOs enrichis, helpers, ServiceProvider amélioré |
v1.1.x |
Gestion des erreurs API, support clés success/transaction |
v1.0.x |
Version initiale |
🤝 Contribution
Les contributions sont les bienvenues ! Pour contribuer :
- Forkez le dépôt
- Créez une branche :
git checkout -b feature/ma-fonctionnalite - Committez vos changements avec des messages clairs
- Ouvrez une Pull Request
Assurez-vous que les tests passent avant de soumettre : composer test.
📃 Licence
Ce package est distribué sous la licence MIT. Consultez le fichier LICENSE pour plus de détails.