ContactDevenir partenaire

Paiements · Une plateforme Hadruvo

Facturez touteligne mobile.

PayLumia est notre agrégateur de facturation opérateur. Une API et un checkout hébergé, et chaque abonné du réseau peut payer un abonnement, un pass ou un achat à l’unité. Ni carte, ni compte. Un code.

PayLumia checkout — offer and mobile number

Le problème

Votre public est prêt à payer. Sa carte bancaire, non.

Peu de cartes, un paiement en ligne intimidant et des règles de consentement propres à chaque opérateur. Intégrer un opérateur prend des mois ; le suivant repart de zéro. PayLumia le fait une fois, pour vous.

Comment ça marche

Du premier appel au premier revenu.

  1. 01

    Votre serveur crée un paiement

    Un appel avec l’offre et l’adresse de retour du client. Vous recevez une URL de checkout.

  2. 02

    Votre client arrive sur notre checkout

    Hébergé, localisé, conforme aux règles de l’opérateur. En pleine page ou intégré à votre écran.

  3. 03

    Il confirme sur son propre téléphone

    Un code unique par SMS, la reconnaissance réseau en données mobiles, ou un mot-clé envoyé depuis le mobile.

  4. 04

    L’opérateur débite la ligne

    PayLumia route vers le bon opérateur et enregistre le consentement qui fonde le débit.

  5. 05

    Vous recevez un événement signé

    payment.succeeded, signé avec votre secret. Vous ouvrez l’accès. Le retour navigateur rassure ; l’événement fait foi.

curl https://api.paylumia.com/v1/payments \
  -H "Authorization: Bearer $PAYLUMIA_TOKEN" \
  -H "Idempotency-Key: order-8891" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "HOSTED",
    "offerUid": "premium_daily",
    "returnUrl": "https://app.example.tn/return",
    "presentation": "redirect",
    "prefill": { "msisdn": "+21620123456", "msisdnEditable": true },
    "metadata": { "orderRef": "order-8891" }
  }'

Méthodes de consentement

Trois façons de dire oui. Nous choisissons la bonne.

  1. PayLumia checkout — step 1, mobile number
    01

    Code unique

    L’abonné saisit son numéro, reçoit un code par SMS et confirme. Fonctionne sur toute connexion.

  2. PayLumia checkout — step 2, one-time code
    02

    Reconnaissance réseau

    En données mobiles, l’opérateur identifie la ligne : l’abonné n’a qu’à confirmer. En Wi-Fi, le checkout repasse au code.

  3. PayLumia checkout — step 3, confirmation
    03

    Mot-clé SMS

    L’abonné envoie un mot-clé à un numéro court. Idéal pour la TV, l’affichage et les campagnes hors ligne.

Les méthodes disponibles dépendent de l’opérateur et de l’offre, et sont découvertes à l’exécution — rien n’est codé en dur dans votre application.

Modèles économiques

Vendez comme votre produit fonctionne.

Prix, périodes et essais sont définis sur l’offre dans votre console. Votre code ne dit que quelle offre.

  1. 01

    Abonnements

    Formules quotidiennes, hebdomadaires ou mensuelles avec essais gratuits, périodes de grâce et renouvellements gérés par la plateforme.

  2. 02

    Consommables

    Packs de pièces, crédits, pass renouvelables. Chaque achat est un paiement distinct.

  3. 03

    Déblocages définitifs

    Un paiement, un accès pour de bon : un jeu complet, un cours, une fonction premium.

Construit comme un registre

Des flux dignes de confiance.

  • Événements signés

    Chaque changement d’état arrive sur votre serveur, signé avec votre secret.

  • Idempotent par conception

    Chaque création porte une clé d’idempotence. Une relance ne débite jamais deux fois.

  • Des montants entiers

    Montants dans l’unité mineure de la devise, toujours accompagnés de leur devise.

  • Sandbox, puis production

    Des identifiants séparés par environnement. Une clé sandbox n’atteint jamais l’argent réel.

verify-webhook.js
import crypto from 'node:crypto'

// PayLumia-Signature: t={unix},v1={hmac}
export function verify(rawBody, header, secret) {
  const { t, v1 } = Object.fromEntries(header.split(',').map((p) => p.split('=')))
  if (Math.abs(Date.now() / 1000 - Number(t)) > 300) return false // 5-minute window
  const expected = crypto.createHmac('sha256', secret).update(`${t}.${rawBody}`).digest('hex')
  return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(v1))
}

Console partenaire

Offres, paiements et règlements au même endroit.

Créez applications et offres, faites tourner vos clés, suivez chaque paiement et abonnement, et réconciliez ce que l’opérateur règle.

PayLumia partner console — overview

Pour les développeurs

Une documentation qui respecte votre temps.

Démarrage rapide, guides, webhooks, catalogue d’erreurs et référence API complète — sur le portail développeurs PayLumia.

Ouvrir le portail développeurs

Vos clés sandbox sont à une conversation.