Skip to content

API développeur

Intégrez et personnalisez

Lancez Payment for Stripe depuis votre propre application ou site web via les schémas d'URL, et contrôlez quels produits apparaissent dans l'application directement depuis votre tableau de bord Stripe.

Intégration par schémas d'URL

Comment ça marche

1

Votre application ouvre un payment:// URL avec paramètres

2

Payment for Stripe lance et traite la transaction

3

Une fois l'opération terminée, l'application redirige vers votre URL de rappel avec le résultat.

Points de terminaison

Créer un paiement

payment://new?

Effectuer un paiement unique avec montant, devise et description.

Paramètres

NomTypeRequisDescription
amountintegerOuiMontant en centimes (ex. : 1000 = 10,00 $)
currencystringNonCode ISO à trois lettres de la devise (par défaut : la devise actuelle de l’application)
descriptionstringNonDescription du paiement encodée en URL
customerAlias: customer_idstringNonIdentifiant client Stripe existant
emailstringNonE-mail du client pour le reçu
namestringNonNom du client encodé en URL
metadatastringNonPaires clé-valeur personnalisées (JSON encodé en URL)
callbackstringNonURL vers laquelle revenir une fois terminé
autoprocessAlias: autobooleanNonPassez l'écran d'accueil et lancez le paiement immédiatement.
auto_returnbooleanNonDéclencher la fonction de rappel dès le chargement du résultat, sans attendre que le commerçant ferme la boîte de dialogue de résultats. Valeur par défaut : false.

Vendez les articles de votre catalogue

payment://cart?

Remplissez le panier avec les prix de votre catalogue Stripe pour un paiement en magasin. La vente est enregistrée comme une facture Stripe acquittée. Aucun document n'est envoyé au client.

Paramètres

NomTypeRequisDescription
pricesAlias: line_itemsstringOuiIdentifiants de prix séparés par des virgules avec les quantités (par exemple, price_abc:2,price_xyz:1)
couponstringNonIdentifiant du coupon Stripe à appliquer au panier
customerAlias: customer_idstringNonIdentifiant client Stripe existant
emailstringNonE-mail du client pour le reçu
namestringNonNom du client encodé en URL
metadatastringNonPaires clé-valeur personnalisées (JSON encodé en URL)
callbackstringNonURL vers laquelle revenir une fois terminé
autoprocessAlias: autobooleanNonPassez l'écran d'accueil et lancez le paiement immédiatement.
auto_returnbooleanNonDéclencher la fonction de rappel dès le chargement du résultat, sans attendre que le commerçant ferme la boîte de dialogue de résultats. Valeur par défaut : false.

Payer une facture existante

payment://invoice?

Encaissement d'un paiement en personne correspondant à une facture Stripe existante. Le montant, la devise, le client et la taxe sont extraits de la facture. Toute modification de ces informations est refusée. Le commerçant utilise un lecteur de carte (Tap to Pay ou saisie manuelle). En cas de succès, la facture est marquée comme payée et liée via les métadonnées charge_id et payment_intent_id. Les factures comportant des abonnements, default_payment_method, ou dont le statut est « payé », « annulé » ou « irrécouvrable » sont refusées et un message d'erreur est généré. Factures provisoires : iOS les finalise en premier, Android les refuse avec invoice_state_changed.

Paramètres

NomTypeRequisDescription
idstringOuiIdentifiant de facture Stripe (doit commencer par in_)
callbackstringNonURL de retour après traitement. Reçoit invoice_id et payment_intent_id en cas de succès.
metadatastringNonPaires clé-valeur personnalisées (JSON encodé en URL) fusionnées dans les métadonnées PaymentIntent
autoprocessAlias: autobooleanNonPassez l'écran d'accueil et lancez le paiement immédiatement.
auto_returnbooleanNonDéclencher la fonction de rappel dès le chargement du résultat, sans attendre que le commerçant ferme la boîte de dialogue de résultats. Valeur par défaut : false.

Gestion des rappels

Une fois la transaction terminée, Payment for Stripe redirige vers votre URL de rappel avec des paramètres de requête indiquant le résultat. Par défaut, la redirection s'effectue après que le commerçant a fermé la boîte de dialogue de résultat afin qu'il puisse effectuer des actions post-transaction (envoi d'un reçu par e-mail, remboursement). Passez auto_return=true pour que la redirection s'effectue dès que le résultat est connu. Compatible avec iOS et Android.

Paramètres de rappel

ParamètreValeursDescription
statussuccess | error | cancelledRésultat de la transaction
charge_idstringL'identifiant de transaction Stripe (en cas de succès) est envoyé. iOS envoie l'identifiant de transaction (ch_). Android envoie l'identifiant d'intention de paiement (pi_) et place l'identifiant de transaction dans stripe_charge_id.
stripe_charge_idstringIdentifiant de la transaction Stripe (ch_) en cas de succès. Android uniquement.
invoice_idstringID de facture Stripe (en cas de succès, flux payment://invoice uniquement)
payment_intent_idstringIdentifiant Stripe PaymentIntent (en cas de succès). iOS : flux payment://invoice uniquement. Android : à chaque vente par carte.
errorstringMessage d'erreur (en cas d'erreur)

La transaction a été enregistrée, mais la facture n'a pas pu être marquée comme payée : iOS renvoie status=error avec charge_id, invoice_id et payment_intent_id. Android renvoie status=success avec invoice_reconciliation_failed=true.

Champs hérités, conservés pour les anciennes intégrations : success, amount, currency, chargeId, cancelled, error[message]. Les nouvelles intégrations doivent lire les champs ci-dessus.

Exemples

Paiement simple

Encaissez 10,00 $ avec un simple montant

payment://new?amount=1000

Paiement avec description

Encaissez 25,00 € avec une description

payment://new?amount=2500&currency=eur&description=Coffee%20and%20pastry

Paiement avec nouveau client

Encaissez 50,00 $ et créez une fiche client

payment://new?amount=5000&name=John%20Smith&[email protected]

Paiement d'un client existant

Encaissez 75,00 $ auprès d'un client Stripe existant

payment://new?amount=7500&customer=cus_ABC123xyz

Paiement avec métadonnées

Encaissez 100,00 $ avec des métadonnées personnalisées pour votre suivi

payment://new?amount=10000&description=Invoice%20%231234&metadata=%7B%22order_id%22%3A%221234%22%2C%22location%22%3A%22Store%20A%22%7D

Traitement automatique avec rappel

Ignorez l'écran d'accueil et retournez à votre application une fois terminé.

payment://new?amount=3500&autoprocess=true&callback=myapp://payment-complete

Retour automatique sur résultat

Déclenchez la fonction de rappel dès que le résultat est connu, au lieu d'attendre que le commerçant ferme la boîte de dialogue de résultat.

payment://new?amount=3500&autoprocess=true&auto_return=true&callback=myapp://payment-complete

Panier contenant des articles

Facturez les produits de votre catalogue Stripe

payment://cart?prices=price_coffee:2,price_muffin:1&[email protected]

Régler une facture existante

Encaisser un paiement en personne pour une facture Stripe existante. Renvoie invoice_id et payment_intent_id en cas de succès.

payment://invoice?id=in_1ABC123xyz&autoprocess=true&callback=myapp://invoice-paid

Exemple complet

Tous les paramètres combinés pour un flux entièrement intégré

payment://new?amount=15000&currency=usd&description=Service%20Fee&customer=cus_ABC123xyz&metadata=%7B%22invoice%22%3A%22INV-2024-001%22%7D&autoprocess=true&callback=myapp://payment-result

Encodage URL

N'oubliez pas d'encoder les caractères spéciaux des valeurs de paramètres en URL. Les espaces deviennent %20, les accolades deviennent %7B et %7D.

Masquer des produits par métadonnées

Masquer des produits dans l'application

L'application affiche les produits et les tarifs de votre compte Stripe. Pour en exclure un de l'application (par exemple, des articles vendus uniquement via votre boutique en ligne), ajoutez cette clé de métadonnées au produit ou au tarif dans le tableau de bord Stripe :

payment_hidden = true

Sur un produit : masque le produit et tous ses tarifs.

Sur un tarif : masque uniquement ce tarif.

Supprimez la clé, ou définissez-la sur false, pour l'afficher à nouveau. Les changements s'appliquent au prochain chargement de votre liste de produits dans l'application.

Les liens de panier continuent de fonctionner

Le masquage n'affecte que la liste de produits dans l'application. Les URL payment://cart qui référencent un tarif masqué continuent de fonctionner, et les abonnements existants ne sont pas affectés.

Prêt à intégrer ?

Téléchargez l'application et commencez dès aujourd'hui à tester votre intégration.