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.
curl https://api.stripe.com/v1/payment_intents \
-u "sk_test_4eC39HqLyjWDarjtT1zdp7dc
:" \
-d amount=1099 \
-d currency=usd
Confirmations côté client avec Stripe.js
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.
const form = document.getElementById('payment-form');
form.addEventListener('submit', async (event) => {
event.preventDefault();
const {error} = await stripe.confirmPayment({
elements,
confirmParams: {
return_url: 'https://example.com/return_url',
},
});
if (error) {
const messageContainer = document.querySelector('#error-message');
messageContainer.textContent = error.message;
} else {
}
});
Confirmation côté serveur
Si vous utilisez la confirmation côté serveur, vous devez utiliser le paramètre return_url dans votre intégration.
curl https://api.stripe.com/v1/payment_intents \
-u "sk_test_4eC39HqLyjWDarjtT1zdp7dc
:" \
-d amount=1099 \
-d currency=usd \
-d confirm=true \
-d payment_method= \
--data-urlencode return_url="https://example.com/return_url"
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.
curl https://api.stripe.com/v1/payment_intents \
-u "sk_test_4eC39HqLyjWDarjtT1zdp7dc
:" \
-d amount=1099 \
-d currency=usd \
-d confirm=true \
-d payment_method= \
-d "automatic_payment_methods[enabled]"=true \
-d "automatic_payment_methods[allow_redirects]"=never
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.
curl https://api.stripe.com/v1/payment_intents \
-u "sk_test_4eC39HqLyjWDarjtT1zdp7dc
:" \
-d amount=1099 \
-d currency=usd \
-d confirm=true \
-d payment_method= \
-d "payment_method_types[]"=card