Accepter un paiement avec ScalapayVersion bêta privée
Découvrez comment configurer votre intégration avec Scalapay.
Use the Payment Element to embed a custom Stripe payment form in your website or application and offer payment methods to customers. For advanced configurations and customizations, refer to the Accept a Payment integration guide.
Configurer StripeCôté serveur
Pour commencer, créez un compte Stripe.
Utilisez nos bibliothèques officielles pour accéder à l’API Stripe depuis votre application :
Collecter les informations de paiementCôté client
Vous êtes prêt à recueillir les informations de paiement de votre client à l’aide du composant Element Payment, un composant préconfiguré de l’interface utilisateur qui simplifie cette collecte pour de nombreux moyens de paiement.
Le Payment Element contient un iframe qui envoie les informations de paiement à Stripe de manière sécurisée via une connexion HTTPS. Évitez de placer le Payment Element dans un autre iframe, car certains moyens de paiement nécessitent une redirection vers une autre page pour la confirmation du paiement.
Pour que votre intégration fonctionne, l’adresse de la page de paiement doit commencer par https://
et non par http://
. Vous pouvez tester votre intégration sans utiliser le protocole HTTPS, mais n’oubliez pas de l’activer lorsque vous souhaitez commencer à accepter des paiements réels.
Vous pouvez personnaliser le Payment Element pour l’adapter au design de votre site en transmettant l’objet Appearance dans les options
lors de la création du fournisseur Elements
.
Collecter les adresses
Par défaut, le composant Payment Element ne collecte que les informations nécessaires relatives à l’adresse de facturation. Si vous souhaitez obtenir l’adresse de facturation (par exemple, pour calculer la taxe sur les biens et services numériques) ou l’adresse de livraison complètes d’un client, utilisez le composant Address Element.
Créer un PaymentIntentCôté serveur
Exécuter une logique métier personnalisée immédiatement avant la confirmation du paiement
Accédez à l’étape 5 du guide « Finaliser » les paiements pour exécuter votre logique métier personnalisée immédiatement avant la confirmation du paiement. Sinon, suivez la procédure ci-dessous pour une intégration plus simple, qui utilise stripe.
au niveau du client afin de confirmer le paiement et gérer les actions qui pourraient suivre.
Envoyer le paiement à StripeCôté client
Utilisez stripe.confirmPayment pour finaliser le paiement à l’aide des informations du composant Payment Element.
Ajoutez un paramètre return_url à cette fonction pour indiquer à Stripe où rediriger l’utilisateur une fois le paiement effectué. Dans un premier temps, votre utilisateur sera peut-être redirigé vers un site intermédiaire, comme une page d’autorisation bancaire, avant d’être redirigé vers l’URL return_
. Une fois le paiement par carte abouti, l’utilisateur est immédiatement redirigé vers l’URL return_
.
Si vous ne souhaitez pas effectuer de redirection à la fin des paiements par carte, vous pouvez définir le paramètre redirect sur if_
. De cette manière, seuls les clients qui choisissent un moyen de paiement avec redirection seront redirigés.
Tester votre intégration
To test your integration, choose the payment method and tap Pay. In a sandbox, this redirects you to a test payment page where you can approve or decline the payment.
In live mode, tapping Pay redirects you to the Scalapay website—you don’t have the option to approve or decline the payment with Scalapay.
Codes d’erreur
Le tableau suivant détaille les codes d’erreur courants et les actions recommandées :
Code d’erreur | Action recommandée |
---|---|
payment_ | Enter a supported currency. |
missing_ | Consultez le message d’erreur pour en savoir plus sur le paramètre requis. |
payment_ | Ce code peut apparaître dans le champ last_payment_error.code d’un PaymentIntent. Consultez le message d’erreur pour connaître la raison détaillée de l’échec et obtenir une suggestion de traitement de l’erreur. |
payment_ | Précisez une return_ lors de la confirmation d’un PaymentIntent. |