Chargement de vos clés API…

No-code & automatisation

Brancher Mobupay sur Xano, n8n, Make, Zapier (et Bubble, FlutterFlow, WeWeb…).

Principe

Aucun plugin : votre outil no-code consomme l'API Mobupay en HTTP. Deux briques suffisent, identiques quel que soit l'outil : créer un lien de paiement (appel sortant) et recevoir le webhook signé (appel entrant). Le client paie sur la page hébergée Mobupay : votre outil ne manipule jamais de données carte.

1. Créer un lien de paiement

Un POST authentifié par votre clé sk_… (côté serveur / backend no-code, jamais dans le navigateur). Le montant est en unité mineure (centimes EUR, ou unité XPF). Ajoutez une Idempotency-Key pour éviter les doublons sur rejeu.

POST https://api.mobupay.nc/api/v1/payments/links
Authorization: Bearer sk_live_xxx
Idempotency-Key: CMD-1042
Content-Type: application/json

{
  "order": { "reference": "CMD-1042", "amount": 500000, "currency": "XPF" },
  "redirectUrl":     "https://votre-site/merci",
  "notificationUrl": "https://votre-outil/webhook/mobupay",
  "externalId":      "CMD-1042"
}

// reponse : { "paymentId", "linkId", "linkUrl", "expiresAt" }
// -> envoyez linkUrl au client (email, SMS, bouton, QR)

2. Recevoir & vérifier le webhook

À la fin du paiement, Mobupay POSTe l'événement (payment.authorized ou payment.captured pour un paiement accepté, payment.failed…) sur votre notificationUrl. Vérifiez toujours la signature V2 avant de traiter : HMAC-SHA256 hex de {timestamp}.{corps_brut} avec votre secret whsec_….

// snippet portable (Xano HMAC natif, n8n/Zapier "Code", Cloud Function...)
const signed   = timestamp + "." + rawBody;            // corps BRUT recu
const expected = hmacSha256Hex(whsec, signed);
const ok = constantTimeEquals(expected, header["X-Mobupay-Signature-V2"]);
// + rejeter si |now - timestamp| > 5 min (anti-rejeu)

Xano : guide dédié

L'intégration Xano est validée de bout en bout et dispose d'un guide dédié avec les deux scripts XanoScript prêts à coller (création de lien + vérification du webhook signé) et les pièges propres à Xano (mode expression, corps brut, HMAC).

Recettes par outil

  • Xano : External API Request (créer) + HMAC natif (vérifier), guide dédié avec scripts prêts à coller. Sert de backend aux app-builders ci-dessous.
  • n8n : nœud HTTP Request (créer) + nœud Code avec le snippet de vérification fourni. Workflow d'exemple importable.
  • Make / Zapier : module/action HTTP « POST » (créer) + webhook entrant + étape HMAC/Code (vérifier).
  • App-builders (le front ne voit jamais la clé, Xano fait les branches sensibles) : WeWeb, Bubble, FlutterFlow, Glide, Softr : guides dédiés.

Pour n8n, Make et Zapier, le pattern des sections 1 et 2 s'applique tel quel : webhook en corps brut + recalcul HMAC dans une étape Code. Voir aussi Webhooks (signature V2) et Idempotence.

Sécurité

  • Ne jamais exposer la clé sk_… côté client : elle vit côté serveur / backend no-code.
  • Toujours vérifier X-Mobupay-Signature-V2 + la fraîcheur du timestamp (≤ 5 min).
  • Répondre 200 rapidement ; traiter en asynchrone si besoin (Mobupay réessaie).