Exemples de code

Exemples d'intégration

Code prêt à l'emploi pour les cas d'usage les plus courants. Copiez, adaptez, déployez.

Exemples populaires

Débutant

Checkout E-commerce

Intégration complète d\

15 min
Next.jsReact
Avancé

Paiements Marketplace

Paiements fractionnés avec distribution automatique entre vendeurs et plateforme.

30 min
Split PaymentsMulti-vendeur
Intermédiaire

Abonnements SaaS

Gestion complète des abonnements récurrents avec essais gratuits et upgrades.

25 min
SubscriptionsRecurring

Checkout E-commerce

Créez un endpoint API pour générer des transactions de paiement depuis votre panier :

pages/api/create-checkout.ts
// 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.cancelled

Payouts 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).

Intermédiaire20 min

Application Mobile

Intégration du SDK dans une application React Native ou Flutter.

Intermédiaire20 min

Paiement de factures

Liens de paiement pour factures avec suivi et relances automatiques.

Débutant10 min

Exemples complets sur GitHub

Retrouvez des projets complets et prêts à déployer dans notre repository d'exemples.