Paypal einbinden - wie funktioniert's?

03/13/2018 01:18 Legithos#1
Hallo liebe Community,

ich hab mich in der letzten Zeit viel mit PHP beschäftigt und meine eigene Webseite umgesetzt (hab mir n gutes Buch auf Amazon bestellt gehabt). Bin in der Umsetzung schon wirklich weit gekommen und macht auch wirklich viel Spaß unzählige Stunden zu investieren, nur habe ich jetzt ein kleines Verständnisproblem bezüglich PayPal. Ich erkläre es am Besten an einem Beispiel. Wenn ich (wie viele andere Webseiten auch) zb eine Webseite habe, bei der es darum geht Punkte zu sammeln und per PayPal Punkte verkaufen will, muss ich PayPal ja irgendwie "einbinden", bzw zur Paypal-Zahlung weiterleiten.

Rein vom Verständnis und der Logik her - insofern ich mich nicht irre - verkaufe ich jetzt praktisch 10 Punkte für 1€. Sobald ich nun den Paypal Zahlungsbutton klicke muss doch prinzipiell eine Information (zb der Benutzername vllt ja über einen GET?) an PayPal weitergeschickt werden, damit ich später weiß wem ich die 10 Punkte gutschreiben kann. Nach dem Bezahlvorgang muss ja von PayPal irgendwas zurückgeschickt werden, ob der Zahlvorgang geklappt hat oder missglückt ist und ebenfalls nochmal der Benutzername, um die Punkte gutzuschreiben ?

Meine Frage dazu jetzt ob ich das Prinzip so richtig verstanden habe und wie ich das (besten Falls ohne oor) umsetzen kann. Die PayPal-Api habe ich mir bereits durchgelesen, werde aber als Anfänger in diesem Bereich nicht wirklich schlau draus. Auch die Englisch-indischen Youtube-Tutorials konnten mir das leider nicht ganz so gut erklären. Vielleicht kann mir das ja einer von euch relativ anfängerfreundlich erklären ?

Zusammengefasst brauche ich also einen Paypal-Button, der zwei Werte weiterschickt (Benutzername und Geldbetrag) und zur Paypal-Zahlungsseite weiterleitet und dann bei erfolgreicher Zahlung des Betrages wieder den Benutzername zurückschickt und in der Datenbank dann bei diesem +10 Punkte addiert.

Vielen Dank schonmal und Grüße!
03/13/2018 01:55 Der-Eddy#2
[Only registered and activated users can see links. Click Here To Register...]

PayPal erklärt es eigentlich ganz gut:
1. Du schickst ein JSON Object mit Daten wie Name der Ware und Wert über POST an das PayPal REST API, dabei benötigst du noch deine OAuth Token damit PayPal weiß an wen das Geld geht
2. Klappt das, erhältst du von PayPal in einem JSON Object eine URL zurück über die der Kunde nun durch PayPal bezahlen kann
3. Du leitest den Kunden auf die für ihn gerade erstellte PayPal Seite um die Transaktion abzuschließen
4. Nach Abschluss schickt PayPal den Kunden wieder zurück zu dir, dabei wird noch eine Payment-ID mitgegeben
5. Jetzt musst du die Transaktion über die Payment-ID nur noch abschließen um das Geld einzuziehen


Irgendwo in den PayPal Docs müsste auch noch eine einfachere Version zu finden sein, leider hab ich schon sehr lange nichts mehr mit PayPal am Hut gehabt
03/13/2018 02:51 Legithos#3

Erstmal vielen lieben Dank Für die schnelle Antwort! Gibt's dies auch ohne Objektorientierung? Da ich den Rest auch ohne geschrieben habe, ist es natürlich etwas blöd jetzt den Code zu mischen... Vielleicht liegt's an der Uhrzeit, aber wenn's allgemein noch einfacher geht wäre ich davon definitiv nicht abgetan!

Wie gesagt danke dir trotzdem schonmal!
03/13/2018 08:57 Devsome#4
Einfach eine php Datei erstellen worauf die IPN von Paypal zugreifen kann.
Dann kannst du dir eine einfache Form wo auch immer basteln mit einer einzigartigen ID des Benutzers die mit gesendet wird beim Formular um auf die PayPal-Seite zu gelangen.
Nach der Erfolgreichen Bezahlung sendet PayPal ein response an dein Script und gut ist.

Sollte der User Chargeback machen oder irgendwelche Fehler auftreten, wird dies auch an dein Script gesendet.
03/14/2018 08:21 Legithos#5
Auch dir danke für die Antwort ! Wenn du mir das jetzt vielleicht noch anfängerfreundlich konkretisieren würdest, wäre ich absolut zufrieden!

Quote:
Originally Posted by Devsome View Post
Einfach eine php Datei erstellen worauf die IPN von Paypal zugreifen kann.
Auf was muss ich achten ? Was schreib ich denn rein, damit die IPN von Paypal drauf zugreifen kann ?

Quote:
Originally Posted by Devsome View Post
Dann kannst du dir eine einfache Form wo auch immer basteln mit einer einzigartigen ID des Benutzers die mit gesendet wird beim Formular um auf die PayPal-Seite zu gelangen.
Wieso brauch ich denn eine Form ? Reicht es nicht wenn ich ganz normal zb die $_SESSION["user_id"] mitschicke ?

Quote:
Originally Posted by Devsome View Post
Nach der Erfolgreichen Bezahlung sendet PayPal ein response an dein Script und gut ist.
Wie komme ich denn überhaupt auf die Paypal-Seite ? Per Bezahlbutton oder ? Woher bekomm ich den ? Auf was muss ich achten ?



Es freut mich ja wenn ich Antworten bekomme, nur brauche ich wirklich bitte eine anfängerfreundliche und keine "mach dies, das und gut is!"
03/14/2018 09:05 Devsome#6
Hier wäre ein Beispiel von [Only registered and activated users can see links. Click Here To Register...].

Du brauchst eine "Form" oder halt deine PayPal Buttons mit einer eindeutigen ID des Benutzers, damit PayPal später weiß welcher Benutzer nun bezahlt hat. Also ja, es reicht auch die $_SESSION['user_id'] mit zu senden.

Entweder via Bezahlbuttons oder einer ComboBox von PayPal, oder deiner eigenen Form.

Denke mit der Anleitung (Einführung von PayPal) bist du gut bedeckt. Solltest du noch weitere Fragen haben, melde dich einfach.