定制 consolidis/tara-payment 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

consolidis/tara-payment

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.

consolidis/tara-payment 适用场景与选型建议

consolidis/tara-payment 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 1, 最近一次更新时间为 2026 年 03 月 10 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 consolidis/tara-payment 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 consolidis/tara-payment 我们能提供哪些服务?
定制开发 / 二次开发

基于 consolidis/tara-payment 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

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

GitHub 信息

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

其他信息

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