maeg
Erfahrenes Mitglied
Hallo,
von dem oben beschriebenen Beispiel würde ich dir schon alleine aus Sicherheitsgründen abraten. Solltest Du dich doch für die POST-Variante von oben entscheiden, setze die versteckten Felder bitte zusätzlich zumindest auf readonly. Auch hidden-Felder können durch ein einfaches Browser-Addon sichtbar und beschreibbar (wenn nicht readonly) gemacht werden.
Ich selbst habe PayPal bereits mit der setExpressCheckout-Methode in unsererm Webshop implementiert. Die Funktionsweise kurz zusammengefasst:
1.) Kunde klegt ganz normal Artikel in den Warenkorb
2.) Auswahl Zahlungsart = PayPal
3.) Nun beginnt die Kommunikation mit der PayPal-API. Kommunikation läuft über dem Benutzer unsichtbare HTTP-Requests (NVP (NameValuePair)). Sprich, Du rufst einfach durch eine bestimmte URL den Webservice auf und übergibst sämtliche Infos als Übergabeparameter (GET). Der erste Request wäre der "setExpressCheckout"-Request. Mit diesem "meldest" Du eine Zahlung für PayPal an. Mit diesem kannst Du auch die Seite übergeben, auf die der Kunde nach Abschluss der Zahlung hingeleitet werden soll (z.B. zurück zum Shop).
4.) Als Response auf diesen Request bekommst Du von PayPal einen TOKEN zurück, der die Transaktion eindeutig verifiziert. Nun kannst Du den Kunden an eine feste URL weiterleiten. Z.B. http://www.paypal.com?token=ERHALTENER_TOKEN (URL nicht korrekt, nur ein Beispiel). Dort bekommt der Benutzer dann alle Produkte, Preise (alles, was im setExpressCheckout übergeben wurde) noch einmal angezeigt, kann seine Zahlungsart (Kreditkarte, Bankeinzug, Guthaben..) und seine Lieferadresse (wenn nicht ausgeblendet) auswählen. Hier bietet PayPal sehr viele Möglichkeiten, die Checkout-Seite den Bedürfnissen der eigenen Firma gerecht zu werden.
5.) Kunde hat die Zahlung getätigt und klickt auf der PayPal-Seite endgültig auf "Zahlen".
6.) Zahlung wird durchgeführt und der Kunde wird mit 2 zusätzlichen Parametern in der URL zurück auf Deine Seite geleitet.
7.) Auf der PayPal-Landingpage muss nun der letzte, die Transaktion vollständig abschließende Request durchgeführt werden. (doExpressCheckoutPayment). Erst nach Aufruf dieses Requests ist die Zahlung verifiziert und wird dem Kunden belastet.
Wie gesagt, sehr grob. Selbstverständlich ist das ganze mit der Sandbox testbar. Diese dient auch als Entwicklungsumgebung.
Alles weitere findest Du hier:
https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/library_documentation#ec
Bei Fragen - melden.
VG,
maeg
von dem oben beschriebenen Beispiel würde ich dir schon alleine aus Sicherheitsgründen abraten. Solltest Du dich doch für die POST-Variante von oben entscheiden, setze die versteckten Felder bitte zusätzlich zumindest auf readonly. Auch hidden-Felder können durch ein einfaches Browser-Addon sichtbar und beschreibbar (wenn nicht readonly) gemacht werden.
Ich selbst habe PayPal bereits mit der setExpressCheckout-Methode in unsererm Webshop implementiert. Die Funktionsweise kurz zusammengefasst:
1.) Kunde klegt ganz normal Artikel in den Warenkorb
2.) Auswahl Zahlungsart = PayPal
3.) Nun beginnt die Kommunikation mit der PayPal-API. Kommunikation läuft über dem Benutzer unsichtbare HTTP-Requests (NVP (NameValuePair)). Sprich, Du rufst einfach durch eine bestimmte URL den Webservice auf und übergibst sämtliche Infos als Übergabeparameter (GET). Der erste Request wäre der "setExpressCheckout"-Request. Mit diesem "meldest" Du eine Zahlung für PayPal an. Mit diesem kannst Du auch die Seite übergeben, auf die der Kunde nach Abschluss der Zahlung hingeleitet werden soll (z.B. zurück zum Shop).
4.) Als Response auf diesen Request bekommst Du von PayPal einen TOKEN zurück, der die Transaktion eindeutig verifiziert. Nun kannst Du den Kunden an eine feste URL weiterleiten. Z.B. http://www.paypal.com?token=ERHALTENER_TOKEN (URL nicht korrekt, nur ein Beispiel). Dort bekommt der Benutzer dann alle Produkte, Preise (alles, was im setExpressCheckout übergeben wurde) noch einmal angezeigt, kann seine Zahlungsart (Kreditkarte, Bankeinzug, Guthaben..) und seine Lieferadresse (wenn nicht ausgeblendet) auswählen. Hier bietet PayPal sehr viele Möglichkeiten, die Checkout-Seite den Bedürfnissen der eigenen Firma gerecht zu werden.
5.) Kunde hat die Zahlung getätigt und klickt auf der PayPal-Seite endgültig auf "Zahlen".
6.) Zahlung wird durchgeführt und der Kunde wird mit 2 zusätzlichen Parametern in der URL zurück auf Deine Seite geleitet.
7.) Auf der PayPal-Landingpage muss nun der letzte, die Transaktion vollständig abschließende Request durchgeführt werden. (doExpressCheckoutPayment). Erst nach Aufruf dieses Requests ist die Zahlung verifiziert und wird dem Kunden belastet.
Wie gesagt, sehr grob. Selbstverständlich ist das ganze mit der Sandbox testbar. Diese dient auch als Entwicklungsumgebung.
Alles weitere findest Du hier:
https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/library_documentation#ec
Bei Fragen - melden.
VG,
maeg