Paypal IPN

Thema wurde von Anonymous, 21. Februar 2019 erstellt.

  1. Anonymous
    Anonymous Mitglied
    Registriert seit:
    21. Februar 2019
    Beiträge:
    10
    Danke erhalten:
    0
    Hallo, ich bin NEU hier.

    Ich möchte mit dem Gambio-Shop "Digitale Güter - Software" verkaufen, und
    mache das momentan über eine normale Webseite. Es wird nur Paypal angeboten.

    Für jedes Produkt gibt es momentan einen Button -> Link zu Paypal, und von dort geht
    es weiter zu meinem Lizenz-Server (hier bekommt der Kunde seinen Download-Link und Key usw.).
    Es sind nur 5 Programme.

    Jetzt über den Shop habe ich unter sonstiges Paypal ausgewählt (Paypal -> REST-API Live läuft).
    Wie ist es jetzt möglich für jedes Produkt eine eigene RETURN-URL (zu dem Lizenz-Server) einzurichten.
    (es muss ja für jedes Produkt was anderes GELIEFERT werden!)

    Ich habe schon einiges über IPN,Webhook gelesen aber sehe da noch keine Lösung!

    Vielleicht hatte jemand schon das selbe Problem.

    Danke !
     
  2. Developer
    Developer Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    3.148
    Danke erhalten:
    718
    Danke vergeben:
    127
    Hallo Digs,

    leider ist es für mich etwas undurchsichtig, was den Ablauf betrifft.

    Kannst Du etwas mehr über den Ablauf erzählen?

    Unter Vorbehalt: Ich denke, da muss was individuelles her.
     
  3. Anonymous
    Anonymous Mitglied
    Registriert seit:
    21. Februar 2019
    Beiträge:
    10
    Danke erhalten:
    0

    Hallo (Link nur für registrierte Nutzer sichtbar.),

    ohne shop gibt es auf der Internet-Seite 3 Paypal Zahlungsbutton

    Kaufe Produkt 1 -> Paypal Button_1 -> Mitteilung an den Lizens-Server
    Kaufe Produkt 2 -> Paypal Button_2 -> ""
    Kaufe Produkt 3 -> Paypal Button_3 -> ""

    Für jedes Produkt wurde in Paypal Zahlungsbutton erstellen -> Schritt 3: Erweiterte Funktionen (optional) eine Variable hinzugefügt -> notify_url=(Link nur für registrierte Nutzer sichtbar.). (läuft schon lange so).

    Wenn Paypal erfolgreich abgeschlossen wurde bekommt mein Lizens-Server die "notify_url=http: ..."
    übermittelt und weiss damit welches Produkt ausgeliefert werden muss (email + key usw.).

    Ich habe auch gerade gesehen das es diese notify url mit IPN gibt, aber mehr informationen habe ich leider auch nicht.

    In Gambio -> Paypal habe ich jetzt die "Paypal REST" Daten eingegeben, da ich scheinbar meine ALTE METHODE nicht mehr benutzen kann!? (oder ein script welches in Gambio abhängig vom Produkt meine buttons aufruft !!??)

    Wenn jetzt im Gambio Shop ein Produkt gekauft wird werden die Daten (welches Produkt usw.) an Paypal übergeben -> OK, wie kann ich jetzt aber nach der Bezahlung von Paypal aus diese notify url aufrufen???? -> Lizens-Server ???

    Und das ist mein Problem.
     
  4. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.657
    Danke erhalten:
    11.371
    Danke vergeben:
    1.616
    Ich habe zwar keine Downloads, kenne deshalb auch den Ablauf nicht so, aber:
    Wenn Du einen Download-Artikel im Shop anlegst, kannst Du im Admin unter
    Shop Einstellungen -> Download Optionen festlegen, welche Zahlarten genutzt werden dürfen, und wann der Download
    Frei gegeben ist.
    Da ist auch ein Feld / Haken "Download durch Weiterleitung"

    Über PayPal wird das kaum gehen, da du nicht mehr für jeden Artikel einen eigenen Button hast, sondern nur noch einen für alles.
    Wenn Die Kunden ein Kundenkonto anlegen, können sie den Download auch später in ihrem Kundenaccount herunterladen.
     
  5. Anonymous
    Anonymous Mitglied
    Registriert seit:
    21. Februar 2019
    Beiträge:
    10
    Danke erhalten:
    0
    Hallo barbara,

    danke für die Antwort.

    Ich denke "Download durch Weiterleitung" wird mir hier nicht helfen.

    1. Ich brauche für jedes Produkt einen eigenen Link (url).
    2. Auch ein Gast soll kaufen können (also kein Kundenkonto).

    Ich hätte besser schauen müssen, es gibt scheinbar bessere Shops für "Digital Güter", und jetzt bin ich schon
    einige Tage über der Widerrufsfrist, und kann mit dem Shop NIX anfangen.

    Es gibt scheinbar Leute die machen im Shop eine Verzweigung (Aufruf mit url) mit einem PHP-Scipt nach dem durch IPN eine Nachricht zurück gekommen ist. Nach dem ich aber nicht wirklich 100% Programmieren kann geht das nicht.
     
  6. Developer
    Developer Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    3.148
    Danke erhalten:
    718
    Danke vergeben:
    127
    Hallo Digs,

    ok, verstehe. So bist Du ja extrem mit PayPal verheiratet.

    Ich habe, fast wie immer was in der Schublade, und Du wärst "Zahlarten" unabhängig. Das ganze funktioniert innerhalb des Gambiosystems.

    Schau mal hier: Lizenzen oder Seriennummern verwalten

    Lies dir das mal durch, ob dir das zusagt. :)

    Viele Grüße
     
  7. Dennis (MotivMonster.de)
    Dennis (MotivMonster.de) G-WARD 2013/14/15/16
    Registriert seit:
    22. September 2011
    Beiträge:
    31.303
    Danke erhalten:
    6.268
    Danke vergeben:
    1.118
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Erkläre es Gambio. Die können auch human großzügiug sein.

    Dein Problem, die Kauf Abwicklung über Shop a und die Lieferung autom. +über Server B machen zu lassen wird aber mit denmesiten Systemen adHoc nicht gehen ohne anpassung.
    Da SHops ja einen Warenkorb übermitteln, sprich theoretisch auch 2 Artikel. Wie soll man das dem anderen Server übermitteln?

    Bei Gambio könntest dir das sicher programmieren lassen, da offenes System. Aber deine konstellation über getrennte Systeme ist da generell hinderlich. Besser wäre es den Download und die Lizens direkt vom Shop verwalten zu lassen. Statt extern. Den du musst sicherstellen das die 2 Systeme kommunizieren können.
     
  8. Developer
    Developer Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    3.148
    Danke erhalten:
    718
    Danke vergeben:
    127
    Wenn man nicht abhängig sein will, dann ist das so.

    @Digs: Ausserdem kannst deinem Kunden auch viel mehr Zahlungsarten anbieten. Ich hoffe, dass Du denen nicht nur PayPal anbietest, oder?
     
  9. Anonymous
    Anonymous Mitglied
    Registriert seit:
    21. Februar 2019
    Beiträge:
    10
    Danke erhalten:
    0
    Danke Dennis und Developer,

    ja irgend wie drehe ich gerade am Rad und weiß nicht was ich machen soll.

    Ich möchte im Shop nur Paypal und Rechnung (nur für Händler) anbieten.
    Es handelt sich hier um NISCHEN SOFTWARE.

    Momentan auf der Webseite kann der Kunde nur das Produkt kaufen in dem er gerade ist (erfüllt seinen Zweck). Der Kunde kann auch über Share-IT kaufen (von hier aus wird für jedes Produkt der Lizenz-Server aufgerufen!).
    Ich will aber Share-IT nicht mehr.

    Das Problem ist der Lizenz-Server wird benötigt da damit die Software auch verschlüsselt und ein Hardware-LOCK mit dem Kunden-PC gemacht wird.

    Eigentlich hätte meine Webseiten Version völlig gereicht wenn ich nicht schon Probleme mit Kunden gehabt hätte (da Paypal ja das berechnet was in den Buttons hinterlegt ist, blöd wenn der Kunde im Ausland ist bzw. die Steuer nicht passt).

    Kann man den Einkauf auf 1Produkt beschränken ?
    (ja - blöde idee, und wer braucht so was schon .... aber vielleicht das ja)

    Ideen? -> Danke!
     
  10. Developer
    Developer Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    3.148
    Danke erhalten:
    718
    Danke vergeben:
    127
    Ist das dein eigener Lizenzserver? Und was genau macht er wie?

    Die Lösung steht bereits oben. :)
     
  11. Anonymous
    Anonymous Mitglied
    Registriert seit:
    21. Februar 2019
    Beiträge:
    10
    Danke erhalten:
    0
    Ich denke ich habe momentan nur eine Möglichkeit.

    Wenn im Shop von Paypal die Nachricht zurück kommt ALLES OK es wurde bezahlt!, dann
    möchte ich an dieser Stelle für jedes gekaufte Produkt meinen Lizenz-Server benachtigen.
    An dieser Stelle sollten doch noch alle Daten zur Verfügung stehen !?.

    Bitte nur Beispiel.

    If ((shop_product_name[x] == "software_1_name") && (stueck == 1)) // 1 = wurde gekauft - 0 = nicht gekauft
    (Link nur für registrierte Nutzer sichtbar.)
    If ((shop_product_name[x] == "software_2_name") && (stueck == 1)) // 1 = wurde gekauft - 0 = nicht gekauft
    (Link nur für registrierte Nutzer sichtbar.)
    If ((shop_product_name[x] == "software_3_name") && (stueck == 1)) // 1 = wurde gekauft - 0 = nicht gekauft
    (Link nur für registrierte Nutzer sichtbar.)

    Wer kann mir da Informationen geben:
    1. In welcher Checkout (.php Datei) muss das rein (ich habe schon einige angeschaut)
    2. In welchen feldern steht der Produktname und die gekaufte stückzahl drin ?

    DANKE
     
  12. Wilken (Gambio)
    Wilken (Gambio) Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.311
    Danke vergeben:
    2.208
    Das funktioniert so nicht. Die Bezahlungsbenachrichtigung von PayPal kommt asynchrom zum Checkout, in einem anderen Prozess, der das dann in die Bestellung schreibt. Die Danke Seite im Checkout kommt vorher!

    Der Checkout wartet also nicht darauf. Dieses ganze "an PayPal dranhängen" willst du etwas so machen wie PayPal in den 0'er Jahren mal funktionierte, so sind die aber nicht mehr.
     
  13. Developer
    Developer Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    3.148
    Danke erhalten:
    718
    Danke vergeben:
    127
    Du bist zu sehr auf PayPal fixiert und dieser Weg ist der falsche.
     
  14. Dennis (MotivMonster.de)
    Dennis (MotivMonster.de) G-WARD 2013/14/15/16
    Registriert seit:
    22. September 2011
    Beiträge:
    31.303
    Danke erhalten:
    6.268
    Danke vergeben:
    1.118
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Wenn müsstest du es an den Bestellstatus hängen. Wenn Status Bezahlt dann ping an den Lizensserver das er die Lizens vergeben soll.
    Oder noch besser, Shop holt sich die Lizens, hinterlegt sie im SHop und schickt sie dann dem Kunden.
     
  15. Wilken (Gambio)
    Wilken (Gambio) Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.311
    Danke vergeben:
    2.208
    Das ist tatsächlich die wahre Lösung. An den Bestellstatuswechsel einen Ping zu diesem Lizenzserver hängen, und wahrscheinlich ne Mail an den Kunden mit Link oder sowas, oder einen Link dazu im Kundenbereich. Du solltest darüber mal mit einer Agentur reden.
     
  16. Anonymous
    Anonymous Mitglied
    Registriert seit:
    21. Februar 2019
    Beiträge:
    10
    Danke erhalten:
    0
    Hallo Dennis , Hallo Wilken,

    nach dem post von Wilken habe ich auch schon an den Bestellstatuswechsel gedacht.

    Wo findet der statt (Datei ? / Modul ?), dann muss ich noch die letzte Bestellung finden und
    durchgehen und an Hand der Produkte den Lizenz-Server aufrufen.
    Ich denke eine Agentur werde ich mir nicht leisten.
     
  17. Developer
    Developer Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    3.148
    Danke erhalten:
    718
    Danke vergeben:
    127
    Hallo Digs,

    das musst Du auch nicht. Wenn das Verständnis für die Realisierung von Scripten da ist, dann empfehle ich dir diese Seite von Gambio: https://developers.gambio.de/tutorials.html?v=3.11.3.0

    Da bekommst Du sicherlich auch detaillierte Antworten auf deine Fragen. :)
     
  18. Wilken (Gambio)
    Wilken (Gambio) Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.311
    Danke vergeben:
    2.208
    Es gibt nicht die eine Stelle, an der du da ansetzen kannst. Es gibt den OrderStatusService, der ist aber noch vergleichsweise jung. Der ist dafür gedacht, das an einer Stelle zusammenzufassen. Es gibt aber aus den vorherigen Zeiten noch gar nicht wenig Dinge, die an dem vorbei direkt auf der Datenbank herumschreiben.

    Du könntest dir ansehen, wie der Afterbuy Connector funktioniert, der sucht nach aktuellen, nicht übertragenen, gezahlten Bestellungen um die zu übergeben.

    Du könntest eine kleine REST-APP schreiben, die die Daten aus der Shop API holt.