Moyens de paiement
Rattacher un moyen de paiement à un client
POSThttps://tupay.apps.lepetittahitien.dev/api/v1/payment-methods
⚠️ Cette route n'accepte aucune donnée de carte.
Tokenisez la carte dans le navigateur du porteur (Stripe.js), puis transmettez le jeton obtenu dans token. Un corps portant number, cvc, expMonth ou tout autre champ de carte est refusé en 400, en nommant le champ fautif — le numéro ne doit jamais atteindre nos serveurs, ni les vôtres.
En mode test, employez les jetons du bac à sable : pm_card_visa, pm_card_mastercard, pm_card_amex, pm_card_expired. Ils sont déterministes.
Le premier moyen d'un client devient son défaut sans que vous ayez à le demander.
Paramètres d’en-tête
- exemple 9f8c1a2b-3d4e-4f60-8a71-5b2c9d0e6f13
Idempotency-Keychaîne· en-têtefacultatifFacultative 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_reusesur corps différent, refus 409idempotency_in_progresspendant l'exécution de la première, et rétention de 24 heures.Exception, dite franchement : sur
POST /api-keysetPOST /webhook-endpointsle 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
- exemple cus_8f14e45f-ceea-4c1a-9b7d-2a3f6c8e01b4
customerchaînerequisClient auquel rattacher le moyen. Un client supprimé est refusé en
409: préparer un prélèvement sur quelqu'un que vous avez déclaré parti n'a pas d'usage. - longueur maximale 500exemple pm_card_visa
tokenchaînerequisJeton du prestataire, obtenu côté navigateur. Jamais un numéro de carte : une valeur qui y ressemble est refusée avec un message qui l'explique.
defaultbooléenfacultatifDésigne ce moyen comme celui à utiliser par défaut.
- au plus 50 clés
metadataobjetfacultatifClé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é à
nullest supprimée. Un objet vide ne change rien, etmetadata: nullefface 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.