Ein Leitfaden für die PayPal-Integration auf Ihrer Website in PHP
PayPal ist ohne Zweifel eines der beliebtesten Zahlungsgateways für Websites. Die meisten Websites verwenden PayPal, um Zahlungen für ihre Anwendung zu erhalten. In diesem Artikel untersuchen wir die PayPal-Integration in einer Webanwendung in PHP.
Warum PayPal wählen?
Das Erstellen eines Kontos bei PayPal ist völlig kostenlos. Sie müssen nichts im Voraus bezahlen. PayPal berechnet Ihnen pro Transaktion eine Gebühr.
Bei der Durchführung von Zahlungstransaktionen verwendet PayPal die Secure Socket Layer (SSL)-Verschlüsselung. Dies schützt die persönlichen und vertraulichen Daten Ihrer Kunden. Aus diesem Grund fühlen sich Ihre Kunden beim Bezahlen über Ihre Webanwendung sicher.
PayPal ermöglicht auch die Zahlung über PayPal-Guthaben, Kredit- oder Debitkarten. Es bietet einem Kunden eine Reihe von Optionen, um für Ihren Service zu bezahlen.
Um Zahlungen mit Kreditkarten zu akzeptieren, können Sie auch den Authorize.net- Dienst verwenden. Wenn Sie mehr über Authorize.net erfahren möchten, folgen Sie unserem Tutorial Akzeptieren von Kreditkartenzahlungen mit Authorize.net Payment Gateway in PHP.
PayPal-Integration
Da wir über eine PHP-betriebene Website sprechen, werden wir die offizielle GiHub-Bibliothek von PayPal verwenden. Diese Bibliothek ist für PHP-Anwendungen.
Wir empfehlen, Composer für die Installation der Bibliothek zu verwenden.
Um PayPal in die Website zu integrieren, führen Sie zuerst den folgenden Befehl im Projektstammverzeichnis aus.
composer require "paypal/rest-api-sdk-php:*"
Client-ID und Client-Geheimnis abrufen
Wenn der Kunde über PayPal bezahlt, sollte der Betrag auf Ihrem PayPal-Konto hinterlegt sein. Dazu benötigen wir Ihre Client-ID und Ihr Client-Geheimnis. Sie können Ihre Anmeldeinformationen erstellen hier.
Scrollen Sie auf dieser Seite "Meine Apps und Anmeldeinformationen" nach unten zum Abschnitt "API-Apps ruhen" und klicken Sie auf die Schaltfläche "App erstellen".
Geben Sie Ihrer App einen Namen und klicken Sie auf die Schaltfläche "App erstellen".
Nach den obigen Schritten erhalten Sie Anmeldeinformationen für den Sandbox- und den Live-Modus.
Jetzt sind wir mit unserer Client-ID und den geheimen Clientschlüsseln fertig. Gehen wir einen Schritt weiter und schreiben Sie ein Stück Code.
Tatsächlicher Code für die PayPal-Integration
Zu diesem Zeitpunkt sind wir mit der Bibliothek und den Anmeldeinformationen bereit. Um nun PayPal in die Website zu integrieren, erstellen wir 4 Dateien:
checkout.php
: In dieser Datei haben wir ein Formular, das den Artikelnamen und den Betrag enthält.
payment.php
: Dies ist die Datei, in die wir den gesamten PayPal-bezogenen Code schreiben.
success.php
: Nach erfolgreicher Zahlung wird der Kunde zu dieser Datei umleiten.
error.php
: Wenn die Zahlung nicht erfolgreich ist, wird der Kunde zu dieser Datei umgeleitet.
checkout.php
<form action="payment.php" method="post">
<input type="text" name="item" placeholder="Enter Item Name">
<input type="text" name="amount" placeholder="Enter Amount">
<input type="submit" name="submit" value="Pay">
</form>
Zahlung.php
<?php
require_once 'vendor/autoload.php';
use PayPalApiItem;
use PayPalApiItemList;
$apiContext = new PayPalRestApiContext(
new PayPalAuthOAuthTokenCredential(
'YOUR_CLIENT_ID', // ClientID
'YOUR_CLIENT_SECRET' // ClientSecret
)
);
$apiContext->setConfig(
array(
'log.LogEnabled' => true,
'log.FileName' => 'PayPal.log',
'log.LogLevel' => 'DEBUG',
'mode' => 'sandbox', //'live' or 'sandbox'
)
);
$payer = new PayPalApiPayer();
$payer->setPaymentMethod('paypal');
$item1 = new Item();
$item1->setName($_POST['item'])
->setCurrency('USD')
->setQuantity(1)
->setPrice($_POST['amount']);
$itemList = new ItemList();
$itemList->setItems(array($item1));
$amount = new PayPalApiAmount();
$amount->setTotal($_POST['amount']);
$amount->setCurrency('USD');
$transaction = new PayPalApiTransaction();
$transaction->setDescription("Payment For Service")
->setItemList($itemList)
->setAmount($amount);
$redirectUrls = new PayPalApiRedirectUrls();
$redirectUrls->setReturnUrl("YOUR_HTTP_PATH/success.php")
->setCancelUrl("YOUR_HTTP_PATH/error.php");
$payment = new PayPalApiPayment();
$payment->setIntent('sale')
->setPayer($payer)
->setTransactions(array($transaction))
->setRedirectUrls($redirectUrls);
// 4. Make a Create Call
try {
$payment->create($apiContext);
header('Location: '. $payment->getApprovalLink());
}
catch (PayPalExceptionPayPalConnectionException $ex) {
// This will print the detailed information on the exception.
//REALLY HELPFUL FOR DEBUGGING
echo $ex->getData();
}
?>
Stellen Sie sicher, dass Sie die Platzhalter durch die tatsächlichen Werte ersetzen. Im obigen Code setzen wir den Wert ‘mode’ auf ‘sandbox’. Setzen Sie diesen Wert beim Übergang zur Produktion auf "live" und fügen Sie Ihre Live-Client-ID und Ihr Client-Geheimnis hinzu.
Sobald Ihr Zahlungsvorgang über PayPal abgeschlossen ist, wird er je nach erfolgreicher oder fehlgeschlagener Zahlung entweder zur Datei success.php oder error.php weitergeleitet.
erfolg.php
<h2>Payment Successful.</h2>
error.php
<h2>Something went wrong. Try again later.</h2>
Wir hoffen, dass Sie die PayPal-Integration in der Webanwendung verstanden haben. Bitte teilen Sie Ihre Gedanken im Kommentarbereich unten mit.