PHP - PayPal Integration

Hallo, ambitionierte Entwickler! Heute machen wir uns auf eine aufregende Reise in die Welt der PayPal-Integration mit PHP. Als Ihr freundlicher Nachbarschaftsinformatiklehrer bin ich hier, um Sie schrittweise durch diesen Prozess zu führen. Machen Sie sich keine Sorgen, wenn Sie neu im Programmieren sind – wir beginnen mit den Grundlagen und arbeiten uns hoch. Also, holen Sie sich eine Tasse Kaffee und tauchen wir ein!

PHP - Paypal Integration

PayPal-Integration verstehen

Bevor wir mit dem Coden beginnen, lassen Sie uns verstehen, was PayPal-Integration bedeutet. Stellen Sie sich vor, Sie betreiben einen Online-Shop, der handgemachte Pullover verkauft. Sie möchten Ihren Kunden eine einfache Möglichkeit bieten, ihre gemütlichen neuen Kleidungsstücke zu bezahlen. Hier kommt PayPal ins Spiel! Es ist wie eine digitale Geldbörse, die sichere Online-Transaktionen ermöglicht.

Warum PayPal verwenden?

  1. Es ist breit vertraut
  2. Einfach zu implementieren
  3. Unterstützt mehrere Währungen
  4. Bietet Käufer- und Verkäuferschutz

Nun, da wir wissen, warum PayPal großartig ist, sehen wir uns an, wie wir es in unsere PHP-Website integrieren können.

PayPal-Integration Dateisystem

Um PayPal in unsere PHP-Anwendung zu integrieren, müssen wir eine ordnungsgemäße Dateistruktur einrichten. Dies hilft, unseren Code organisiert und leicht zu warten zu halten. Verlassen Sie sich darauf, dass Ihr zukünftiges Ich Ihnen dafür danken wird!

Hier ist die Dateistruktur, die wir verwenden werden:

project_root/
│
├── config/
│   └── paypal.php
│
├── includes/
│   └── paypal.php
│
├── public/
│   ├── css/
│   │   └── style.css
│   ├── js/
│   │   └── script.js
│   └── index.php
│
└── vendor/
└── autoload.php

Lassen Sie uns das aufschlüsseln:

  1. config/paypal.php: Diese Datei speichert unsere PayPal-API-Anmeldeinformationen.
  2. includes/paypal.php: Dies wird unsere PayPal-Integration-Funktionen enthalten.
  3. public/: Dieses Verzeichnis hostet unsere öffentlich zugänglichen Dateien.
  4. vendor/: Hier leben unsere Abhängigkeiten (wir verwenden Composer dafür).

Einrichten der PayPal-API-Anmeldeinformationen

Bevor wir mit dem Coden beginnen können, müssen wir unsere PayPal-API-Anmeldeinformationen erhalten. Das ist so, als würden wir die Schlüssel zu unserem neuen PayPal-betriebenen Auto bekommen!

  1. Gehen Sie zu developer.paypal.com und erstellen Sie ein Konto (oder melden Sie sich an, wenn Sie bereits eines haben).
  2. Navigieren Sie zurDashboard und erstellen Sie eine neue App.
  3. Sobald sie erstellt ist, sehen Sie Ihre Client ID und Secret. Diese sind sehr wichtig, also behalten Sie sie sicher!

Nun fügen wir diese Anmeldeinformationen zu unserer config/paypal.php Datei hinzu:

<?php
return [
'client_id' => 'YOUR_CLIENT_ID_HERE',
'client_secret' => 'YOUR_CLIENT_SECRET_HERE',
'mode' => 'sandbox' // Verwenden Sie 'live' für die Produktion
];

Ersetzen Sie 'YOUR_CLIENT_ID_HERE' und 'YOUR_CLIENT_SECRET_HERE' mit Ihren tatsächlichen PayPal-API-Anmeldeinformationen.

Installieren des PayPal SDK

Nun, da wir unsere Anmeldeinformationen eingerichtet haben, installieren wir das PayPal SDK. Wir verwenden Composer dafür, der wie ein persönlicher Einkäufer für PHP-Bibliotheken ist.

Stellen Sie sicher, dass Sie Composer installiert haben. Führen Sie dann diesen Befehl in Ihrem Projektstammverzeichnis aus:

composer require paypal/rest-api-sdk-php

Dies installiert das PayPal SDK und erstellt das vendor Verzeichnis mit allen notwendigen Dateien.

Erstellen der PayPal-Integration-Funktionen

Nun kommt der spaßige Teil – das Schreiben unserer PayPal-Integration-Funktionen! Wir erstellen diese in unserer includes/paypal.php Datei.

<?php
require_once __DIR__ . '/../vendor/autoload.php';
use PayPal\Api\Amount;
use PayPal\Api\Payer;
use PayPal\Api\Payment;
use PayPal\Api\RedirectUrls;
use PayPal\Api\Transaction;
use PayPal\Auth\OAuthTokenCredential;
use PayPal\Rest\ApiContext;

function getPayPalApiContext() {
$paypalConfig = require __DIR__ . '/../config/paypal.php';

$apiContext = new ApiContext(
new OAuthTokenCredential(
$paypalConfig['client_id'],
$paypalConfig['client_secret']
)
);

$apiContext->setConfig([
'mode' => $paypalConfig['mode'],
'log.LogEnabled' => true,
'log.FileName' => '../PayPal.log',
'log.LogLevel' => 'DEBUG'
]);

return $apiContext;
}

function createPayPalPayment($amount) {
$apiContext = getPayPalApiContext();

$payer = new Payer();
$payer->setPaymentMethod("paypal");

$amount = new Amount();
$amount->setCurrency("USD")
->setTotal($amount);

$transaction = new Transaction();
$transaction->setAmount($amount)
->setDescription("Payment description");

$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl("http://localhost/success.php")
->setCancelUrl("http://localhost/cancel.php");

$payment = new Payment();
$payment->setIntent("sale")
->setPayer($payer)
->setRedirectUrls($redirectUrls)
->setTransactions(array($transaction));

try {
$payment->create($apiContext);
return $payment;
} catch (Exception $ex) {
echo "Error: " . $ex->getMessage();
exit(1);
}
}

Lassen Sie uns das aufschlüsseln:

  1. Wir includen die notwendigen PayPal SDK Klassen.
  2. Die getPayPalApiContext() Funktion richtet unseren PayPal API Kontext mit unseren Anmeldeinformationen ein.
  3. Die createPayPalPayment() Funktion erstellt eine neue PayPal-Zahlung für den angegebenen Betrag.

Verwendung unserer PayPal-Integration

Nun, da wir unsere Funktionen eingerichtet haben, verwenden wir sie in unserer public/index.php Datei:

<?php
require_once __DIR__ . '/../includes/paypal.php';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$amount = $_POST['amount'];
$payment = createPayPalPayment($amount);

foreach($payment->getLinks() as $link) {
if($link->getRel() == 'approval_url') {
header("Location: ".$link->getHref());
exit(1);
}
}
}
?>

<!DOCTYPE html>
<html>
<head>
<title>PayPal Integration Beispiel</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<h1>PayPal Zahlungsbeispiel</h1>
<form method="post">
<label for="amount">Betrag (USD):</label>
<input type="number" id="amount" name="amount" min="1" step="0.01" required>
<button type="submit">Mit PayPal bezahlen</button>
</form>
<script src="js/script.js"></script>
</body>
</html>

Dies erstellt ein einfaches Formular, in dem Benutzer einen Betrag eingeben und auf einen Button klicken können, um mit PayPal zu bezahlen. Wenn das Formular submitted wird, erstellt es eine PayPal-Zahlung und leitet den Benutzer zu PayPal weiter, um die Zahlung abzuschließen.

Fazit

Glückwunsch! Sie haben gerade Ihre erste PayPal-Integration mit PHP erstellt. Wir haben heute viel Boden cobered, von der Einrichtung unserer Dateistruktur bis hin zur Erstellung von PayPal-Zahlungen. Denken Sie daran, dass Übung den Meister macht, also fürchten Sie sich nicht, experimentieren und aufbauen, was Sie gelernt haben.

In der Welt der Webentwicklung ist die Integration von Zahlungssystemen wie PayPal eine wertvolle Fähigkeit. Es ist wie ein Turbo-Boost für Ihre PHP-Rakete – es wird Sie zu neuen Höhen in Ihrer Programmierreise bringen!

Weiter codieren, weiter lernen und vor allem: Viel Spaß dabei! Bis zum nächsten Mal, fröhliches Coden!

Methode Beschreibung
getPayPalApiContext() Einrichtet und gibt den PayPal API Kontext mit den Anmeldeinformationen aus der Konfigurationsdatei zurück
createPayPalPayment($amount) Erstellt eine neue PayPal-Zahlung für den angegebenen Betrag

Credits: Image by storyset