承接 consolidis/tara-payment 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

consolidis/tara-payment

最新稳定版本:v1.0.0

Composer 安装命令:

composer require consolidis/tara-payment

包简介

Ce SDK permet de simplifier l'adoption et l'utiisation du processeurs de paiement TaraMoney

README 文档

README

Un SDK PHP simple, élégant et pensé pour la Developer Experience (DX) afin d'intégrer facilement l'API de paiement Taramoney dans vos projets PHP, Laravel ou Symfony.

Ce package a été conçu pour masquer les complexités de l'API originale et vous faire gagner du temps.

✨ Pourquoi utiliser ce SDK ?

Si vous avez déjà utilisé l'API Taramoney, vous connaissez ces "irritants". Ce SDK les gère automatiquement pour vous :

  • Unicité des Product IDs : Plus besoin de générer des productId uniques à chaque requête, le SDK le gère en arrière-plan.
  • Formatage des numéros de téléphone : Que l'utilisateur tape +237 655 251 245, 655 25 12 45 ou 655251245, le SDK nettoie tout et ajoute l'indicatif du pays automatiquement.
  • Gestion simplifiée des Webhooks : Une méthode prête à l'emploi pour décoder les notifications de paiement.

📦 Installation

Vous pouvez installer ce package via Composer.

composer require consolidis/tara-payment

Prérequis : PHP 8.0+ et l'extension JSON activée.

🛠️ Configuration initiale

Pour commencer, instanciez le client avec vos clés API (disponibles sur votre tableau de bord Taramoney).

use TaraPayment\TaraClient;

// Initialisation simple
$tara = new TaraClient(
    'VOTRE_API_KEY',
    'VOTRE_BUSINESS_ID',
    'https://votre-site.com/api/webhook/tara', // URL de webhook par défaut
    '237' // Indicatif pays par défaut (Ex: Cameroun)
);

💳 Lancer un paiement (Mobile Money)

Rien de plus simple. Passez le nom du produit, le prix et le numéro du client. Le SDK s'occupe du reste.

try {
    $resultat = $tara->initPayment([
        'productName' => 'Abonnement Premium 1 Mois',
        'price'       => 2000,
        'phoneNumber' => '655251245', // Le SDK ajoutera automatiquement le 237 !
        // 'network'  => 'wave' // Optionnel : décommentez pour le Sénégal/Côte d'Ivoire
    ]);

    // Retourne l'objet contenant le code USSD à composer ou l'URL de redirection
    echo "Paiement initié ! Veuillez taper ce code : " . $resultat['message'];

} catch (\Exception $e) {
    echo "Erreur lors du paiement : " . $e->getMessage();
}

🔄 Gérer les Webhooks (Notifications de paiement)

Lorsque l'utilisateur valide le paiement sur son téléphone, Taramoney envoie une requête POST (Webhook) à votre serveur pour vous informer du succès ou de l'échec.

Voici comment lire cette réponse de manière sécurisée :

// Récupération du JSON brut envoyé par Taramoney
$payload = file_get_contents('php://input');

try {
    $donneesWebhook = $tara->parseWebhook($payload);

    if ($donneesWebhook['status'] === 'SUCCESS') {
        $numero = $donneesWebhook['phoneNumber'];
        // ✅ Paiement réussi : mettez à jour votre base de données, livrez le produit...
        error_log("Paiement validé pour le numéro : $numero");
    } else {
        // ❌ Le paiement a échoué
        error_log("Échec du paiement.");
    }

} catch (\Exception $e) {
    error_log("Erreur Webhook : " . $e->getMessage());
}

⚠️ Conseil CRUCIAL pour les Webhooks (Éviter les Timeouts)

L'API Taramoney exige que votre serveur réponde rapidement à la requête de Webhook. Si votre code (envoi d'email, mise à jour de la BDD) prend trop de temps, Taramoney considèrera que le Webhook a échoué et ne réessaiera pas.

Répondez toujours 200 OK avant d'exécuter votre logique lourde.

Exemple en PHP pur

if (function_exists('fastcgi_finish_request')) {
    echo json_encode(['status' => 'OK']);
    fastcgi_finish_request(); // Ferme la connexion avec Taramoney immédiatement
}
// Mettez votre code de base de données ici...

Exemple sur Laravel

Utilisez le système de Queues (Jobs) de Laravel.

public function handleWebhook(Request $request)
{
    $donnees = $tara->parseWebhook($request->getContent());

    // On envoie le traitement en arrière-plan
    ProcessPaymentJob::dispatch($donnees);

    // On répond tout de suite "Tout va bien" à Taramoney
    return response()->json(['status' => 'OK'], 200);
}

🤝 Contribution

Les Pull Requests sont les bienvenues ! Si vous trouvez un bug ou souhaitez ajouter une fonctionnalité (comme l'intégration de nouvelles méthodes de l'API), n'hésitez pas à ouvrir une issue ou une PR.

📄 Licence

Ce projet est sous licence MIT. N'hésitez pas à l'utiliser et à le modifier pour vos projets personnels comme commerciaux.

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 4
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-03-10

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固