Documentation SDK PHP

SDK PHP

composer require mypaie/sdk

Télécharger le SDK

Installation

composer require mypaie/sdk

Initialisation

<?php
require 'vendor/autoload.php';

use MyPaie\MyPaie;

$mypaie = new MyPaie('pk_test_votre_cle');

Checkout hébergé

// Créer une session de checkout
$session = $mypaie->checkout->create([
    'amount' => 5000,
    'currency' => 'XOF',
    'description' => 'Commande #123',
    'success_url' => 'https://votresite.com/success',
    'cancel_url' => 'https://votresite.com/cancel',
    'customer_email' => 'client@email.com',
    'metadata' => ['order_id' => '123']
]);

// Rediriger le client
header('Location: ' . $session['checkout_url']);
exit;

Orange Money

$payment = $mypaie->payments->orangeMoney([
    'amount' => 5000,
    'currency' => 'XOF',
    'phone' => '+22370123456',
    'description' => 'Achat produit'
]);

// Rediriger vers Orange Money
header('Location: ' . $payment['payment_url']);

Carte bancaire

$payment = $mypaie->payments->card([
    'amount' => 10000,
    'currency' => 'XOF',
    'customer_email' => 'client@email.com',
    'customer_name' => 'Amadou Diallo',
    'description' => 'Abonnement Premium'
]);

header('Location: ' . $payment['payment_url']);

Vérifier le statut

$status = $mypaie->payments->retrieve('PAY_20260110_ABC123');

echo $status['status']; // completed, pending, failed...
echo $status['amount'];
echo $status['payment_method'];

Webhooks

use MyPaie\Webhook;

$payload = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_MYPAIE_SIGNATURE'];
$secret = 'votre_webhook_secret';

try {
    $event = Webhook::constructEvent($payload, $signature, $secret);
    
    switch ($event['event']) {
        case 'payment.success':
            $reference = $event['data']['reference'];
            // Marquer la commande comme payée
            break;
            
        case 'payment.failed':
            // Gérer l'échec
            break;
    }
    
    http_response_code(200);
    echo 'OK';
} catch (\MyPaie\MyPaieException $e) {
    http_response_code(401);
    echo 'Signature invalide';
}

Gestion des erreurs

try {
    $payment = $mypaie->payments->orangeMoney([...]);
} catch (\MyPaie\MyPaieException $e) {
    echo $e->getMessage();      // Message d'erreur
    echo $e->getErrorCode();    // VALIDATION_ERROR, etc.
    echo $e->getHttpCode();     // 400, 401, etc.
}
Retour à la documentation