Tapez au moins deux caractères. Les flèches parcourent les résultats, Entrée ouvre le résultat courant, Échap ferme la liste. La touche barre oblique amène à ce champ.

Sessions de paiement

Ouvrir une session de paiement

POSThttps://tupay.apps.lepetittahitien.dev/api/v1/checkout-sessions

Rend une url hébergée par Tupay. Redirigez-y votre client : c'est nous qui affichons le récapitulatif et encaissons.

Le total est calculé et figé maintenant. Chaque ligne porte soit un price du catalogue — dont elle hérite montant et libellé — soit un amountXpf et une description libres. Un tarif désactivé vaut 409 : il ne sert plus à composer de nouvelles offres.

La session vit 24 heures par défaut, expiresInMinutes entre 30 et 1440.

Paramètres d’en-tête

  • Idempotency-Keychaîne· en-têtefacultatif
    exemple 9f8c1a2b-3d4e-4f60-8a71-5b2c9d0e6f13

    Facultative sur cette opération. Fournie, elle garantit qu'un rejeu ne crée pas une seconde ressource : le corps mémorisé est renvoyé tel quel. Absente, chaque appel crée une ressource de plus, comme avant.

    Mêmes règles que sur les opérations qui l'exigent : cloisonnement par marchand, refus 409 idempotency_key_reuse sur corps différent, refus 409 idempotency_in_progress pendant l'exécution de la première, et rétention de 24 heures.

    Exception, dite franchement : sur POST /api-keys et POST /webhook-endpoints le secret n'est rendu qu'une fois. Il n'est PAS conservé avec le corps mémorisé, sinon il séjournerait 24 heures en base en clair. Un rejeu rend donc la ressource avec son secret à null. La clé garantit qu'une seule ressource existe, pas que le secret soit redonné.

Corps de requête application/json · requis

  • lineItemsliste· de objetrequis
    exemple [{"price":"price_3fa85f64-5717-4562-b3fc-2c963f66afa6","quantity":2}]
    • pricechaînefacultatif

      <uuid> ou price_<uuid>.

    • descriptionchaînefacultatif
      longueur maximale 280
    • amountXpfentierfacultatif
      minimum 1maximum 100000000

      Entier XPF. Le franc pacifique n'a pas de centimes.

    • quantityentierfacultatif
      minimum 1maximum 1000défaut 1
  • successUrlchaînerequis
    longueur maximale 2000exemple https://boutique.pf/merci

    Où renvoyer le client une fois payé. HTTPS exigé en mode live.

  • cancelUrlchaînefacultatif
    longueur maximale 2000
  • expiresInMinutesentierfacultatif
    minimum 30maximum 1440défaut 1440
  • customerchaînefacultatif

    <uuid> ou cus_<uuid>.

  • customerEmailchaînefacultatif
    format emaillongueur maximale 320

    Constitue votre fichier client tout seul : au règlement, la fiche est retrouvée ou créée, et le résultat est lisible dans customerMatch. Ignoré si customer est fourni.

  • metadataobjetfacultatif
    au plus 50 clés

    Clés libres (longueur maximale 40), valeurs de type chaîne (longueur maximale 500).

    ⚠️ Une valeur qui ressemble à un numéro de carte bancaire est REFUSÉE, sur toutes les ressources : Tupay n'en stocke jamais, y compris ici. Ce refus protège votre conformité PCI-DSS autant que la nôtre. Si c'est une référence interne numérique, préfixez-la (« cmd-… ») pour lever l'ambiguïté.

    Vos propres clés et valeurs, attachées à l'objet et relisibles avec lui. De quoi relier une ressource Tupay à votre système sans tenir de table de correspondance.

    Bornes : 50 clés au plus, 40 caractères par clé, 500 par valeur. Elles portent sur le RÉSULTAT de la fusion, pas sur ce que vous envoyez : ajouter 5 clés à un objet qui en compte 48 est refusé.

    À la modification, les clés fournies remplacent les anciennes et les autres survivent. Une clé à null est supprimée. Un objet vide ne change rien, et metadata: null efface tout.

    Ce n'est pas un espace de stockage : les valeurs ne sont ni indexées ni cherchables, et n'ont aucun effet sur le traitement.