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 Stripe Android est disponible en open source et fait l’objet d’une documentation complète.
Pour installer le SDK, ajoutez stripe-android
au bloc dependencies
de votre fichier app/build.gradle :
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 savoir quand une nouvelle version est disponible, surveillez les versions du référentiel.
Configurez le SDK avec votre clé publique Stripe de façon à ce qu’il puisse envoyer des requêtes à l’API Stripe, par exemple à la sous-classe Application
:
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.
Les échantillons de code de Stripe utilisent également OkHttp et GSON pour envoyer des requêtes HTTP à un serveur.
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
Récupérez la clé secrète du client auprès du SetupIntent que vous avez créé, puis appelez la fonction confirm de PaymentLauncher. Une page Web s’affiche dans laquelle le client peut finaliser la configuration sur le site Web ou l’application de sa banque. Une fois l’opération terminée, onPaymentResult
est 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",