Accepter un paiement PayPal
Comment accepter les paiements PayPal, un portefeuille électronique populaire auprès des entreprises européennes.
Configurer StripeCôté serveurCôté client
Tout d’abord, il vous faut un compte Stripe. Inscrivez-vous.
Côté serveur
Pour cette intégration, votre serveur doit être doté d’endpoints qui communiquent avec l’API Stripe. Utilisez les bibliothèques officielles pour accéder à l’API Stripe depuis votre serveur :
Côté client
Le SDK iOS de Stripe est disponible en open source et fait l’objet d’une documentation complète. Il est également compatible avec les applications prenant en charge iOS 13 et les versions ultérieures.
Remarque
Pour obtenir de plus amples informations sur la version la plus récente du SDK et ses versions antérieures, consultez la page des versions sur GitHub. Pour recevoir une notification lors de la publication d’une nouvelle version, surveillez les versions à partir du référentiel.
Configurez le SDK avec votre clé publiable Stripe au démarrage de votre application. Cela lui permet d’envoyer des requêtes à l’API Stripe.
Remarque
Utilisez vos clés de test lors de vos activités de test et de développement et vos clés du mode production pour la publication de votre application.
Créer un PaymentIntentCôté serveurCôté client
Côté serveur
Stripe utilise un objet de paiement, appelé PaymentIntent, pour suivre et gérer tous les états du paiement jusqu’à sa finalisation. Créez un PaymentIntent
sur votre serveur, en spécifiant le montant à collecter et la devise. Si vous avez déjà créé une intégration à l’aide de l’API Payment Intents, ajoutez paypal
à la liste des types de moyens de paiement de votre PaymentIntent.
Le PaymentIntent renvoyé contient la clé secrète du client, qui est utilisée pour finaliser le paiement de manière sécurisée au lieu de transmettre la totalité de l’objet PaymentIntent. Renvoyez la clé secrète au client pour pouvoir l’utiliser ultérieurement.
Inclure une description personnalisée
Par défaut, les détails de la commande sur la page d’activité d’achat des utilisateurs PayPal affichent le montant de la commande. Vous pouvez modifier cette configuration en saisissant une description personnalisée dans la propriété description
.
Personnaliser la langue préférée
Par défaut, la page d’autorisation PayPal est localisée en fonction de plusieurs variables telles que le pays du marchand. Vous pouvez définir la langue préférée de votre client à l’aide de la propriété preferred_
. La valeur doit être un code de langue composé de deux minuscules, suivi d’un trait d’union (-
), puis d’un code de pays à deux majuscules. Par exemple, la valeur pour un utilisateur francophone basé en Belgique est fr-BE
. Voir langues prises en charge pour plus d’informations.
Libellés de relevé bancaire avec PayPal
Le libellé qui apparaît sur le relevé bancaire de l’acheteur est défini par PayPal et est par défaut PAYPAL *YOUR_
. Si vous définissez le champ statement_
lors de la création du PaymentIntent
, sa valeur est ajoutée à celle définie par PayPal, dans la limite de 22 caractères.
Par exemple, si le nom de votre entreprise dans PayPal est BUSINESS
et que vous configurez statement_
sur order_
, la mention PAYPAL *BUSINESS order
apparaîtra sur le relevé de compte bancaire de vos clients.
Côté client
Côté client, demandez un PaymentIntent auprès de votre serveur et sauvegardez la clé secrète du client qu’il contient.
Soumettre le paiement à StripeCôté client
Lorsqu’un client appuie sur le bouton de paiement avec PayPal, confirmez le PaymentIntent
pour finaliser le paiement. Configurez un objet STPPaymentIntentParams
avec la clé secrète du client du PaymentIntent
.
La clé secrète est différente des clés API qui servent à authentifier vos requêtes à l’API Stripe. Elle doit être utilisée avec prudence, car elle peut servir à réaliser le paiement. Ne l’enregistrez pas, ne l’intégrez pas dans des URL et ne la dévoilez à personne d’autre que votre client.
Configurer une URL de redirection
Le SDK iOS présente une vue Web dans votre application afin d’effectuer le paiement Giropay. Si vous souhaitez qu’une fois l’authentification effectuée, la vue Web disparaisse automatiquement, sans que votre client ait à la fermer, vous pouvez paramétrer une URL personnalisée ou un lien universel, puis configurer votre délégation d’application de façon à transférer l’URL au SDK.
Transmettez l’URL en tant que return_
lorsque vous confirmez le PaymentIntent. Une fois l’authentification effectuée sur la vue Web, Stripe redirige l’utilisateur vers la return_
.
Confirmer le paiement PayPal
Finalisez le paiement en appelant STPPaymentHandler confirmPayment
. Une vue Web s’affiche pour permettre au client d’effectuer le paiement avec PayPal. Le bloc de finalisation est ensuite appelé avec le résultat du paiement.
Vous trouverez le nom, l’adresse e-mail, l’ID du payeur et l’ID de la transaction du payeur dans la propriété payment_method_details.
Champ | Valeur |
---|---|
payer_ | L’adresse e-mail du payeur sur son compte PayPal. |
payer_ | Le nom du payeur sur son compte PayPal. |
payer_ | L’identifiant unique du compte PayPal du payeur. |
transaction_ | Un ID de transaction unique généré par PayPal. |
{ "charges": { "data": [ { "payment_method_details": { "paypal": { "payer_id": "H54KFE9XXVVYJ", "payer_email": "jenny@example.com", "payer_name": "Jenny Rosen", "transaction_id": "89W40396MK104212M" }, "type": "paypal" }, "id": "src_16xhynE8WzK49JbAs9M21jaR", "object": "source", "amount": 1099, "client_secret": "src_client_secret_UfwvW2WHpZ0s3QEn9g5x7waU", "created": 1445277809, "currency": "eur", "flow": "redirect",