# 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 qui augmentent le taux de conversion en fonction de la localisation de votre client, tandis que les moyens de paiement moins pertinents sont masqués sous un menu de débordement. Vos clients voient plusieurs moyens de paiement qui sont pertinents pour leur emplacement et leur devise au moment du paiement, mais ils ont toujours la possibilité de choisir un autre moyen de paiement dans le menu de débordement. ## Mettre l'intégration à jour Pour les intégrations Stripe Checkout existantes qui précisent les types `payment_method_types`, vous devez supprimer ce paramètre pour pouvoir migrer les préférences des moyens de paiement vers le Dashboard. Une fois que vous avez retiré le paramètre de votre intégration, certains moyens de paiement sont activés automatiquement, notamment les cartes et les portefeuilles numériques. 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 redirections vers l’institution financière. Si vous avez ajouté des moyens de paiement à votre intégration Checkout, réactivez-les à partir de la page des paramètres des moyens de paiement du Dashboard. #### 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. client = Stripe::StripeClient.new('<>') client.v1.checkout.sessions.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. Cette liste inclut les moyens de paiement activés par défaut, tels que les paiements par carte. Leur coût est égal ou inférieur à celui des paiements par carte et sont réglés immédiatement. ### Modes de paiement Par défaut, Stripe active les cartes et d’autres modes de paiement courants. Vous pouvez activer ou désactiver des moyens de paiement individuels dans 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 modes de paiement pris en charge. Pour voir comment vos moyens de paiement sont affichés pour les clients, saisissez un ID de transaction ou définissez un montant et une devise de 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. ## Ajouter ou supprimer des moyens de paiement dans une 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 découvrir quels moyens de paiement peuvent convenir à 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’un des modes de paiement suivants : [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), [prélèvements automatiques 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 SEPA](https://docs.stripe.com/payments/sepa-debit/accept-a-payment.md) ou [prélèvement automatique ACH](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 a échoué pour une autre raison. | Communiquez avec votre client par courriel et demandez-lui de passer une nouvelle commande. | Ces événements contiennent tous l’objet de la [session Checkout](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. client = Stripe::StripeClient.new('<>') # 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. ## Tester une intégration #### Cartes | Numéro de carte | Scénario | Comment tester | | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 4242424242424242 | Le paiement par carte est réussi et ne nécessite pas d’authentification. | Remplissez le formulaire de paiement par carte de crédit en saisissant le numéro de carte de crédit ainsi qu’une date d’expiration, un CVC et un code postal de votre choix. | | 4000002500003155 | Le paiement par carte 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 de crédit en saisissant le numéro de carte de crédit ainsi qu’une date d’expiration, un CVC et un 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 de crédit en saisissant le numéro de carte de crédit ainsi qu’une date d’expiration, un CVC et un code postal de votre choix. | | 6205500000000000004 | Le numéro de carte UnionPay a une longueur variable de 13 à 19 chiffres. | Remplissez le formulaire de paiement par carte de crédit en saisissant le numéro de carte de crédit ainsi qu’une date d’expiration, un CVC et un code postal de votre choix. | #### Portefeuilles | Moyen de paiement | Scénario | Comment tester | | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Alipay | Le montant dû est réglé par un mode 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 de redirection. | #### Redirections vers l'institution financière | Moyen de paiement | Scénario | Comment tester | | ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 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 BSB `000000`. Le PaymentIntent confirmé passe initialement à `processing`, puis passe à l’état de `succeeded` 3 minutes plus tard. | | Prélèvement automatique BECS | Le paiement de votre client échoue avec le code `account_closed`. | Remplissez le formulaire à l’aide du numéro de compte `111111113` et 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 de redirection. | | Pay by Bank | Le montant dû est réglé par un mode 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 différentes manières : des échecs immédiats (par exemple, le code est expiré ou non valide), des erreurs retardées (refus de la banque) ou des dépassements de délai (le client n’a pas répondu à temps). | Utilisez des modèles de courriel 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 | Comment tester | | ---------------------------- | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Prélèvement automatique SEPA | Le montant dû est réglé par prélèvement 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’état du PaymentIntent de votre client passe de `processing` à `requires_payment_method`. | Remplissez le formulaire en utilisant le numéro de compte `AT861904300235473202`. | #### Bons d'achat | Moyen de paiement | Scénario | Comment tester | | ----------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | | Boleto, OXXO | Votre client paie avec un bon d’achat 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 [Test](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 qui augmentent le taux de conversion en fonction de la localisation de votre client, tandis que les moyens de paiement moins pertinents sont masqués sous un menu de débordement. Vos clients voient plusieurs moyens de paiement qui sont pertinents pour leur emplacement et leur devise au moment du paiement, mais ils ont toujours la possibilité de choisir un autre moyen de paiement dans le menu de débordement. ## Mettre l'intégration à jour Pour les intégrations Stripe Checkout existantes qui précisent les types `payment_method_types`, vous devez supprimer ce paramètre pour pouvoir migrer les préférences des moyens de paiement vers le Dashboard. Une fois que vous avez retiré le paramètre de votre intégration, certains moyens de paiement sont activés automatiquement, notamment les cartes et les portefeuilles numériques. 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 redirections vers l’institution financière. Si vous avez ajouté des moyens de paiement à votre intégration Checkout, réactivez-les à partir de la page des paramètres des moyens de paiement du Dashboard. #### 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. client = Stripe::StripeClient.new('<>') client.v1.checkout.sessions.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. Cette liste inclut les moyens de paiement activés par défaut, tels que les paiements par carte. Leur coût est égal ou inférieur à celui des paiements par carte et sont réglés immédiatement. ### Modes de paiement Par défaut, Stripe active les cartes et d’autres modes de paiement courants. Vous pouvez activer ou désactiver des moyens de paiement individuels dans 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 modes de paiement pris en charge. Pour voir comment vos moyens de paiement sont affichés pour les clients, saisissez un ID de transaction ou définissez un montant et une devise de 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. ## Ajouter ou supprimer des moyens de paiement dans une 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 découvrir quels moyens de paiement peuvent convenir à 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’un des modes de paiement suivants : [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), [prélèvements automatiques 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 SEPA](https://docs.stripe.com/payments/sepa-debit/accept-a-payment.md) ou [prélèvement automatique ACH](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 a échoué pour une autre raison. | Communiquez avec votre client par courriel et demandez-lui de passer une nouvelle commande. | Ces événements contiennent tous l’objet de la [session Checkout](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. client = Stripe::StripeClient.new('<>') # 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. ## Tester une intégration #### Cartes | Numéro de carte | Scénario | Comment tester | | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 4242424242424242 | Le paiement par carte est réussi et ne nécessite pas d’authentification. | Remplissez le formulaire de paiement par carte de crédit en saisissant le numéro de carte de crédit ainsi qu’une date d’expiration, un CVC et un code postal de votre choix. | | 4000002500003155 | Le paiement par carte 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 de crédit en saisissant le numéro de carte de crédit ainsi qu’une date d’expiration, un CVC et un 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 de crédit en saisissant le numéro de carte de crédit ainsi qu’une date d’expiration, un CVC et un code postal de votre choix. | | 6205500000000000004 | Le numéro de carte UnionPay a une longueur variable de 13 à 19 chiffres. | Remplissez le formulaire de paiement par carte de crédit en saisissant le numéro de carte de crédit ainsi qu’une date d’expiration, un CVC et un code postal de votre choix. | #### Portefeuilles | Moyen de paiement | Scénario | Comment tester | | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Alipay | Le montant dû est réglé par un mode 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 de redirection. | #### Redirections vers l'institution financière | Moyen de paiement | Scénario | Comment tester | | ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 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 BSB `000000`. Le PaymentIntent confirmé passe initialement à `processing`, puis passe à l’état de `succeeded` 3 minutes plus tard. | | Prélèvement automatique BECS | Le paiement de votre client échoue avec le code `account_closed`. | Remplissez le formulaire à l’aide du numéro de compte `111111113` et 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 de redirection. | | Pay by Bank | Le montant dû est réglé par un mode 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 différentes manières : des échecs immédiats (par exemple, le code est expiré ou non valide), des erreurs retardées (refus de la banque) ou des dépassements de délai (le client n’a pas répondu à temps). | Utilisez des modèles de courriel 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 | Comment tester | | ---------------------------- | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Prélèvement automatique SEPA | Le montant dû est réglé par prélèvement 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’état du PaymentIntent de votre client passe de `processing` à `requires_payment_method`. | Remplissez le formulaire en utilisant le numéro de compte `AT861904300235473202`. | #### Bons d'achat | Moyen de paiement | Scénario | Comment tester | | ----------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | | Boleto, OXXO | Votre client paie avec un bon d’achat 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 [Test](https://docs.stripe.com/testing.md) pour obtenir des informations supplémentaires sur la manière de tester votre intégration.