Avec la popularité croissante des transactions en ligne, les modes de paiement se diversifient progressivement, parmi lesquels PayPal est très populaire comme moyen de paiement largement utilisé. Si vous souhaitez utiliser PayPal pour traiter des transactions sur votre site Web ou votre application, vous pouvez utiliser PHP et l'API PayPal pour terminer facilement le processus de paiement.
L'API PayPal est un ensemble d'interfaces de programmation permettant d'interagir avec PayPal. Grâce à l'API, vous pouvez recevoir des notifications de PayPal, consulter les dernières informations sur les transactions, lancer des demandes de paiement et bien plus encore. Dans cet article, nous expliquerons comment effectuer des paiements en utilisant PHP et l'API PayPal. Commençons !
Étape 1 : Obtenir les informations d'identification de l'API PayPal
Avant d'utiliser l'API PayPal, vous devez obtenir les informations d'identification de l'API. Cela vous permettra de communiquer avec PayPal via l'API et d'effectuer des transactions. Pour obtenir des informations d'identification, suivez ces étapes :
1 Visitez le site Web des développeurs PayPal, connectez-vous à votre compte et cliquez sur Centre de compte.
2. Cliquez sur "Profil".
3. Cliquez sur « Mes applications et informations d'identification ».
4. Cliquez sur "Créer des informations d'identification".
5. Sélectionnez le type d'identifiant API (et ainsi de suite) :
- "Paiement" représente l'application à partir de laquelle vous recevrez des paiements.
- Les « Paiements » représentent les paiements aux utilisateurs que votre application effectuera.
- Les « Abonnements et Contrats » représentent les paiements récurrents qui seront effectués par votre application.
6. Entrez le nom de votre application et une description facultative, puis cliquez sur Créer des informations d'identification.
7. Vous verrez vos informations d'identification API. Veuillez les conserver dans un endroit sûr car vous en aurez besoin dans votre code.
Étape 2 : Connectez-vous à PayPal
Vous devez maintenant vous connecter à l'API PayPal dans le code. Pour vous connecter à PayPal, utilisez le code suivant :
$api_endpoint = 'https://api.sandbox.paypal.com'; // Sandbox endpoint // $api_endpoint = 'https://api.paypal.com'; // Live endpoint $client_id = 'YOUR_CLIENT_ID_HERE'; $client_secret = 'YOUR_CLIENT_SECRET_HERE'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $api_endpoint."/v1/oauth2/token"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_USERPWD, $client_id.":".$client_secret); curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials"); $result = curl_exec($ch); $response = json_decode($result); $access_token = $response->access_token;
Cela vous connectera à l'API PayPal dans un environnement de test. Pour vous connecter à l'environnement de production, décommentez la ligne 5 et commentez la ligne 4.
Étape 3 : Lancer une demande de paiement
Maintenant que vous êtes connecté à l'API PayPal, vous pouvez lancer une demande de paiement. Pour lancer une demande de paiement, utilisez le code suivant :
$post_data = '{ "intent": "sale", "payer": { "payment_method": "paypal" }, "transactions": [{ "amount": { "total": "10.00", "currency": "USD" } }], "redirect_urls": { "return_url": "https://example.com/success", "cancel_url": "https://example.com/cancel" } }'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $api_endpoint."/v1/payments/payment"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); $headers = array( "Content-Type: application/json", "Authorization: Bearer ".$access_token ); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $result = curl_exec($ch); $response = json_decode($result);
Cela lancera une demande de paiement de 10 $ et redirigera l'utilisateur vers une page de réussite ou d'annulation. Vous pouvez modifier le montant et la devise selon vos besoins.
Étape 4 : Obtenir les informations de paiement
Une fois le paiement réussi, vous devez obtenir les informations de paiement PayPal afin de l'enregistrer dans la base de données ou de le traiter d'une autre manière. Pour obtenir les informations de paiement, utilisez le code suivant :
$payment_id = $response->id; $payer_id = $_GET['PayerID'] // Payer ID from the URL parameter $execute_payment = '{ "payer_id": "'.$payer_id.'" }'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $api_endpoint."/v1/payments/payment/".$payment_id."/execute"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $execute_payment); $headers = array( "Content-Type: application/json", "Authorization: Bearer ".$access_token ); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $result = curl_exec($ch); $response = json_decode($result); $transaction_id = $response->transactions[0]->related_resources[0]->sale->id;
Cela obtiendra l'ID de paiement et l'ID de transaction, vous pourrez les enregistrer dans la base de données ou les traiter d'une autre manière.
Étape 5 : Gérer les notifications PayPal
Enfin, PayPal enverra des notifications à votre application lorsqu'une transaction aura lieu. Vous pouvez gérer les notifications en utilisant le code suivant :
$http_body = file_get_contents('php://input'); $notification = json_decode($http_body); if($notification->event_type == "PAYMENT.SALE.COMPLETED") { $payment_id = $notification->resource->parent_payment; $sale_id = $notification->resource->id; // Process the completed sale } elseif($notification->event_type == "PAYMENT.SALE.REFUNDED") { $payment_id = $notification->resource->parent_payment; $refund_id = $notification->resource->id; // Process the refunded sale } else { // Handle other event types }
Vous pouvez gérer les notifications de finalisation du paiement et de remboursement si nécessaire.
Résumé
En utilisant PHP et l'API PayPal, vous pouvez facilement gérer les demandes de paiement, obtenir des bons de paiement et gérer les notifications. Grâce à ces extraits de code, vous pouvez accepter des paiements via PayPal et gérer facilement les informations de paiement dans vos propres applications.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!