Dans les versions antérieures de l’API Stripe, si vous ne spécifiiez pas de paramètre payment_method_types lors de la requête de création, Stripe utilisait par défaut le moyen de paiement par carte pour les PaymentIntents et pour les SetupIntents.
Désormais, si vous ne spécifiez pas le paramètre payment_method_types dans la demande de création, Stripe applique par défaut les moyens de paiement admissibles que vous gérez depuis votre Dashboard à vos PaymentIntents et SetupIntents.
Payment methods
By default, Stripe enables cards and other common payment methods. You can turn individual payment methods on or off in the Stripe Dashboard. In Checkout, Stripe evaluates the currency and any restrictions, then dynamically presents the supported payment methods to the customer.
To see how your payment methods appear to customers, enter a transaction ID or set an order amount and currency in the Dashboard.
You can enable Apple Pay and Google Pay in your payment methods settings. By default, Apple Pay is enabled and Google Pay is disabled. However, in some cases Stripe filters them out even when they’re enabled. We filter Google Pay if you enable automatic tax without collecting a shipping address.
Checkout’s Stripe-hosted pages don’t need integration changes to enable Apple Pay or Google Pay. Stripe handles these payments the same way as other card payments.
Mettre à jour vos flux de paiement
Choisissez le chemin de mise à niveau qui correspond à votre intégration Stripe actuelle :
Si votre intégration utilise le Card Element ou des Elements de moyens de paiement individuels, nous vous recommandons de migrer vers les Payment Elements. Cette intégration unique et unifiée vous permet d’accepter plus de 25 moyens de paiement différents.
Créer le PaymentIntent
Dans cette version de l’API, la spécification du paramètre automatic_payment_methods.enabled est facultatif. Si vous ne le spécifiez pas, Stripe considère que la valeur est true, ce qui active sa fonctionnalité par défaut.
Si votre intégration utilise Stripe.js pour confirmer les paiements avec confirmPayment ou par moyen de paiement, vos processus existants restent les mêmes et ne nécessitent aucun autre changement.
Lorsque vous confirmez des paiements, nous vous recommandons de fournir le paramètre return_url. Ce paramètre vous permet d’accepter des moyens de paiement qui nécessitent une redirection.
checkout.js
const form = document.getElementById('payment-form');
form.addEventListener('submit',async(event)=>{
event.preventDefault();const{error}=await stripe.confirmPayment({//`Elements` instance that was used to create the Payment Element
elements,
confirmParams:{
return_url:'https://example.com/return_url',},});if(error){// This point will only be reached if there is an immediate error when// confirming the payment. Show error to your customer (for example, payment// details incomplete)const messageContainer = document.querySelector('#error-message');
messageContainer.textContent= error.message;}else{// Your customer will be redirected to your `return_url`. For some payment// methods like iDEAL, your customer will be redirected to an intermediate// site first to authorize the payment, then redirected to the `return_url`.}});
Confirmation côté serveur
Si vous utilisez la confirmation côté serveur, vous devez utiliser le paramètre return_url dans votre intégration.
Vous pouvez également créer le PaymentIntent ou le SetupIntent avec le paramètre automatic_payment_methods.allow_redirects défini sur never. Cela désactive l’exigence return_url lors de la confirmation. Vous pouvez toujours gérer les moyens de paiement à partir du Dashboard, mais les moyens de paiement qui nécessitent une redirection ne seront pas admissibles.
Enfin, vous pouvez créer le PaymentIntent ou le SetupIntent avec le paramètre payment_method_types. Cela désactive également l’exigence return_url lors de la confirmation. Avec cette option, vous ne pouvez pas gérer les moyens de paiement à partir du Dashboard.