Passer au contenu principal

Créer un Lien de paiement

Requête de base

Paramètres requis

Paramètres optionnels

Types de liens

Type amount - Montant fixe

Pour collecter un montant spécifique :

Structure des articles (items)

Pour les types product et subscription, vous pouvez définir des articles :

Options avancées

Limiter les utilisations

Collecter les adresses

Autoriser les codes promo

Personnaliser le bouton de paiement

submitMessage est affiché sous le bouton en texte brut (aucun HTML, retours à la ligne conservés). Les espaces en bord sont retirés ; une chaîne vide équivaut à null, une chaîne faite uniquement d’espaces est refusée en 422. Une session de paiement ouverte depuis le lien hérite de son submitType.

URL de redirection personnalisées

Slug personnalisé

Créez une URL mémorable :
L’URL sera : https://pay.yabetoo.com/p/don-2024

Exemple complet

Réponse

Champs de la réponse

Opérations courantes

Récupérer un lien

Mettre à jour un lien

Seules les clés envoyées sont modifiées :
  • une clé absente laisse le champ inchangé ;
  • null efface le champ : description, amount, minAmount, maxAmount, suggestedAmounts, expiresAt, maxRedemptions, successUrl, cancelUrl, brandingId, metadata, submitType, submitMessage. name et slug ne s’effacent pas (422).
Le slug est modifiable, sous les mêmes règles qu’à la création. L’ancienne URL https://pay.yabetoo.com/p/<ancien-slug> cesse alors de fonctionner : tout lien déjà partagé ou encodé dans un QR code est cassé. Un slug reste pris même après la suppression de son lien.
Un minAmount supérieur à maxAmount est refusé en 422, à la création comme à la mise à jour. Articles (liens product et subscription) : quand items est envoyé, c’est la nouvelle liste complète. Un article portant son id est modifié, un article sans id est créé, un article existant absent de la liste est supprimé. Un id inconnu, répété ou envoyé avec un autre productId est refusé en 422.

Désactiver un lien

Supprimer un lien

Lister les liens

Webhooks

Recevez des notifications lorsqu’un paiement est effectué via un lien :
Les champs sont directement sous data (il n’y a pas de data.object). amount est en unité majeure de la devise (25000 = 25 000 XAF).

Événements disponibles

  • Un paiement par lien émet payment_link.checkout.completed, pas checkout.session.completed : abonnez-vous à la famille payment_link.*.
  • La mise à jour d’un lien n’émet aucun événement.
  • Les liens subscription passent par le flux d’abonnement et n’émettent aucun événement payment_link.* : écoutez les événements d’abonnement.
Voir la documentation Webhooks pour la signature et la livraison.

Bonnes pratiques

  • Créez toujours les liens côté serveur
  • Ne stockez jamais les clés API côté client
  • Utilisez des webhooks pour vérifier les paiements
  • Utilisez des slugs mémorables pour les liens importants
  • Ajoutez une description claire
  • Définissez une date d’expiration raisonnable
  • Utilisez les métadonnées pour le suivi (campagne, source, etc.)
  • Surveillez le redemptionCount pour les offres limitées
  • Désactivez les liens plutôt que de les supprimer

Prochaines étapes

Partager un lien

Découvrez comment partager vos liens efficacement

Webhooks

Configurez les notifications en temps réel