PAY LINK · v1.0

Liens de paiement

Créez un lien de paiement en une seule requête API et partagez-le par SMS, WhatsApp ou email. Aucun code à intégrer côté client.

Introduction

Un lien de paiement est une URL unique que vous créez depuis l'API ou le dashboard. Vous la partagez avec votre client — il clique, choisit son opérateur et paie sur la page SigmaPay. Vous recevez une notification webhook dès la confirmation.

01Vous créez le lienPOST /api/v1/links
02Vous partagezSMS · WhatsApp · Email
03Le client paiePage SigmaPay hébergée
04Vous êtes notifiéWebhook IPN signé

Cas d'usage typiques : Factures à distance · Paiement de droits d'inscription · Collecte de fonds · Commerce sur WhatsApp

Créer un lien de paiement

POST/api/v1/payment-links
ChampTypeRequisDescription
amountintegerOuiMontant en centimes XOF. Si absent le client saisit lui-même.
descriptionstringNonLibellé affiché sur la page de paiement.
expiresAtstringNonDate d'expiration ISO 8601. Ex : "2026-07-31T23:59:59Z"
maxUsesintegerNonNombre maximum de paiements via ce lien. Défaut : illimité.
metadataobjectNonDonnées libres retournées dans chaque webhook.
JavaScript
const res = await fetch('https://bluepay.myfad.org/api/v1/payment-links', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer sigmapay_live_votre_cle',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    amount: 75000,               // 750 XOF
    description: 'Frais de dossier — Concours Master 2026',
    expiresAt: '2026-07-31T23:59:59Z',
    maxUses: 500,
    metadata: { promotion: 'master-2026' },
  }),
});

const { url, id } = await res.json();
// url = "https://bluepay.myfad.org/pay/link_abc123..."
console.log('Lien :', url);
JSON (réponse)
{
  "id": "link_abc123def456",
  "url": "https://bluepay.myfad.org/pay/link_abc123def456",
  "amount": 75000,
  "currency": "XOF",
  "description": "Frais de dossier — Concours Master 2026",
  "status": "ACTIVE",
  "usedCount": 0,
  "maxUses": 500,
  "expiresAt": "2026-07-31T23:59:59.000Z",
  "createdAt": "2026-06-30T10:00:00.000Z"
}

Partager le lien

Une fois le lien créé, partagez l'URL retournée comme bon vous semble. Le client cliquera sur la page de paiement SigmaPay directement.

Exemple SMS (Node.js)
// Envoi via votre provider SMS habituel
const linkUrl = 'https://bluepay.myfad.org/pay/link_abc123def456';

await smsProvider.send({
  to: '+221771234567',
  text: `Bonjour, veuillez régler vos frais de dossier via ce lien sécurisé SigmaPay : ${linkUrl}`,
});
Exemple WhatsApp
// Via l'API WhatsApp Business
const message = {
  type: 'template',
  template: {
    name: 'payment_reminder',
    components: [
      { type: 'body', parameters: [{ type: 'text', text: linkUrl }] }
    ],
  },
};

QR code

Chaque lien de paiement a automatiquement un QR code à afficher ou imprimer — utile pour un paiement en présentiel (comptoir, affiche, facture papier). Le QR encode l'URL du lien : le client le scanne avec son téléphone et arrive directement sur la page de paiement.

GET/link/:slug/qrcode

Retourne directement une image PNG (320×320px) — utilisable telle quelle dans une balise <img src="...">, aucune authentification requise.

HTML
<img src="https://bluepay.myfad.org/link/link_abc123def456/qrcode" alt="Payer par QR code" />

Le même QR code est aussi affiché directement sur la page de paiement hébergée (bouton « Afficher le QR code »), et sur la page de checkout à usage unique (/checkout/:token/qrcode).

Notifications de paiement

Chaque paiement via un lien déclenche un webhook identique à celui de l'API de paiement — structure à plat, le champ event vaut toujours transaction.updated, le résultat réel est dans status. Le webhook ne contient pas votre metadata d'origine — utilisez transactionId pour retrouver votre commande.

JSON (webhook reçu)
{
  "event": "transaction.updated",
  "transactionId": "clxyz5678efgh",
  "reference": "TXN-...",
  "status": "SUCCESS",
  "amount": 75000,
  "currency": "XOF",
  "channel": "WAVE"
}

Gérer les liens

MéthodeEndpointAction
GET/api/v1/payment-linksLister tous vos liens
GET/api/v1/payment-links/:idDétail et statistiques d'un lien
PATCH/api/v1/payment-links/:idModifier montant, description, expiration
DELETE/api/v1/payment-links/:idDésactiver un lien (ne supprime pas l'historique)

Essayer les liens de paiement

Créez votre premier lien depuis le dashboard en 30 secondes.