Skip to main content

bx:paypal

Mithilfe dieses Tags wird ein verschlüsselter Wert für ein <hidden>-Feld generiert, das an Paypal geschickt wird.

Nach dem Bestellprozeß wird ein Paypal-Button eingeblendet, der ein neues Fenster mit der Paypal-Website öffnet. Dies wird durch eine HTML-For ausgelöst:

<form action="https://www.paypal.com/cgi-bin/webscr" target="_blank" method="post">
 <input type="hidden" name="cmd" value="_s-xclick">
 <input type="text" name="encrypted" size=80 value="<bx:paypal.crypt pass="{Das Passwort}" cmdtext="cmd=_xclick,cert_id={Die ID von Paypal},business={Email-Adresse des Kunden},currency_code=EUR,item_name={Betreff}" paypalcert="{Zertifikat-Datei}" certfile="{Zertifikat-Datei}" keyfile="{Zertifikat-Datei}" price="{Betrag}"/>">
 <input type="image" style="margin-right:10px;" src="http://www.paypal.com/de_DE/i/btn/x-click-but6.gif" name="submit" alt="Zahlen Sie mit PayPal - schnell, kostenlos und sicher!">
</form>

Die Erzeugung der ID bei Paypal wird hier beschrieben: https://www.paypalobjects.com/de_DE/html/IntegrationCenter/ic_button-encryption.html (Schritt 2 und 3 muß der Kunde mit seinem Paypal-Zugang durchführen) siehe auch: https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_encryptedwebpayments

Dort muß die .pem-Datei (Attribut certfile), die man mit Open-SSL erzeugt, hochladen und bekommt das öffentliche Zertifikat zurück (Attribut paypalcert). Der private Schlüssel im P12-Format wird ebenfalls mir OpenSSL generiert und bei Attribut keyfile ins Tag eingetragen. Das Passwort, das beim Erzeugen des P12-Schlüssels eingegeben wurde, muß im Attribut pass angegeben werden. Im Attribut cmdtext muß dann die ID von Paypal (nach Upload der .pem-Datei), die beim Erzeugen der Datei angegebene Email-Adresse und ein Infotext für die Buchung eingegeben werden.

Syntax:

<bx:paypal.crypt pass="..." cmdtext="..." paypalcert="..." certfile="..." keyfile="..." />

benötigte Tag-Parameter:

certfile eine Datei mit dem Public Cert (.pem)
keyfile eine Datei mit dem Private Key in PKCS12-Format (.p12)
paypalcert eine Datei mit PayPal's Public Cert
pass ein Passwort mit dem die Datei in Parameter keyfile verschlüsselt ist
cmdtext Format "cmd=_xclick,cert_id=[ID von Paypal],business=[email],currency_code=EUR,item_name=[infotext]"

Desweiteren wird ein Request-Attribut oder Request-Parameter namens 'price' benötigt.

Ein Request-Parameter namens 'orderid' kann an den Infotext für Paypal angehängt werden.

Beispiele

<bx:paypal.crypt pass="geheim"
  cmdtext="cmd=_xclick,cert_id=ABCD1234EF56,business=info@mustermann.de,currency_code=EUR,item_name=Bestellung bei Mustermanns" 
  paypalcert="133117E8C9D.txt" certfile="133117DCAB5.pem" keyfile="133117E4A90.p12" price="1234.50"/>