Documentation Index
Fetch the complete documentation index at: https://docs.yabetoopay.com/llms.txt
Use this file to discover all available pages before exploring further.
Ce SDK vous permet d’intégrer facilement le système de paiement sécurisé de Yabetoo dans vos applications Java. Que vous développiez une application web, mobile ou de bureau, ce SDK fournit une interface simple et intuitive pour interagir avec l’API de Yabetoo.
Installation
Prérequis
- Java 8 ou supérieur
- Maven ou Gradle
- Un compte Yabetoo actif
- Vos clés API Yabetoo
Installation avec Maven
Ajoutez la dépendance suivante à votre fichier pom.xml :
<dependency>
<groupId>com.yabetoo</groupId>
<artifactId>yabetoo-java</artifactId>
<version>1.0.0</version>
</dependency>
Installation avec Gradle
Ajoutez la dépendance suivante à votre fichier build.gradle :
implementation 'com.yabetoo:yabetoo-java:1.0.0'
Configuration
Initialisation du SDK
import com.yabetoo.Yabetoo;
import com.yabetoo.YabetooConfig;
YabetooConfig config = new YabetooConfig()
.setApiKey("sk_test_XXXXXXXXXXXXXXXXXXXXXXXX");
Yabetoo yabetoo = new Yabetoo(config);
Gestion des paiements
Créer une intention de paiement
import com.yabetoo.model.PaymentIntent;
import com.yabetoo.request.PaymentIntentRequest;
PaymentIntentRequest request = PaymentIntentRequest.builder()
.amount(5000)
.currency("XAF")
.description("Achat de services Yabetoo")
.putMetadata("order_id", "6735")
.putMetadata("customer_id", "12345")
.build();
PaymentIntent paymentIntent = yabetoo.paymentIntents().create(request);
System.out.println("ID du paiement : " + paymentIntent.getId());
Confirmer une intention de paiement
import com.yabetoo.model.PaymentMethod;
PaymentMethod.MomoDetails momoDetails = PaymentMethod.MomoDetails.builder()
.msisdn("242066594470")
.country("CG")
.operatorName("mtn")
.build();
PaymentMethod paymentMethod = PaymentMethod.builder()
.type("momo")
.momoDetails(momoDetails)
.build();
PaymentIntent confirmedPayment = yabetoo.paymentIntents().confirm(
paymentIntent.getId(),
PaymentIntentConfirmRequest.builder()
.clientSecret(paymentIntent.getClientSecret())
.firstName("Jean")
.lastName("Dupont")
.email("jean.dupont@example.com")
.paymentMethod(paymentMethod)
.build()
);
Gestion des erreurs
try {
PaymentIntent payment = yabetoo.paymentIntents().confirm(/* ... */);
} catch (YabetooException e) {
System.err.println("Code d'erreur : " + e.getCode());
System.err.println("Message : " + e.getMessage());
System.err.println("Détails : " + e.getDetails());
}
Sessions de paiement
Créer une session
import com.yabetoo.model.Session;
import com.yabetoo.request.SessionCreateRequest;
SessionCreateRequest request = SessionCreateRequest.builder()
.successUrl("https://votre-site.com/success")
.cancelUrl("https://votre-site.com/cancel")
.addLineItem(LineItem.builder()
.productId("prod_12345")
.quantity(1)
.price(200000)
.productName("Écran HD")
.build())
.currency("XAF")
.build();
Session session = yabetoo.sessions().create(request);
String checkoutUrl = session.getUrl();
Récupérer une session
Session session = yabetoo.sessions().retrieve("cs_123456789");
Webhooks
Vérifier une signature webhook
String payload = "..."; // Corps de la requête webhook
String signature = request.getHeader("X-Yabetoo-Webhook-Signature");
String secret = "whsec_..."; // Votre clé secrète webhook
try {
Event event = Webhook.constructEvent(payload, signature, secret);
// Gérer l'événement selon son type
switch (event.getType()) {
case "payment_intent.succeeded":
PaymentIntent payment = (PaymentIntent) event.getData();
handleSuccessfulPayment(payment);
break;
// Gérer d'autres types d'événements...
}
} catch (YabetooException e) {
// Gérer l'erreur de signature invalide
System.err.println("Signature webhook invalide");
}
Configuration avancée
Timeouts personnalisés
YabetooConfig config = new YabetooConfig()
.setApiKey("sk_test_XXXXXXXXXXXXXXXXXXXXXXXX")
.setConnectTimeout(30000) // 30 secondes
.setReadTimeout(30000); // 30 secondes
Yabetoo yabetoo = new Yabetoo(config);
Proxy HTTP
Proxy proxy = new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("proxy.example.com", 8080));
YabetooConfig config = new YabetooConfig()
.setApiKey("sk_test_XXXXXXXXXXXXXXXXXXXXXXXX")
.setProxy(proxy);
Yabetoo yabetoo = new Yabetoo(config);
Bonnes pratiques
-
Gestion des secrets
- Ne stockez jamais les clés API directement dans le code
- Utilisez des variables d’environnement ou un gestionnaire de secrets
-
Gestion des erreurs
- Implémentez une gestion complète des erreurs
- Journalisez les erreurs pour le débogage
- Fournissez des messages d’erreur appropriés aux utilisateurs
-
Validation
- Validez toutes les entrées utilisateur avant de les envoyer à l’API
- Vérifiez les montants et les devises
- Validez les numéros de téléphone et les emails
-
Sécurité
- Utilisez HTTPS pour toutes les communications
- Vérifiez toujours les signatures webhook
- Effectuez une double vérification des paiements réussis
Conclusion
Le SDK Java de Yabetoo simplifie l’intégration des paiements dans vos applications Java. Sa conception orientée objet et son API fluide rendent le code plus lisible et maintenable. Pour plus d’informations et des exemples détaillés, consultez notre documentation complète.
Pour toute question ou assistance technique, n’hésitez pas à contacter notre
équipe support à support@yabetoopay.com