Accéder directement au contenu
Créez un compte
ou
connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compte
Connectez-vous
Démarrer
Paiements
Revenus
Plateformes et places de marché
Gestion de fonds
Ressources pour les développeurs
Aperçu
À propos des paiements Stripe
Mettre votre intégration à niveau
Analyses des paiements
Paiements en ligne
PrésentationTrouver votre cas d'usageManaged Payments
Utiliser Payment Links
Créer une page de paiement
Développer une intégration avancée
Développer une intégration dans l'application
Moyens de paiement
Ajouter des moyens de paiement
Gérer les moyens de paiement
Paiement accéléré avec Link
Interfaces de paiement
Payment Links
Checkout
Elements pour le web
Elements intégrés à l'application
Scénarios de paiement
Gérer plusieurs devises
Tunnels de paiement personnalisés
Acquisition flexible
Orchestration
Paiements par TPE
Terminal
    Présentation
    Accepter les paiements par TPE
    Conception d'intégration
    Choisir votre lecteur
    Concevoir une intégration
    Démarrage rapide
    Exemples d'applications
    Tests
    Configuration de Terminal
    Configurer votre intégration
    Se connecter à un lecteur
    Acceptation d'un paiement
    Encaisser des paiements par carte
    Autres moyens de paiement
    Accepter les paiements hors ligne
    Paiement des commande par courrier/par téléphone
    Spécificités régionales
    Lors du règlement
    Collecter des pourboires
    Collecter et enregistrer des informations de paiement pour une utilisation ultérieure
    Autorisations flexibles
    Après le paiement
    Rembourser des transactions
    Fournir des reçus
    Personnalisez Checkout
    Affichage du panier
    Collecter les données saisies à l'écran
    Collecter les données des lectures de la piste magnétique
    Collecter les données des paiements NFC sans contact
    Applications sur des appareils
    Gérer les lecteurs
    Commander, renvoyer ou remplacer des lecteurs
    Enregistrer des lecteurs
    Gérer les emplacements et les zones
    Configurer des lecteurs
    Suivre les lecteurs
    Chiffrement
    Références
    Documentation de l'API
    Lecteurs mobiles
    Lecteurs intelligents
    Guide de migration du SDK
    Liste de contrôle pour le déploiement
    Fiches produit du lecteur Stripe Terminal
Au-delà des paiements
Constituez votre entreprise
Cryptomonnaies
Financial Connections
Climate
Comprendre la fraude
Radar pour la protection contre la fraude
Gestion des litiges
Vérifier l'identité
AccueilPaiementsTerminal

Spécificités régionales

Consultez les spécificités régionales relatives à l'intégration de Terminal dans les différents pays.

Dans la plupart des cas, vous pourrez utiliser une seule intégration Terminal dans l’ensemble des pays pris en charge. Toutefois, en raison des réglementations et moyens de paiement locaux, il existe des exigences spécifiques à certains pays. Après avoir parcouru l’exemple d’intégration, utilisez ce guide pour en savoir plus sur les exigences spécifiques à certains pays concernant Terminal.

Remarque

Pour traiter les paiements Terminal, le compte Stripe recevant les fonds et l’emplacement associé au lecteur doivent se trouver dans le même pays et accepter uniquement la devise locale.

Pays

Disponibilité

Reportez-vous au tableau suivant pour connaître les lecteurs et plateformes SDK que vous pouvez utiliser dans chaque pays.

PaysAndroid**iOS**JavaScriptPiloté par serveur
Canada
WisePad 3
Bluetooth or USB
Lecteur S700 de Stripe
Smart
WisePOS E
Smart
Tap to Pay*
Embedded
WisePad 3
Bluetooth
Lecteur S700 de Stripe
Smart
WisePOS E
Smart
Tap to Pay
Embedded
Lecteur S700 de Stripe
Smart
WisePOS E
Smart
WisePOS E
Smart
*Cette forme d'intégration Terminal est actuellement en phase bêta.
**La compatibilité de ce SDK mobile s'applique également lorsqu'il est utilisé avec React Native.

Intégrer Terminal au Canada

Stripe prend en charge les paiements Visa, Mastercard, American Express, Discover et Interac au Canada. Toutes les transactions doivent être libellées en dollars canadiens (CAD). Pour accepter un paiement Terminal au Canada, le compte de votre plateforme ou le compte connecté doit être établi au Canada.

Utiliser les emplacements

Créez des emplacements pour votre entreprise avec des adresses en/à/au(x) Canada et associez-y vos lecteurs. Ainsi, ces derniers téléchargeront automatiquement la configuration nécessaire pour traiter correctement les paiements en/à/au(x) Canada. Pour être valide, l’adresse d’un emplacement en/à/au(x) Canada doit contenir les propriétés line1, city, state, postal_code, and country.

Command Line
curl
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/terminal/locations \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "display_name"="HQ" \ -d "address[line1]"="3040 Bur Oak Ave" \ -d "address[city]"="Markham" \ -d "address[state]"="ON" \ -d "address[country]"="CA" \ -d "address[postal_code]"="L6B 0R1" \

Version logicielle du lecteur

Les lecteurs Verifone P400 utilisés au Canada doivent utiliser la version 3.0.1.15 ou une version ultérieure du logiciel. Pour plus d’informations, consultez les mises à jour du logiciel du lecteur Verifone P400.

De la même manière, les lecteurs BBPOS WisePad 3 doivent utiliser la version du logicielle 4.01.00.54_Prod_NA_off_v25_480001 ou une version ultérieure. Pour en savoir plus, consultez les mises à jour logicielles de BBPOS WisePad 3.

Traduction

En raison de règlementations linguistiques les services, (y compris les services pour point de vente) doivent être fournis en French, sauf lorsque le titulaire et l’émetteur de la carte bancaire ont convenu d’utiliser l’anglais. Terminal est conçu pour vous permettre de vous conformer à ces exigences si elles concernent votre entreprise.

Langue par défaut du lecteur

L’interface du Verifone P400 affiche du texte en French et en anglais si l’adresse à laquelle il est enregistré est située en/à/au(x) Canada.

Le lecteur BBPOS WisePOS E et le lecteur Stripe S700 offrent la possibilité de changer de langue dans le panneau Paramètres. Balayez l’écran vers la droite pour accéder au panneau Paramètres, puis sélectionnez votre langue.

Le lecteur BBPOS WisePad 3 prend en charge le changement de langue directement dans l’interface du lecteur. Après avoir attribué un emplacement au lecteur avec une adresse en/à/au(x) Canada, le lecteur installe le paquet linguistique correspondant à votre région, si ce n’est pas déjà fait. Pour afficher les langues disponibles et sélectionner une langue, cliquez sur le bouton Alimentation/Paramètres et faites défiler vers le bas à l’aide des touches fléchées jusqu’à atteindre le menu du choix de la langue. Mettez en surbrillance la langue souhaitée et appuyez sur la touche verte Entrée.

Langue de la transaction

Une fois la carte bancaire présentée par son titulaire, le lecteur en détermine la langue principale. Chaque écran est ensuite affiché dans la langue du titulaire de carte.

Autres traductions

Si vous êtes tenus d’offrir vos services en ou souhaitez traduire du texte en French et en anglais, veillez à ce que les écrans et reçus de vos lecteurs personnalisés affichent les traductions appropriées.

Paiements Interac

Interac est le réseau interbancaire qui gère l’acheminement des paiements par débit au Canada. Les cartes de débit personnelles au Canada portent le logo Interac et peuvent également être co-marquées avec le logo d’un autre réseau de paiement. Cependant, même si la carte est comarquée, toutes les transactions de débit Interac doivent être acheminées via Interac. Pour optimiser votre taux d’acceptation des paiements par carte bancaire, vous devriez ajouter la prise en charge d’Interac dans votre intégration.

Remarque

Interac n’est pas pris en charge en mode hors ligne.

Créer un PaymentIntent

Pour accepter les transactions Interac, vous devez créer vos paiements à l’aide du type de moyen de paiement interac_present. Si vous acceptez les paiements Visa, Mastercard et American Express, incluez également le type de moyen de paiement card_present.

Remarque

En savoir plus sur le flux PaymentIntent par TPE.

Côté client

Créez un PaymentIntent pour votre client à l’aide de l’une des options suivantes :

Remarque

La création d’un PaymentIntent côté client est possible avec les SDK iOS, Android et React Native. Si vous utilisez l’intégration pilotée par serveur, créez un objet PaymentIntent côté serveur.

Côté serveur

Documentation de l'API

  • Créer un PaymentIntent

Le SDK JavaScript et l’intégration pilotée par serveur nécessitent la création d’un PaymentIntent sur votre serveur. Pour les autres SDK client, vous pouvez créer le PaymentIntent sur votre serveur si les informations requises pour initier un paiement ne sont pas facilement accessibles dans votre application.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=999 \ -d currency=cad \ -d "payment_method_types[]"=card_present \ -d "payment_method_types[]"=interac_present \ -d capture_method=automatic

Encaisser et traiter un paiement

Une fois le paiement traité, le lecteur décide de l’acheminer ou non via Interac, selon le profil de la carte présentée.

Lorsque la carte bancaire Interac est co-marquée, le champ payment_method_details.interac_present.brand du paiement renvoyé par un PaymentIntent indique la co-marque. Le champ indiquant le type de payment_method d’une transaction Interac est toujours interac_present.

Il existe d’autres exigences Interac, que Stripe gère pour vous de manière automatique, sans effort d’intégration supplémentaire de votre part :

  • Avant qu’une carte ne soit présentée, les instructions sur l’écran s’affichent dans la langue par défaut du lecteur. Une fois les informations de carte bancaire collectées, la localisation est définie à partir des préférences linguistiques spécifiées par la carte présentée.
  • Le lecteur demande automatiquement la saisie du code PIN lorsqu’elle est requise.
  • Les paiements Flash Interac (sans contact) sont limités à 250 CAD et ne dépassent généralement pas trois transactions consécutives. Pour les transactions supérieures à 100 CAD ou pour la quatrième transaction sans contact consécutive, le client doit insérer sa carte Interac et saisir son code PIN.

Capturer et rapprocher

Contrairement aux transactions Visa, Mastercard et American Express, les transactions Interac sont autorisées puis capturées automatiquement en une seule étape. Assurez-vous que votre application ne continue pas à capturer le PaymentIntent. Si vous tentez de capturer un paiement interac_present, l’API Stripe renvoie une erreur. Faites en sorte que votre intégration limite le risque de paiements non intentionnels et de paiements en double ; en cas d’échec ou de refus de paiement lors d’un traitement Interac, vous pouvez tenter de réutiliser le PaymentIntent de la transaction d’origine afin d’éviter les paiements en double.

Remarque

Pour s’adapter au comportement de message unique du réseau, à partir de la version 2025-03-31.basil de l’API, les paiements interac_present requièrent que le paramètre capture_method soit réglé sur automatic ou automatic_async sur le PaymentIntent.

Rembourser un paiement Interac

Les remboursements de transactions Interac au Canada s’effectuent obligatoirement par TPE. La création de remboursements dans l’API ou le Dashboard est impossible pour ces paiements. Dans ce flux, le lecteur invite le titulaire de la carte à présenter la carte bancaire utilisée lors du paiement initial. Une fois les informations de carte lues, votre application traite le remboursement. Comme pour les remboursements en ligne, vous pouvez effectuer des remboursements partiels en transmettant un montant inférieur à la valeur de la transaction.

La devise et la carte bancaire utilisées pour le traitement du remboursement doivent correspondre à celles du paiement initial, sans quoi la demande échoue avec un message d’erreur.

Lorsque cette méthode n’est pas disponible, vous pouvez proposer de rembourser le client à l’aide d’un autre moyen de paiement, par exemple en espèces ou crédit magasin.

Pour initier un remboursement de paiement Interac par TPE, appelez l’endpoint refund_payment :

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/terminal/readers/tmr_xxx/refund_payment \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d payment_intent=pi_xxx \ -d amount=2000

Comme indiqué dans l’exemple suivant, l’action du lecteur conserve l’état in_progress jusqu’à ce que le client présente une carte bancaire sur le lecteur :

{ "id": "tmr_xxx", "object": "terminal.reader", "action": { "type": "refund_payment", "refund_payment": { "payment_intent": "pi_xxx" }, "status": "in_progress", "failure_code": null, "failure_message": null }, … }

Si vous utilisez un lecteur de simulation, vous pouvez simuler la présentation d’un moyen de paiement à l’aide de l’endpoint present_payment_method :

Command Line
cURL
No results
curl https://api.stripe.com/v1/test_helpers/terminal/readers/tmr_xxx/present_payment_method \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d type=interac_present

L’aboutissement du remboursement génère un événement terminal.reader.action_succeeded. La valeur action.status du lecteur passe à succeeded et action.refund_payment reçoit un attribut remboursement.

L’échec du remboursement génère un événement terminal.reader.action_failed. La valeur action.status du lecteur passe à failed et les propriétés action.failure_code et action.failure_message reçoivent une explication détaillée de l’échec. La propriété action.refund_payment ne reçoit pas d’attribut refund.

Nous vous recommandons d’utiliser des webhooks pour suivre les changements d’état des actions du lecteur.

Cette page vous a-t-elle été utile ?
OuiNon
  • Besoin d'aide ? Contactez le service Support.
  • Rejoignez notre programme d'accès anticipé.
  • Consultez notre log des modifications.
  • Des questions ? Contactez l'équipe commerciale.
  • LLM ? Lire llms.txt.
  • Propulsé par Markdoc