Bennett Hollstein

Web developer

PHP/HTML Warenkorb mit PayPal-bezahlung

Hallo Leute,

in diesem Post wollte ich zeigen, wie man ganz einfach in seinen Onlineshop eine Bezahlung über PayPal einrichten kann. Voraussetzung sind dafür bloß HTML und einen funktionierenden Onlineshop. Ich nehme hierfür eine veränderte Version von combie’s PHP Warenkorb . Als erstes brauchen wir eine Form, die auf PayPal’s Bezahlseite leitet:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">

und danach einen hidden Input, der angibt, das die Bezahlung auf einem Warenkorb kommt:

<input type="hidden" name="cmd" value="_cart" />

Nach einem weiteren hidden Input

<input type="hidden" name="upload" value="1" />

Kommt der Input, der die Sprache angibt (in meinem Fall Deutsch). Hierbei werden die standard Ländercodes benutzt

<input type="hidden" name="language" value="DE_de" />

Nun müssen wir noch angeben, an wen der Betrag überwiesen werden soll. Hierzu nimmt man einfach seine PayPal Email Adresse

<input type="hidden" name="business" value="meine@email.com" />

In meinem Fall folgt jetzt die Übertragung der gekauften Artikel inklusive Preis in diesem Muster:

<input type="hidden" name="item_name_ZAHL" value="ARTIKEL" />
<input type="hidden" name="amount_ZAHL" value="PREIS" />

ZAHL muss dabei eine Zahl sein und ARTIKEL bzw. PREIS der Artikel bzw. der Preis des Produkts.

Alle, die combie’s PHP Warenkorb nutzen, können einfach folgenden PHP Code an diese Stelle einfügen:

<?php
  if(count($_SESSION['korb']))
  {
  $zahl = "0";
  foreach ($_SESSION['korb']->gibkorb() as $artikel => $anzahl)
  {
  $zahl++;
  print '<input type="hidden" name="item_name_'.$zahl.'" value="'.$artikel.'" />';
  print '<input type="hidden" name="amount_'.$zahl.'" value="0.99" />';
  }
  }else
  {
  print "XXXX";
  }
  ?>

Danach folgen Inputs für die Währung, die Seite, auf die man danach weitergeleitet werden soll (dies sollte die Seite sein, die die Bestellten Produkte an euch per Mail weiterleitet) und schließlich noch ein Button, der dem Käufer angezeigt wird. Ich nutze in diesem Fall Bootstrap, weswegen der Button schon einige Klassen besitzt:

<input type="hidden" name="currency_code" value="EUR">
  <input type="hidden" name="return" value="http://example.com/thank_you.html" />
  <input type="submit" class="btn btn-success btn-lg" value="Jetzt bezahlen" />

Und schon ist der Knopf für die Bezahlung über PayPal fertig. Insgesamt sollte der Code ca. so aussehen:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
  <input type="hidden" name="cmd" value="_cart" />
  <input type="hidden" name="upload" value="1" />
  <input type="hidden" name="language" value="DE_de" />
  <input type="hidden" name="business"
  value="meine@email.com" />
  <?php
  if(count($_SESSION['korb']))
  {
  $zahl = "0";
  foreach ($_SESSION['korb']->gibkorb() as $artikel => $anzahl)
  {
  $zahl++;
  print '<input type="hidden" name="item_name_'.$zahl.'" value="'.$artikel.'" />';
  print '<input type="hidden" name="amount_'.$zahl.'" value="0.99" />';
  }
  }else
  {
  print "Bisher nichts ausgewählt";
  }
  ?>
  <input type="hidden" name="currency_code" value="EUR">
  <input type="hidden" name="return" value="http://example.com/thank_you.html" />
  <input type="submit" class="btn btn-success btn-lg" value="Jetzt bezahlen" />
  </form>

(Achtung: Jeder Artikel kostet in meinem Beispiel 0,99€. Will man dies Ändern, muss man an der Stelle ein

print '<input type="hidden" name="amount_'.$zahl.'" value="'.$preis.'" />';

einfügen und $preis deklarieren.)

 

Ich hoffe, ich konnte mit diesem Tutorial ein bisschen weiterhelfen, da all diese Informationen irgendwo versteckt im Internet lagen und ich lange suchen musste, bis ich sie zusammen hatte.

Kommentar verfassen