Exemples d'intégration
Code prêt à l'emploi pour les cas d'usage les plus courants. Copiez, adaptez, déployez.
Exemples populaires
Checkout E-commerce
Intégration complète d\
Paiements Marketplace
Paiements fractionnés avec distribution automatique entre vendeurs et plateforme.
Abonnements SaaS
Gestion complète des abonnements récurrents avec essais gratuits et upgrades.
Checkout E-commerce
Créez un endpoint API pour générer des transactions de paiement depuis votre panier :
// pages/api/create-checkout.ts
import { Simiz } from '@simiz/node-sdk';
const simiz = new Simiz(process.env.SIMIZ_SECRET_KEY);
export default async function handler(req, res) {
const { items, customer } = req.body;
// Calculer le total
const amount = items.reduce((sum, item) =>
sum + (item.price * item.quantity), 0
);
// Créer la transaction
const transaction = await simiz.transactions.create({
amount,
currency: 'XAF',
payment_method: 'ORANGE_MONEY',
payer: {
phone: customer.phone,
name: customer.name,
email: customer.email,
},
description: `Commande de ${items.length} article(s)`,
metadata: {
order_items: items,
customer_id: customer.id,
},
callback_url: `${process.env.BASE_URL}/api/webhooks/simiz`,
return_url: `${process.env.BASE_URL}/checkout/success`,
});
res.json({
transaction_id: transaction.id,
payment_url: transaction.payment_url,
});
}Abonnements SaaS
Mettez en place des abonnements récurrents avec période d'essai :
// Créer un abonnement récurrent
const subscription = await simiz.subscriptions.create({
customer_id: 'cust_xxx',
plan: {
name: 'Pro Plan',
amount: 25000, // 25,000 XAF/mois
currency: 'XAF',
interval: 'month', // month, year, week
interval_count: 1,
},
payment_method: 'ORANGE_MONEY',
payer: {
phone: '237690000000',
},
trial_days: 14, // 14 jours d'essai gratuit
metadata: {
user_id: 'user_123',
plan_id: 'pro',
},
});
// Écouter les événements de renouvellement
// webhook: subscription.renewed
// webhook: subscription.payment_failed
// webhook: subscription.cancelledPayouts en masse
Envoyez des paiements à plusieurs bénéficiaires en une seule requête :
// Envoi de payouts en masse
const payouts = await simiz.payouts.createBatch({
reference: 'SALARY-2024-01',
description: 'Salaires Janvier 2024',
recipients: [
{
phone: '237690000001',
amount: 150000,
name: 'Jean Dupont',
reference: 'EMP-001',
},
{
phone: '237670000001',
amount: 180000,
name: 'Marie Claire',
reference: 'EMP-002',
},
{
phone: '237690000002',
amount: 200000,
name: 'Paul Martin',
reference: 'EMP-003',
},
],
callback_url: 'https://votre-site.com/webhooks/payouts',
});
console.log(`Batch ID: ${payouts.batch_id}`);
console.log(`Total: ${payouts.total_amount} XAF`);
console.log(`Recipients: ${payouts.recipients_count}`);Autres exemples
Payouts en masse
Envoi de paiements en masse vers plusieurs bénéficiaires (salaires, remboursements).
Application Mobile
Intégration du SDK dans une application React Native ou Flutter.
Paiement de factures
Liens de paiement pour factures avec suivi et relances automatiques.
Exemples complets sur GitHub
Retrouvez des projets complets et prêts à déployer dans notre repository d'exemples.