Logo Lanfrica

andydefer/php-pawapay

Domaine:

digital infrastructure

Type de record:

software
Créateur:
and
Hôte:
PHP SDK for integrating Pawapay Mobile Money payments (pay-ins, pay-outs, and webhooks) across African markets # PHP Pawapay SDK **SDK PHP pour l'intégration des paiements Mobile Money Pawapay à travers les marchés africains.** --- ## 📖 Introduction ### Qu'est-ce que Pawapay ? Pawapay est une plateforme de paiement qui permet d'accepter des paiements via Mobile Money (M-Pesa, MTN MoMo, Orange Money, etc.) dans plus de 15 pays africains. ### Ce que fait ce SDK Ce SDK transforme les appels HTTP bruts vers l'API Pawapay en **objets PHP typés, validés et documentés**. ### Pourquoi l'utiliser ? | Sans SDK | Avec SDK | |----------|----------| | `json_decode()` manuel | Objets PHP typés (`DepositDataStruct`) | | Validation manuelle | Value Objects (`PhoneNumberVO`, `UuidVO`) | | String magiques | Enums (`Provider::MTN_MOMO_ZMB`) | | Code répétitif | Builders fluides | --- ## 🚀 Installation ```bash composer require andydefer/php-pawapay ``` --- ## ⚙️ Configuration ### Créer le client ```php initiateDeposit($deposit); ``` ### Étape 3 : Traiter la réponse ```php if ($response->isSuccess()) { // Succès (status 200) if ($response->isAccepted()) { echo "✅ Dépôt accepté !\n"; echo "ID: " . $response->getDepositId() . "\n"; // f4401bd2-1568-... echo "Statut: " . $response->getStatus()->value; // ACCEPTED echo "Créé: " . $response->getCreated(); // 2020-10-19T11:17:01Z } elseif ($response->isDuplicateIgnored()) { echo "⚠️ Dépôt dupliqué ignoré\n"; } } else { // Échec echo "❌ Échec du dépôt\n"; echo "Statut: " . $response->getStatus()->value; // REJECTED if ($response->hasFailureReason()) { $failure = $response->getFailureReason(); echo "Code: " . $failure->failureCode; // INVALID_PHONE_NUMBER echo "Message: " . $failure->failureMessage; // The phone number '2607634'... } } ``` ### Avec le Builder (recommandé) Le builder rend le code plus lisible et réduit les erreurs : ```php $deposit = InitiateDepositBuilder::create() ->withAutoGeneratedDepositId() // UUID automatique ->withPhoneNumber('260763456789') ->withProvider(Provi …

Licenses