Demandes de paiement aux utilisateurs connectés
Vos utilisateurs se connectent avec pismile ? Envoyez-leur une demande de paiement depuis votre serveur, sans redirection.
Si vos utilisateurs se connectent avec « Se connecter avec pismile », vous pouvez leur envoyer une demande de paiement à tout moment : une facture, un abonnement, une recharge. Ils la reçoivent dans leur application bancaire et la valident. Vous ne connaissez jamais leur alias : vous utilisez leur identifiant pismile (sub).
Comment ça marche#
L'utilisateur accepte, une fois
À la connexion, votre application demande le scope
pismile:payment. pismile affiche « Vous envoyer des demandes de paiement — rien n'est débité sans votre validation dans votre banque », et l'utilisateur choisit le compte qui recevra les demandes.Votre serveur envoie une demande
POST /api/v1/paiementsavec lesub, le montant et votre référence.L'utilisateur valide dans sa banque
Il a 24 heures. La demande apparaît aussi dans son historique de l'application pismile.
Vous êtes prévenu
Webhook
paiement.paye(oupaiement.refuse,paiement.expire). L'argent est sur votre compte.
L'utilisateur peut à tout moment changer de compte ou retirer l'accès depuis son espace pismile (« Demandes de paiement »).
Prérequis#
Tout ce qui est dans Préparer votre compte.
Un plan Développeurs qui inclut le scope
pismile:payment, et ce scope coché sur votre application.
1. Demander l'accord à la connexion#
Ajoutez pismile:payment aux scopes demandés :
import Pismile from "@pismile/authjs"
Pismile({ scope: "openid profile pismile:payment" })spring.security.oauth2.client.registration.pismile.scope=openid,profile,pismile:paymentGardez le sub de l'utilisateur (avec Auth.js : session.user.id).
2. Envoyer une demande#
const paiement = await pismile.paiements.creer({
sub: utilisateur.pismileSub,
montant: 5000,
reference: "facture-2026-10-1042",
motif: "Abonnement octobre",
})
paiement.statut // "EN_ATTENTE"Paiement p = pismile.paiements().creer(utilisateur.getPismileSub(), 5000,
"facture-2026-10-1042", "Abonnement octobre");
p.statut(); // "EN_ATTENTE"$p = $pismile->paiements()->creer($utilisateur['pismile_sub'], 5000,
'facture-2026-10-1042', 'Abonnement octobre');
$p->statut; // "EN_ATTENTE"Le payeur voit dans sa banque : « Nom de votre application - Abonnement octobre ».
Statuts#
Statut | Signification |
|---|---|
| Dans la banque de l'utilisateur, à valider (24 h au plus) |
| Payé, définitif |
| Rien n'a été débité |
| Votre participant a refusé la demande avant envoi ; la même référence peut être réutilisée |
Limites#
Pour protéger vos utilisateurs contre les demandes abusives : 3 demandes en attente et 20 demandes par 24 heures, par utilisateur et par application.
Erreurs fréquentes#
Code | Cause | Solution |
|---|---|---|
| L'utilisateur n'a pas accepté | Le reconnecter avec ce scope |
| L'utilisateur n'a aucun compte pour recevoir une demande | Lui demander d'ajouter un compte dans l'application pismile |
| Scope non coché sur l'application, ou non inclus dans votre plan | Console → Applications, ou Plan et usage |
| 3 demandes déjà en attente | Attendre qu'il les traite |
Cette page vous a-t-elle aidé ?
Merci, votre avis nous aide à améliorer la documentation.