Comment intégrer le paiement pré approuvé paypal sur son site web - paypal/rest-api-sdk-php (abandonné)

Comment intégrer le paiement pré approuvé paypal sur son site web – paypal/rest-api-sdk-php (abandonné)

Pour intégrer un paiement pré-approuvé PayPal sur votre site web, vous devez suivre les étapes ci-dessous :

1. Configurer un compte PayPal Business

  • Assurez-vous que vous avez un compte PayPal Business. Si ce n’est pas encore fait, vous pouvez en créer un via le site officiel de PayPal.

2. Activer PayPal Payments API

  • Accédez à votre tableau de bord PayPal Developer (developer.paypal.com).
  • Connectez-vous avec votre compte Business.
  • Sous My Apps & Credentials, générez les informations d’identification (Client ID et Secret) pour l’environnement Sandbox (pour les tests) ou Live (pour la production).
  • Activez l’API Reference Transactions pour permettre les paiements pré-approuvés. Cette fonctionnalité n’est pas activée par défaut, et vous devrez peut-être contacter PayPal pour l’activer.

3. Configurer l’environnement de développement

  • Installez un SDK ou une bibliothèque PayPal pour faciliter l’intégration. Par exemple, vous pouvez utiliser le SDK PayPal PHP ou JS.

Pour PHP, vous pouvez utiliser Composer pour installer le SDK PayPal :

composer require paypal/rest-api-sdk-php

Pour JavaScript, incluez simplement le script PayPal sur votre page :

<script src="https://www.paypal.com/sdk/js?client-id=YOUR_CLIENT_ID"></script>

4. Créer un paiement pré-approuvé

Utilisez l’API PayPal pour créer un paiement pré-approuvé. Voici les étapes principales à suivre :

  • Créez une Billing Agreement (contrat de facturation) qui permet au client de pré-approuver les paiements futurs.
  • Générez un jeton de paiement à partir de l’accord de facturation.
  • Lorsque le client approuve le paiement, vous pouvez ensuite effectuer des paiements récurrents ou pré-approuvés sans avoir à demander l’approbation du client à chaque fois.

Exemple d’appel API pour créer une Billing Agreement :

$agreement = new Agreement();
$agreement->setName('Payment Agreement')
->setDescription('Agreement for future payments')
->setStartDate('2023-12-20T10:00:00Z');

$plan = new Plan();
$plan->setId('P-xxxxxxxxxxxx');
$agreement->setPlan($plan);

$payer = new Payer();
$payer->setPaymentMethod('paypal');
$agreement->setPayer($payer);

try {
$agreement->create($apiContext);
$approvalUrl = $agreement->getApprovalLink();
echo "Redirect user to: " . $approvalUrl;
} catch (Exception $ex) {
// Handle exception
}

5. Capturer les paiements futurs

Une fois le client redirigé vers l’URL de confirmation PayPal, vous pouvez utiliser le jeton retourné pour capturer les paiements à l’avenir.

Exemple pour capturer un paiement pré-approuvé :

$agreement = new Agreement();
$agreement->execute($token, $apiContext);

6. Tester l’intégration

Avant de passer en production, utilisez l’environnement Sandbox pour tester toutes les transactions. Assurez-vous que les paiements sont correctement capturés et que vous pouvez exécuter des transactions récurrentes ou pré-approuvées.

7. Passer en production

Une fois les tests terminés, remplacez les informations d’identification Sandbox par celles de l’environnement Live dans votre code.

Cette intégration vous permet de débiter le compte PayPal du client de manière automatique sans demander de nouvelles autorisations après l’approbation initiale.