# Migrer des moyens de paiement vers le Dashboard Activez différents moyens de paiement Checkout via le Dashboard. # Page hébergée > This is a Page hébergée for when payment-ui is stripe-hosted. View the full page at https://docs.stripe.com/payments/dashboard-payment-methods?payment-ui=stripe-hosted. En modifiant votre intégration de manière à ce que vos préférences en matière de moyens de paiement soient extraites du Dashboard, Stripe affiche tous les moyens de paiement compatibles à vos clients au moment du paiement, en tenant compte de la devise choisie ou de toute restriction relative aux moyens de paiement (par exemple, le montant maximal de la transaction). Stripe propose également les moyens de paiement les plus adaptés à chaque client en fonction de sa localisation et de la devise utilisée. La page de paiement affiche en priorité les moyens de paiement offrant le taux de conversion le plus avantageux en fonction de la localisation de votre client, tandis que les moyens de paiement moins pertinents sont masqués sous un menu déroulant. Au moment du paiement, vos clients ont le choix entre différents moyens de paiement populaires selon leur localisation et la devise utilisée. Ils peuvent néanmoins sélectionner un autre moyen de paiement dans le menu déroulant. ## Mettre votre intégration à jour Pour les intégrations Stripe Checkout existantes qui spécifient `payment_method_types`, vous devez supprimer ce paramètre pour migrer les préférences des moyens de paiement vers le Dashboard. Après avoir supprimé le paramètre de votre intégration, certains moyens de paiement sont activés automatiquement, notamment les cartes et les portefeuilles. Le paramètre `currency` limite les moyens de paiement que le client voit dans la session Checkout. > La mise à niveau de votre intégration désactive initialement tous les moyens de paiement autres que ceux activés par défaut pour votre intégration, comme les virements avec redirection bancaire. Si vous avez ajouté des moyens de paiement à votre intégration Checkout, réactivez-les depuis la page des paramètres des moyens de paiement du Dashboard. #### Ruby ```ruby Stripe::Checkout::Session.create({ line_items: [ { price_data: { currency: 'eur', product_data: {name: 'T-shirt'}, unit_amount: 2000, }, quantity: 1, }, ], mode: 'payment', success_url: 'https://example.com/success', }) ``` ## Consulter les moyens de paiement disponibles dans le Dashboard Accédez aux [paramètres des moyens de paiement](https://dashboard.stripe.com/settings/payment_methods) pour consulter les moyens de paiement que vous acceptez actuellement. La liste inclut les moyens de paiement activés par défaut, tels que les paiements par carte bancaire. Leur coût est égal ou inférieur à celui des paiements par carte et sont réglés immédiatement. ### Moyens de paiement Par défaut, Stripe active les cartes bancaires et autres moyens de paiement courants. Vous avez la possibilité d’activer ou de désactiver des moyens de paiement directement depuis le [Dashboard Stripe](https://dashboard.stripe.com/settings/payment_methods). Dans Checkout, Stripe évalue la devise et les restrictions éventuelles, puis présente dynamiquement au client les moyens de paiement pris en charge. Pour visualiser l’affichage des moyens de paiement pour les clients, saisissez un ID de transaction ou définissez le montant et la devise d’une commande dans le Dashboard. Vous pouvez activer Apple Pay et Google Pay dans vos [paramètres des moyens de paiement](https://dashboard.stripe.com/settings/payment_methods). Par défaut, Apple Pay est activé et Google Pay est désactivé. Cependant, dans certains cas, Stripe les filtre même lorsqu’ils sont activés. Nous filtrons Google Pay si vous [activez les taxes automatiques](https://docs.stripe.com/tax/checkout.md) sans collecter d’adresse de livraison. Aucune modification de l’intégration n’est requise pour activer Apple Pay ou Google Pay dans les pages hébergées par Stripe de Checkout. Stripe gère ces paiements de la même manière que les autres paiements par carte bancaire. ## Ajouter ou supprimer des moyens de paiement dans votre intégration Sur la page des paramètres des moyens de paiement du Dashboard, vous pouvez consulter les moyens de paiement disponibles et en activer de nouveaux pour votre intégration. Vous pouvez activer certains moyens de paiement simplement en cliquant sur **Activer**. Cependant, vous devrez effectuer quelques étapes supplémentaires pour activer certains moyens de paiement. Dans ce cas, un bouton intitulé **Configurer** ou **Consulter les conditions** s’affiche. Pour en savoir plus sur les moyens de paiement adaptés à votre entreprise, consultez notre [guide des moyens de paiement](https://stripe.com/payments/payment-methods-guide). ## (Recommandé) Gérer les moyens de paiement à notification différée Selon le type de moyen de paiement que vous intégrez, la confirmation du paiement peut prendre entre 2 et 14 jours. Si vous configurez des *webhooks* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) pour [traiter automatiquement](https://docs.stripe.com/checkout/fulfillment.md#create-payment-event-handler) les commandes avec votre intégration Checkout, il vous faudra peut-être mettre à jour votre code lorsque vous ajoutez vos premiers moyens de paiement à notification différée. > Cette étape n’est requise que si vous prévoyez d’utiliser l’une des moyens de paiement suivantes : { % si $gates.fpx_enable_b2b_documentation %} [FPX](https://docs.stripe.com/payments/fpx/accept-a-payment.md), { % /if %} [prélèvement automatique Bacs](https://docs.stripe.com/payments/bacs-debit/accept-a-payment.md), [virements bancaires](https://docs.stripe.com/payments/bank-transfers/accept-a-payment.md), [Boleto](https://docs.stripe.com/payments/boleto/accept-a-payment.md),[ débits préautorisés canadiens](https://docs.stripe.com/payments/acss-debit/accept-a-payment.md),[ Konbini](https://docs.stripe.com/payments/konbini/accept-a-payment.md),[ OXXO](https://docs.stripe.com/payments/oxxo/accept-a-payment.md),[ Pay by Bank](https://docs.stripe.com/payments/pay-by-bank/accept-a-payment.md),[ prélèvement automatique SEPA](https://docs.stripe.com/payments/sepa-debit/accept-a-payment.md), ou[ ACH Direct Debit](https://docs.stripe.com/payments/ach-direct-debit/accept-a-payment.md). Lorsque vous recevez des paiements avec un moyen de paiement à notification différée, les fonds ne sont pas immédiatement disponibles. Le traitement des fonds peut prendre plusieurs jours. Vous devez donc retarder le *traitement* (Fulfillment is the process of providing the goods or services purchased by a customer, typically after payment is collected) de la commande jusqu’à ce que les fonds soient disponibles sur votre compte. Une fois le paiement effectué, l’état du *PaymentIntent* (The Payment Intents API tracks the lifecycle of a customer checkout flow and triggers additional authentication steps when required by regulatory mandates, custom Radar fraud rules, or redirect-based payment methods) sous-jacent passe de `processing` à `succeeded`. Vous devrez gérer les événements Checkout suivants : | Nom de l’événement | Description | Étapes suivantes | | -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------- | | [checkout.session.completed](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.completed) | Le client a autorisé le paiement par prélèvement en envoyant le formulaire Checkout. | Attendez que le paiement aboutisse ou échoue. | | [checkout.session.async_payment_succeeded](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.async_payment_succeeded) | Le paiement du client a abouti. | Traitez la commande de biens ou de services. | | [checkout.session.async_payment_failed](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.async_payment_failed) | Le paiement a été refusé, ou il a échoué pour une autre raison. | Contactez le client par e-mail et demandez-lui de passer une nouvelle commande. | Ces événements contiennent tous l’objet [Checkout Session](https://docs.stripe.com/api/checkout/sessions.md). Actualisez votre gestionnaire d’événements pour traiter la commande : #### Ruby ```ruby # Don't put any keys in code. See https://docs.stripe.com/keys-best-practices. # Find your keys at https://dashboard.stripe.com/apikeys. Stripe.api_key = '<>' # You can find your endpoint's secret in the output of the `stripe listen` # command you ran earlier endpoint_secret = 'whsec_...' post '/webhook' do event = nil # Verify webhook signature and extract the event # See https://stripe.com/docs/webhooks#verify-events for more information. begin sig_header = request.env['HTTP_STRIPE_SIGNATURE'] payload = request.body.read event = Stripe::Webhook.construct_event(payload, sig_header, endpoint_secret) rescue JSON::ParserError => e # Invalid payload return status 400 rescue Stripe::SignatureVerificationError => e # Invalid signature return status 400 end case event['type']when 'checkout.session.completed' checkout_session = event['data']['object'] # Save an order in your database, marked as 'awaiting payment' create_order(checkout_session) # Check if the order is already paid (for example, from a card payment) # # A delayed notification payment will have an `unpaid` status, as # you're still waiting for funds to be transferred from the customer's # account. if checkout_session.payment_status == 'paid' fulfill_order(checkout_session) end when 'checkout.session.async_payment_succeeded' checkout_session = event['data']['object'] # Fulfill the purchase... fulfill_order(checkout_session) when 'checkout.session.async_payment_failed' session = event['data']['object'] # Send an email to the customer asking them to retry their order email_customer_about_failed_payment(checkout_session) end status 200 end def fulfill_order(checkout_session) # TODO: fill in with your own logic puts "Fulfilling order for #{checkout_session.inspect}" enddef create_order(checkout_session) # TODO: fill in with your own logic puts "Creating order for #{checkout_session.inspect}" end def email_customer_about_failed_payment(checkout_session) # TODO: fill in with your own logic puts "Emailing customer about payment failure for: #{checkout_session.inspect}" end ``` ### Test Vérifiez que `stripe listen` est toujours en cours d’exécution. Testez Checkout en tant qu’utilisateur, comme vous l’avez fait dans les étapes précédentes. Votre gestionnaire d’événements devrait recevoir un événement `checkout.session.completed` et vous devriez l’avoir géré avec succès. Maintenant que vous avez suivi ces étapes, vous pouvez passer en mode production quand bon vous semble. ## Tester votre intégration #### Cartes bancaires | Numéro de carte | Scénario | Méthode de test | | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 4242424242424242 | Le paiement par carte bancaire aboutit et ne nécessite pas d’authentification. | Remplissez le formulaire de paiement par carte bancaire en saisissant le numéro de carte ainsi que la date d’expiration, le CVC et le code postal de votre choix. | | 4000002500003155 | Le paiement par carte bancaire requiert une *authentification* (Strong Customer Authentication (SCA) is a regulatory requirement in effect as of September 14, 2019, that impacts many European online payments. It requires customers to use two-factor authentication like 3D Secure to verify their purchase). | Remplissez le formulaire de paiement par carte bancaire en saisissant le numéro de carte ainsi que la date d’expiration, le CVC et le code postal de votre choix. | | 4000000000009995 | La carte est refusée avec un code de refus de type `insufficient_funds`. | Remplissez le formulaire de paiement par carte bancaire en saisissant le numéro de carte ainsi que la date d’expiration, le CVC et le code postal de votre choix. | | 6205500000000000004 | La carte UnionPay a un numéro d’une longueur variable, allant de 13 à 19 chiffres. | Remplissez le formulaire de paiement par carte bancaire en saisissant le numéro de carte ainsi que la date d’expiration, le CVC et le code postal de votre choix. | #### Portefeuilles | Moyen de paiement | Scénario | Méthode de test | | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Alipay | Le montant dû est réglé via un moyen de paiement avec redirection et à [notification immédiate](https://docs.stripe.com/payments/payment-methods.md#payment-notification). | Choisissez un moyen de paiement avec redirection, renseignez les informations demandées, puis confirmez le paiement. Enfin, cliquez sur **Finaliser le paiement test** sur la page qui s’affiche. | #### Virements avec redirection bancaire | Moyen de paiement | Scénario | Méthode de test | | ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Prélèvement automatique BECS | Le montant dû est réglé par prélèvement automatique BECS. | Remplissez le formulaire à l’aide du numéro de compte `900123456` et du BSB `000000`.La confirmation de la demande de PaymentIntent passe d’abord à l’état `processing`, puis à l’état `succeeded` trois minutes plus tard. | | Prélèvement automatique BECS | Le paiement de votre client échoue avec un code d’erreur `account_closed`. | Remplissez le formulaire à l’aide du numéro de compte `111111113` et du BSB `000000`. | | Bancontact, EPS, iDEAL et Przelewy24 | Votre client ne parvient pas à s’authentifier sur la page de redirection en utilisant un moyen de paiement avec redirection et à notification immédiate. | Choisissez un moyen de paiement avec redirection, renseignez les informations demandées, puis confirmez le paiement. Enfin, cliquez sur **Faire échouer le paiement test** sur la page qui s’affiche. | | Pay by Bank | Le montant dû est réglé via un moyen de paiement avec redirection et à [notification différée](https://docs.stripe.com/payments/payment-methods.md#payment-notification). | Choisissez le moyen de paiement, renseignez les informations demandées, puis confirmez le paiement. Enfin, cliquez sur **Finaliser le paiement test** sur la page qui s’affiche. | | Pay by Bank | Votre client ne parvient pas à s’authentifier sur la page de redirection en utilisant un moyen de paiement avec redirection et à notification différée. | Choisissez le moyen de paiement, renseignez les informations demandées, puis confirmez le paiement. Enfin, cliquez sur **Faire échouer le paiement test** sur la page qui s’affiche. | | BLIK | Les paiements BLIK échouent de diverses manières : échecs immédiats (par exemple, code expiré ou non valide), erreurs différées (refus de la banque) ou expirations du délai (le client n’a pas répondu à temps). | Utiliser des modèles d’e-mail pour [simuler les différents échecs.](https://docs.stripe.com/payments/blik/accept-a-payment.md#simulate-failures) | #### Prélèvements bancaires | Moyen de paiement | Scénario | Méthode de test | | ---------------------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Prélèvement automatique SEPA | Le montant dû est réglé par prélèvement automatique SEPA. | Remplissez le formulaire à l’aide du numéro de compte `AT321904300235473204`. Le PaymentIntent confirmé passe d’abord à l’état processing, puis à l’état succeeded trois minutes plus tard. | | Prélèvement automatique SEPA | L’intention de paiement de votre client passe de l’état `processing` à l’état `requires_payment_method`. | Remplissez le formulaire à l’aide du numéro de compte `AT861904300235473202`. | #### Coupons | Moyen de paiement | Scénario | Méthode de test | | ----------------- | -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | | Boleto, OXXO | Le montant dû est réglé par coupon Boleto ou OXXO. | Sélectionnez Boleto ou OXXO comme moyen de paiement, puis envoyez le paiement. Fermez la boîte de dialogue qui s’affiche. | Consultez la section consacrée aux [tests](https://docs.stripe.com/testing.md) pour obtenir des informations supplémentaires sur la manière de tester votre intégration. # Page intégrée > This is a Page intégrée for when payment-ui is embedded-form. View the full page at https://docs.stripe.com/payments/dashboard-payment-methods?payment-ui=embedded-form. En modifiant votre intégration de manière à ce que vos préférences en matière de moyens de paiement soient extraites du Dashboard, Stripe affiche tous les moyens de paiement compatibles à vos clients au moment du paiement, en tenant compte de la devise choisie ou de toute restriction relative aux moyens de paiement (par exemple, le montant maximal de la transaction). Stripe propose également les moyens de paiement les plus adaptés à chaque client en fonction de sa localisation et de la devise utilisée. La page de paiement affiche en priorité les moyens de paiement offrant le taux de conversion le plus avantageux en fonction de la localisation de votre client, tandis que les moyens de paiement moins pertinents sont masqués sous un menu déroulant. Au moment du paiement, vos clients ont le choix entre différents moyens de paiement populaires selon leur localisation et la devise utilisée. Ils peuvent néanmoins sélectionner un autre moyen de paiement dans le menu déroulant. ## Mettre votre intégration à jour Pour les intégrations Stripe Checkout existantes qui spécifient `payment_method_types`, vous devez supprimer ce paramètre pour migrer les préférences des moyens de paiement vers le Dashboard. Après avoir supprimé le paramètre de votre intégration, certains moyens de paiement sont activés automatiquement, notamment les cartes et les portefeuilles. Le paramètre `currency` limite les moyens de paiement que le client voit dans la session Checkout. > La mise à niveau de votre intégration désactive initialement tous les moyens de paiement autres que ceux activés par défaut pour votre intégration, comme les virements avec redirection bancaire. Si vous avez ajouté des moyens de paiement à votre intégration Checkout, réactivez-les depuis la page des paramètres des moyens de paiement du Dashboard. #### Ruby ```ruby Stripe::Checkout::Session.create({ line_items: [ { price_data: { currency: 'eur', product_data: {name: 'T-shirt'}, unit_amount: 2000, }, quantity: 1, }, ], mode: 'payment', return_url: 'https://example.com/return', ui_mode: 'embedded_page', }) ``` ## Consulter les moyens de paiement disponibles dans le Dashboard Accédez aux [paramètres des moyens de paiement](https://dashboard.stripe.com/settings/payment_methods) pour consulter les moyens de paiement que vous acceptez actuellement. La liste inclut les moyens de paiement activés par défaut, tels que les paiements par carte bancaire. Leur coût est égal ou inférieur à celui des paiements par carte et sont réglés immédiatement. ### Moyens de paiement Par défaut, Stripe active les cartes bancaires et autres moyens de paiement courants. Vous avez la possibilité d’activer ou de désactiver des moyens de paiement directement depuis le [Dashboard Stripe](https://dashboard.stripe.com/settings/payment_methods). Dans Checkout, Stripe évalue la devise et les restrictions éventuelles, puis présente dynamiquement au client les moyens de paiement pris en charge. Pour visualiser l’affichage des moyens de paiement pour les clients, saisissez un ID de transaction ou définissez le montant et la devise d’une commande dans le Dashboard. Vous pouvez activer Apple Pay et Google Pay dans vos [paramètres des moyens de paiement](https://dashboard.stripe.com/settings/payment_methods). Par défaut, Apple Pay est activé et Google Pay est désactivé. Cependant, dans certains cas, Stripe les filtre même lorsqu’ils sont activés. Nous filtrons Google Pay si vous [activez les taxes automatiques](https://docs.stripe.com/tax/checkout.md) sans collecter d’adresse de livraison. Aucune modification de l’intégration n’est requise pour activer Apple Pay ou Google Pay dans les pages hébergées par Stripe de Checkout. Stripe gère ces paiements de la même manière que les autres paiements par carte bancaire. ## Ajouter ou supprimer des moyens de paiement dans votre intégration Sur la page des paramètres des moyens de paiement du Dashboard, vous pouvez consulter les moyens de paiement disponibles et en activer de nouveaux pour votre intégration. Vous pouvez activer certains moyens de paiement simplement en cliquant sur **Activer**. Cependant, vous devrez effectuer quelques étapes supplémentaires pour activer certains moyens de paiement. Dans ce cas, un bouton intitulé **Configurer** ou **Consulter les conditions** s’affiche. Pour en savoir plus sur les moyens de paiement adaptés à votre entreprise, consultez notre [guide des moyens de paiement](https://stripe.com/payments/payment-methods-guide). ## (Recommandé) Gérer les moyens de paiement à notification différée Selon le type de moyen de paiement que vous intégrez, la confirmation du paiement peut prendre entre 2 et 14 jours. Si vous configurez des *webhooks* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) pour [traiter automatiquement](https://docs.stripe.com/checkout/fulfillment.md#create-payment-event-handler) les commandes avec votre intégration Checkout, il vous faudra peut-être mettre à jour votre code lorsque vous ajoutez vos premiers moyens de paiement à notification différée. > Cette étape n’est requise que si vous prévoyez d’utiliser l’une des moyens de paiement suivantes : { % si $gates.fpx_enable_b2b_documentation %} [FPX](https://docs.stripe.com/payments/fpx/accept-a-payment.md), { % /if %} [prélèvement automatique Bacs](https://docs.stripe.com/payments/bacs-debit/accept-a-payment.md), [virements bancaires](https://docs.stripe.com/payments/bank-transfers/accept-a-payment.md), [Boleto](https://docs.stripe.com/payments/boleto/accept-a-payment.md),[ débits préautorisés canadiens](https://docs.stripe.com/payments/acss-debit/accept-a-payment.md),[ Konbini](https://docs.stripe.com/payments/konbini/accept-a-payment.md),[ OXXO](https://docs.stripe.com/payments/oxxo/accept-a-payment.md),[ Pay by Bank](https://docs.stripe.com/payments/pay-by-bank/accept-a-payment.md),[ prélèvement automatique SEPA](https://docs.stripe.com/payments/sepa-debit/accept-a-payment.md), ou[ ACH Direct Debit](https://docs.stripe.com/payments/ach-direct-debit/accept-a-payment.md). Lorsque vous recevez des paiements avec un moyen de paiement à notification différée, les fonds ne sont pas immédiatement disponibles. Le traitement des fonds peut prendre plusieurs jours. Vous devez donc retarder le *traitement* (Fulfillment is the process of providing the goods or services purchased by a customer, typically after payment is collected) de la commande jusqu’à ce que les fonds soient disponibles sur votre compte. Une fois le paiement effectué, l’état du *PaymentIntent* (The Payment Intents API tracks the lifecycle of a customer checkout flow and triggers additional authentication steps when required by regulatory mandates, custom Radar fraud rules, or redirect-based payment methods) sous-jacent passe de `processing` à `succeeded`. Vous devrez gérer les événements Checkout suivants : | Nom de l’événement | Description | Étapes suivantes | | -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------- | | [checkout.session.completed](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.completed) | Le client a autorisé le paiement par prélèvement en envoyant le formulaire Checkout. | Attendez que le paiement aboutisse ou échoue. | | [checkout.session.async_payment_succeeded](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.async_payment_succeeded) | Le paiement du client a abouti. | Traitez la commande de biens ou de services. | | [checkout.session.async_payment_failed](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.async_payment_failed) | Le paiement a été refusé, ou il a échoué pour une autre raison. | Contactez le client par e-mail et demandez-lui de passer une nouvelle commande. | Ces événements contiennent tous l’objet [Checkout Session](https://docs.stripe.com/api/checkout/sessions.md). Actualisez votre gestionnaire d’événements pour traiter la commande : #### Ruby ```ruby # Don't put any keys in code. See https://docs.stripe.com/keys-best-practices. # Find your keys at https://dashboard.stripe.com/apikeys. Stripe.api_key = '<>' # You can find your endpoint's secret in the output of the `stripe listen` # command you ran earlier endpoint_secret = 'whsec_...' post '/webhook' do event = nil # Verify webhook signature and extract the event # See https://stripe.com/docs/webhooks#verify-events for more information. begin sig_header = request.env['HTTP_STRIPE_SIGNATURE'] payload = request.body.read event = Stripe::Webhook.construct_event(payload, sig_header, endpoint_secret) rescue JSON::ParserError => e # Invalid payload return status 400 rescue Stripe::SignatureVerificationError => e # Invalid signature return status 400 end case event['type']when 'checkout.session.completed' checkout_session = event['data']['object'] # Save an order in your database, marked as 'awaiting payment' create_order(checkout_session) # Check if the order is already paid (for example, from a card payment) # # A delayed notification payment will have an `unpaid` status, as # you're still waiting for funds to be transferred from the customer's # account. if checkout_session.payment_status == 'paid' fulfill_order(checkout_session) end when 'checkout.session.async_payment_succeeded' checkout_session = event['data']['object'] # Fulfill the purchase... fulfill_order(checkout_session) when 'checkout.session.async_payment_failed' session = event['data']['object'] # Send an email to the customer asking them to retry their order email_customer_about_failed_payment(checkout_session) end status 200 end def fulfill_order(checkout_session) # TODO: fill in with your own logic puts "Fulfilling order for #{checkout_session.inspect}" enddef create_order(checkout_session) # TODO: fill in with your own logic puts "Creating order for #{checkout_session.inspect}" end def email_customer_about_failed_payment(checkout_session) # TODO: fill in with your own logic puts "Emailing customer about payment failure for: #{checkout_session.inspect}" end ``` ### Test Vérifiez que `stripe listen` est toujours en cours d’exécution. Testez Checkout en tant qu’utilisateur, comme vous l’avez fait dans les étapes précédentes. Votre gestionnaire d’événements devrait recevoir un événement `checkout.session.completed` et vous devriez l’avoir géré avec succès. Maintenant que vous avez suivi ces étapes, vous pouvez passer en mode production quand bon vous semble. ## Tester votre intégration #### Cartes bancaires | Numéro de carte | Scénario | Méthode de test | | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 4242424242424242 | Le paiement par carte bancaire aboutit et ne nécessite pas d’authentification. | Remplissez le formulaire de paiement par carte bancaire en saisissant le numéro de carte ainsi que la date d’expiration, le CVC et le code postal de votre choix. | | 4000002500003155 | Le paiement par carte bancaire requiert une *authentification* (Strong Customer Authentication (SCA) is a regulatory requirement in effect as of September 14, 2019, that impacts many European online payments. It requires customers to use two-factor authentication like 3D Secure to verify their purchase). | Remplissez le formulaire de paiement par carte bancaire en saisissant le numéro de carte ainsi que la date d’expiration, le CVC et le code postal de votre choix. | | 4000000000009995 | La carte est refusée avec un code de refus de type `insufficient_funds`. | Remplissez le formulaire de paiement par carte bancaire en saisissant le numéro de carte ainsi que la date d’expiration, le CVC et le code postal de votre choix. | | 6205500000000000004 | La carte UnionPay a un numéro d’une longueur variable, allant de 13 à 19 chiffres. | Remplissez le formulaire de paiement par carte bancaire en saisissant le numéro de carte ainsi que la date d’expiration, le CVC et le code postal de votre choix. | #### Portefeuilles | Moyen de paiement | Scénario | Méthode de test | | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Alipay | Le montant dû est réglé via un moyen de paiement avec redirection et à [notification immédiate](https://docs.stripe.com/payments/payment-methods.md#payment-notification). | Choisissez un moyen de paiement avec redirection, renseignez les informations demandées, puis confirmez le paiement. Enfin, cliquez sur **Finaliser le paiement test** sur la page qui s’affiche. | #### Virements avec redirection bancaire | Moyen de paiement | Scénario | Méthode de test | | ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Prélèvement automatique BECS | Le montant dû est réglé par prélèvement automatique BECS. | Remplissez le formulaire à l’aide du numéro de compte `900123456` et du BSB `000000`.La confirmation de la demande de PaymentIntent passe d’abord à l’état `processing`, puis à l’état `succeeded` trois minutes plus tard. | | Prélèvement automatique BECS | Le paiement de votre client échoue avec un code d’erreur `account_closed`. | Remplissez le formulaire à l’aide du numéro de compte `111111113` et du BSB `000000`. | | Bancontact, EPS, iDEAL et Przelewy24 | Votre client ne parvient pas à s’authentifier sur la page de redirection en utilisant un moyen de paiement avec redirection et à notification immédiate. | Choisissez un moyen de paiement avec redirection, renseignez les informations demandées, puis confirmez le paiement. Enfin, cliquez sur **Faire échouer le paiement test** sur la page qui s’affiche. | | Pay by Bank | Le montant dû est réglé via un moyen de paiement avec redirection et à [notification différée](https://docs.stripe.com/payments/payment-methods.md#payment-notification). | Choisissez le moyen de paiement, renseignez les informations demandées, puis confirmez le paiement. Enfin, cliquez sur **Finaliser le paiement test** sur la page qui s’affiche. | | Pay by Bank | Votre client ne parvient pas à s’authentifier sur la page de redirection en utilisant un moyen de paiement avec redirection et à notification différée. | Choisissez le moyen de paiement, renseignez les informations demandées, puis confirmez le paiement. Enfin, cliquez sur **Faire échouer le paiement test** sur la page qui s’affiche. | | BLIK | Les paiements BLIK échouent de diverses manières : échecs immédiats (par exemple, code expiré ou non valide), erreurs différées (refus de la banque) ou expirations du délai (le client n’a pas répondu à temps). | Utiliser des modèles d’e-mail pour [simuler les différents échecs.](https://docs.stripe.com/payments/blik/accept-a-payment.md#simulate-failures) | #### Prélèvements bancaires | Moyen de paiement | Scénario | Méthode de test | | ---------------------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Prélèvement automatique SEPA | Le montant dû est réglé par prélèvement automatique SEPA. | Remplissez le formulaire à l’aide du numéro de compte `AT321904300235473204`. Le PaymentIntent confirmé passe d’abord à l’état processing, puis à l’état succeeded trois minutes plus tard. | | Prélèvement automatique SEPA | L’intention de paiement de votre client passe de l’état `processing` à l’état `requires_payment_method`. | Remplissez le formulaire à l’aide du numéro de compte `AT861904300235473202`. | #### Coupons | Moyen de paiement | Scénario | Méthode de test | | ----------------- | -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | | Boleto, OXXO | Le montant dû est réglé par coupon Boleto ou OXXO. | Sélectionnez Boleto ou OXXO comme moyen de paiement, puis envoyez le paiement. Fermez la boîte de dialogue qui s’affiche. | Consultez la section consacrée aux [tests](https://docs.stripe.com/testing.md) pour obtenir des informations supplémentaires sur la manière de tester votre intégration.