PHP PayPal Plus Basisskript – Einfacher Start für deinen Shop

PayPal wirbt mit seinem neuen Produkt: PayPal Plus soll den eigenen Shop voranbringen mit mehreren Zahlungsarten und einfacher Handhabung.

Jedoch ist die Einbindung nicht so einfach, wie beispielsweise der Button-Code der bisherigen PayPal-Einbindungen.

Wir stellen euch ein preiswertes Schnellstarter Skript für PHP bereit. Es handelt sich um ein Basisskript. Ihr könne euer Logo und den Namen hinterlegen. Danach die Produktdaten eintragen und schon sind Zahlungen möglich.

Auch wer weitere Anpassungen benötigt, ist bei diesem PHP Skript richtig: Es eignet sich auch hervorragend als Basis für weitere Anpassungen und Einbindungen ins eigene System.

Das Skript könnt ihr hier für einmalig 44,99 Euro herunterladen (nach §19 UStG ohne USt).

Machen Sie sich mit dem Skript anhand der Screenshots und der hier einsehbaren Anleitung vor dem Kauf vertraut.

Sie stimmen den AGB zu und, dass das Widerrufsrecht bereits mit der Zusendung des Skriptes abläuft.

Zahlungspflichtig kaufen und per Mail zusenden >

Viel Spaß mit der Einbindung von PayPal Plus in euer System! Tipp: Wir bieten seit einiger Zeit auch eine preiswerte und sehr komfortable Möglichkeit an, die Zahlungsarten Lastschrift, Kreditkarte, PayPal und Überweisung (aka Rechnungszahlung) anzubieten. Mit Billingmaker Payment können die SEPA-Lastschriften im eigenen Shop eingezogen werden und das direkt mit der eigenen Bank!

Veröffentlichung der Version 1.0 am 06.01.2016. Neuveröffentlichung der aktuellen Version 1.1 am 23.12.2017.

  • Fuchas

    PayPal Plus klingt interessant, nur die Einbindung ist doch etwas schwieriger…
    da kommt das Script gerade recht!

    • http://de.merq.org/ merqde

      Danke fürs Feedback ;)

  • Jan

    Hi Bekaan! Wo kann man das Skript mal testen bzw. gibt es die Möglichkeit, einige weitere Screenshot hochzuladen? Wie wird die Übergabe der entsprechenden Daten, – u.a. Betrag, Vor- und Nachname, E-Mail – durchgeführt. POST/GET? Vermutlich POST, oder? Darüber hinaus wäre es schön zu wissen, ob das System grundsätzlich alleinstehend funktioniert oder z.B. für die Integration in ein Shopsystem programmiert ist. Ich frage deshalb, weil ich ein CRM-System benutze und ich möchte die dort angelegten Rechnung über PayPal Plus abwickeln können.

    • http://de.merq.org/ merqde

      Hi Jan,
      die Parameter werden einfach in den Variablen gesetzt (siehe angehängter Screenshot).

      Nachdem die Variablen gesetzt wurden, kann die Bezahlseite (siehe Screenshots im Artikel) genutzt werden. Als Rückleitung wird wieder die Skript URL angegeben. Das Skript führt erst dann die Zahlung aus (, überprüft diese) und gibt die Rückmeldung “Die Zahlung war erfolgreich”. Dort kann dann angesetzt werden und weitere automatische Abläufe ($json) eingesetzt werden.

      Das Skript ist somit sehr übersichtlich gehalten und kann alleinstehend laufen, aber auch gut als Grundlage genutzt werden.

      • http://de.merq.org/ merqde

        Noch ein kleiner Tipp: Mit unserem Angebot https://payment.billingmaker.com lassen sich Lastschriften (SMS Überprüfung möglich) ohne großen Aufwand selbst anbieten. Man hat Vorteile hinsichtlich der Preise und die Buchungen landen gleich auf dem eigenen Konto.

        Wir nutzen in diesem Zusammenhang auch PayPal (mit den normalen Konditionen). So erhält man ein ähnliches Ergebnis, siehe Screenshot.

  • Max Bar

    Hallo, vielen Dank für das Script.
    Leider hänge ich jetzt genau an der gleichen Stelle, wie zuvor mit meinem selbst erstellten Code :(

    Ich konnte das Script Problemlos einbinden und es läuft bei mir im Sandbox mode, ich habe folgende Zeile in den JS Aufruf, wie in der PayPal Plus Dokumentation beschrieben hinzugefügt: (“showPuiOnSandbox”: “true”) ohne ().

    Wenn ich nun “Kauf auf Rechnung” auswähle, komme ich zu PayPal, soweit so gut, sobald ich dort alle Daten eingeben habe kommt die Fehlermeldung:

    Leider können wir Ihren Kauf auf Rechnung derzeit nicht verarbeiten.
    Wählen Sie eine andere Zahlungsmethode.
    Zurück zu XYZ.de

    Habt ihr eine Idee?

    • http://de.merq.org/ merqde

      Ich habe es genauso testen können und erhalte nach Dateneingabe auch die Meldung. Die Meldung erscheint auch, falls PayPal dem Kunden kein “Kauf auf Rechnung” anbieten möchte (Bonitätsprüfung etc.).
      Wahrscheinlich ist die “Kauf auf Rechnung” nicht vollständig in der Sandbox testbar. Für die Nutzung im Produktivbereich muss auch eine gesonderte Freischaltung erfolgen.

      Vielleicht kannst du / können Sie mal bei PayPal bzgl. der Ablehnung nachfragen und uns in den Kommentaren auf den laufenden Stand halten. Danke!

      • Max Bar

        Über developer.paypal.com wurde mir leider nicht ersichtlich, wie ich ein Ticket aufgebe, nur ein Verweis auf stackoverflow.com, deshalb habe ich dort dieses Ticket aufgegeben:
        http://stackoverflow.com/questions/36307650/paypal-plus-sandbox-pay-upon-invoice

        Die Hotline von PayPal hat mir am Telefon erzählt, das für “Kauf auf Rechnung” ein monatlicher Umsatz von mind. 5.000 € gegeben sein muss, bis PayPal einem die Möglichkeit bietet im Live Betrieb “Kauf auf Rechnung” anzubieten über PayPal Plus.

        • http://de.merq.org/ merqde

          Danke fürs Update! Ggf. kann auch über den Autor des PayPal Plus Leitfadens (XING etc.) Kontakt aufgenommen werden. Ansonsten beim appreview@paypal.com nach einem Ansprechpartner fragen.

          Oder unseren eigenen preiswerten Payment Gateway für Lastschriften, PayPal, Kreditkarte und demnächst auch Zahlung per Überweisung/Rechnung (ohne Mindestumsatz) nutzen ;)
          https://payment.billingmaker.com

          • http://de.merq.org/ merqde

            Nachtrag: Nun sind auch Überweisungen (aka Rechnungszahlung) bei Billingmaker Payment möglich. Das System überprüft automatisch, ob ein Zahlungseingang vorliegt.

  • ati

    Habe nach unzähligen Stunden Recherche das Basisscript gekauft, nach Anleitung (zuerst etwas verwirrend, aber gut und einfach) installiert und siehe da – es funktioniert! Danke!

    • ati

      Jetzt habe ich doch ein Problem. Sandbox OK, alle Varianten, live kommt folgende Fehlermeldung: “Aus technischen Gründen können zurzeit keine Zahlungen verarbeitet werden.” Idee?

      • http://de.merq.org/ merqde

        PayPal Plus muss natürlich beantragt worden sein:
        https://www.paypal.com/de/webapps/mpp/paypal-plus

        Und im Skript muss die .sanbox Zeile wieder entfernt werden. Das experience_profile auch austauschen, falls gesetzt.
        Ansonsten beim PayPal Plus Support melden.

        • ati

          PPP wurde beantragt und freigeschaltet. Die Sandbox wurde natürlich deaktiviert. Das experience_profile_id wird bei Bedarf dynamisch erzeugt. Ich werde das Telefon bemühen …

          • https://gochilla.com GOCHILLA

            Bist du hier weitergekommen? Wir haben gerade genau das gleiche Problem. Sandbox alles prima, Live nix…

  • Roman L

    Insgesamt gutes Script. Allerdings erhalte ich den Fehler:

    Notice: Undefined index: paymentId in /var/www/web1/htdocs/zahlung.php on line 30

    Nach einer Zahlung im Sandbox-Modus erhalte ich nicht die Rückmeldung, dass die Zahlung erfolgreich abgeschlossen worden ist, sondern lande einfach wieder auf der Seite selbst und kann zwischen den Zahlungsmethoden wählen.

    • http://de.merq.org/ merqde

      Bitte einmal die Rückleitungsurl angeben mit Parametern. Die Parameter gerne anonymisieren. Beispiel: /zahlung.php?param1=xxx

      • Roman L

        Hallo :-)

        Die Rückleitungsurl hat in meinem Test keine Parameter.

        • http://de.merq.org/ merqde

          Ich habe es nochmal getestet:

          Ohne Anpassungen am Skript (außer Zugangsdaten, Euro, Beschreibung), wird man nach der Zahlung auf diese URL weitergeleitet:
          https://www.example.com/zahlung.php?paymentId=PAY-XXX&token=EC-XXX&PayerID=XXX

          $return_url = “https://www.example.com/zahlung.php”;

          Sollte dies bei Ihnen nicht passieren, bitte den Server/Konfiguration überprüfen und mögliche Anpassungen am Skript überarbeiten.

  • Oliver

    Hallo,
    nachdem ich die Punkte 1 und 2 der Anleitung abgearbeitet hatte, habe ich das template.php hochgeladen und gestartet.
    Leider passierte dann gar nichts – das Script hat ein paar Sekunden geladen und eine komplett leere Seite ausgegeben.
    Woran kann das liegen?

    • http://de.merq.org/ merqde

      Sie können uns die template.php gerne per Mail (siehe Impressum) zusenden zwecks Überprüfung.

    • ShooTerKo

      Bei mir passierte auch nichts, der Fehler lag aber woanders: Der Firmenname darf nicht länger als 50 Zeichen sein ;-)
      Habe das erst gemerkt, als der andere Tipp nichts brachte und ein echo($result); diese Serverantwort ergab!

      BTW: So cool und einfach! Danke!

      Viele Grüße,
      ShooTerKo

  • Mirko

    Ein gutes Script, leicht zum Einbau in vorhandenes System.

    Gibt es irgendwo eine Creditkartennummer mit der man Testen kann?
    Alle Nummern die ich probiert habe enden in der Meldung
    “Entschuldigung, das hat gerade nicht funktioniert. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode.”

  • FS

    Tatsächlich gut auf das wesentliche reduziert, sodass es schnell und leicht einzubinden ist ohne stundenlang die Doku und das SDk zu studieren. Wäre schön gewesen, wenn der Kauf auf Rechnung im Skript etwas mehr Berücksichtigung gefunden hätte, aber es ist trotzdem ok.

    • Christina Meyer

      Hallo, ich habe auch interesse an dem Script. Ist Kauf auf Rechnung also nicht implementiert?

      • http://de.merq.org/ merqde

        Hallo,
        Kauf auf Rechnung kann ohne Probleme verwendet werden auf technischer Seite.

        Zum Testen in der Sandbox sollte man diese Zeile hinzufügen:

        showPuiOnSandbox: “true”,

        Für den Live Betrieb muss eine Freischaltung bei PayPal beantragt werden. Meistens nur für Großkunden/händler möglich. Eine Alternative stellt dazu noch unser eigenes System dar: https://payment.billingmaker.com/info/ueberweisung

  • Micha

    Hi,

    danke für das Script aber ich brauche in der zahlung.php zugriff auf Session variablen. Wenn ich an erster Stelle in der zahlung.php

    if (!session_id()) {
    session_start();
    }

    eingebe dann bringt er einen Fehler Header allready sent. Wie kann hier weitergeholfen werden?

    gibt es eine möglichgkeit die Zahlung.php per ajax zu laden?

    VG
    Micha

    • http://de.merq.org/ merqde

      Hi,
      vielen Dank für die Anfrage!

      Zu den Sessions: Bitte die Kodierung überprüfen. Sprich ggf. UTF-8 ohne BOM verwenden (Notepad++).
      Zu AJAX: Die Zahlungsmethoden-Auswahl muss ja per iFrame geladen werden. Was würden Sie denn per AJAX laden wollen?

      VG

      • Micha

        Hi

        Danke für die schnelle Antwort. Also ich nutze eclipse denke nicht das da was umgestellt wurde. Oder was genau meinst du?

        Also am liebsteb würde ich das iframe in ein div laden wenn jemand den button zahlen in meinem formular klickt.

        Vielen Dank

        • http://de.merq.org/ merqde

          Der Code aus der zahlung.php lässt sich ja in eine vorhandene Seite an entsprechender Stelle (innerhalb eines DIVs) einfügen. Ggf. vorher das DIV verstecken und dann nach einem Buttonklick anzeigen lassen.

          Von der generellen Einbindungsmöglichkeit via Javscript/iFrame lässt sich nicht abweichen, da PayPal dies vorgibt.

          Weitere Infos zu Sessions/Header:
          http://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php (ggf. ein UTF8-BOM Konflikt).

          • Micha

            Hallo,

            das kann kein Fehler in der Datei sein von mir aus. Ich habe die Original datei mit dem text editor editiert und da kommt der selbe fehler mit den Sessions.

            Kann ich ggf einen parameter beim kauf mitschicken und bekomme diesen von paypal wieder als get zurück?

            VG
            Micha

          • Micha

            ok sorry lag an der korierung passt jetzt.

            Aber kann ich einen Parameter vor dem bezahlen mitschicken und diesen dann als get zurückbekommen nach erfolgter zahlung?

          • http://de.merq.org/ merqde

            ggf. funktioniert das Anhängen von Parametern (dynamisch) an die $return_url

  • Claus F

    Die URL in Punkt 1 Ihrer Anleitung funktioniert nicht: 1. Erstellen Sie Ihre LIVE client_id und das secret unter https://developer.paypal.com/webapps/developer/applications/myapps

  • Sebastian

    Funktioniert im Live Modus sehr gut, über die Sandbox bekommen wir allerdings nur einen Server Error im Fenster in dem eigentlich die Zahlungsarten ausgegeben werden sollen.

    • Mirko

      Da gibt es gerade Probleme mit der Sandbox.
      Im Moment geht es hin und wieder, ist aber noch nicht stabil

  • Sebastian

    Ist es möglich eigene Zahlungsarten in die Liste mit einzufügen?

  • Lars

    Script funktioniert soweit gut.
    Kann ich auch auswählen, dass nur bestimmte oder besser sogar nur einzelne Zahlungsarten aufgelistet werden?
    Hintergrund: Bei mir soll der Kunde durch ein eigenes Script die Zahlungsart auswählen können und am Ende des Bestellprozesses erst die Paypal-Zahlungsmöglichkeit angezeigt bekommen. Dann sollte aber nur die vorgewählte Zahlungsart erscheinen.
    Alternativ: Gibt Paypal nach erfolgreicher Zahlung eine Variable mit der ausgewälten Zahlungsart zurück?

    • http://de.merq.org/ merqde

      Danke für Ihr Feedback!
      Einzelne Zahlungsarten lassen sich in diesem Umfang nicht vorher definieren.
      Alternativ kann ich Ihnen unser eigenes System https://payment.billingmaker.com empfehlen. Dort wären diese Auswahlmöglichkeiten gegeben.

      Für die Variablen am besten print_r nehmen und sich den kompletten Array anzeigen lassen.

  • ShooTerKo

    Moin moin,
    zwei Dinge: Das Skript funktioniert hervorragend! Und die Einbindung klappte auch toll!
    Nun habe ich eine Mail von PayPal erhalten mit folgendem Inhalt:
    —–
    es gab ein wichtiges Update bei den API-Schnittstellen von PayPal PLUS. Aktualisieren Sie deshalb jetzt schnellstmöglich Ihre PayPal PLUS Integration und sorgen Sie damit für einen verantwortungsvollen Umgang mit den Daten Ihrer Kunden.
    —–

    Betrifft uns die Änderung auch? Aus der PayPal-Doku werde ich nicht schlau, deswegen habe ich mich ja schon so über euer Skript gefreut :-D

    Viele Grüße,
    ShooTerKo

    • http://de.merq.org/ merqde

      Vielen Dank für Ihr Feedback. Um dies prüfen zu können, bitte eine URL zu den Änderungen angeben.
      Falls PayPal Informationen zugesendet hat, wird meistens die Info beschrieben und verlinkt.

      • ShooTerKo

        Klar, sehr gern. In der Mail (Absender info@paypal-business.com) steht unter der Rubrik:

        Sie haben PayPal PLUS manuell integriert?
        Prüfen Sie bitte in unserem Online-Handbuch, ob Ihre PayPal PLUS Integration auf dem aktuellsten Stand ist,
        und aktualisieren Sie Ihre Integration entsprechend den Anleitungen.

        Dann der Link zum Handbuch: https://www.paypalobjects.com/digitalassets/c/website/marketing/emea/de/de/docs/integrating-paypal-plus-update.pdf?utm_campaign=PAY_PLUS_Data%20Privacy_2016%20-%20Rem_2&utm_medium=email&utm_source=Eloqua&elq_cid=12535658#page=8

        und das war es. Und jetzt weiß ich auch nicht. Hat denn niemand sonst diese Mail bekommen? Würde ja denken, dass mit so einer Mail alle Kunden informiert werden!?

        Ich erwarte jetzt nicht, dass ihr für mich die Doku durchstöbert. Aber vielleicht ergeben sich ja für euer Script auch Änderungen und dann könntet ihr diese berücksichtigen!

        Viele Grüße und vielen Dank,
        ShooTerKo

        • http://de.merq.org/ merqde

          Danke für die Infos!

          Also laut Update-Log im von Ihnen verlinkten Handbuch, wird ja nur die Sandbox API URL genannt.
          Und diese ist auch so im Skript enthalten.

          Bzw. im April haben wir die URL zur App Erstellung bei PayPal auch entsprechend angepasst (siehe letzten Artikelabsatz).

  • Daniel

    Funktioniert super.
    Vielleicht hat jemand einen Tipp?
    Die Butons pro Zahlart habe ich ausgelagert in einen “kostenpflichtig bestellen” Button.
    Wie kann ich dann ein Formular abschicken, dann wird PHP Code ausgeführt, und dann soll erst die Weiterleitung nach PayPal erfolgen?

    Viele Grüße
    Daniel

    • http://de.merq.org/ merqde

      Möglicher Ablauf:
      1. Skript wird ausgeführt, Zahlungsarten werden via iFrame angezeigt (1. Skriptteil).
      2. Weiterleitung zur Skriptdatei nach erfolgreicher PayPal Autorisierung.
      3. Auf der Bestätigungsseite wird die Zahlung noch NICHT durchgeführt, SONDERN ein “kostenpflichtig bestellen” Button. Erst falls der Kunde auf diesen klickt, wird die Zahlung via PHP ausgeführt (2. Skriptteil).

      • Daniel

        Danke schon mal für den Tipp. Vom Prinzip her ist es klar.
        Den 1. Skriptteil habe ich, mit “buttonLocation outside”, dort dann auch den Button “kostenpflichtig bestellen” – klicke ich diesen jetzt an, wird entsprechend auf PayPal weitergeleitet.

        Wenn ich jetzt den Button klicke und dann erst auf ein PHP Script verweise, wie kann ich dann rauskriegen welche Zahlungsarte gewählt wurde?
        Oder anderer Weg: Klick auf den Button lädt das PHP per Ajax und wenn dann eine entsprechende Rückmeldung kommt, dann die Verbindung zu Paypal machen?

        PayPal Integration war schon immer eine Folter.

  • https://gochilla.com GOCHILLA

    Hello, und zunächst Danke für das Script. Wir haben wie einige andere auch das Problem, dass das Script zwar im Sandbox-Modus funktioniert, sobald ich aber die Zeile mit „$mode“ aus kommentiere, erscheint in der „template.php“ nur noch eine weiße Seite.

    Wenn wir die Experience ID mit der template.php im Sandbox-Modus generieren, funktioniert die zahlung.php auch damit, solange wir im Sandbox Modus bleiben. Kommentieren wir auch hier die Zeile $mode aus, erscheint die typische Meldung „Aus technischen Gründen….“

    Wir haben schon versucht folgende Zeilen einzufügen, jedoch ohne weiteren Erfolg:

    curl_setopt($ch, CURLOPT_SSLVERSION, 6);
    curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, ‘SSLv3′);

    Woran kann es noch liegen?
    Besteht die Möglichkeit kostenpflichtigen Support nur für dieses Script zu erhalten?
    Falls ja, am besten direkt an info@gochilla.com wenden, wir brauchen das Script dringend ;)

    Viele Grüße

    • http://de.merq.org/ merqde

      Hallo, danke für die Anfrage!
      Bitte einmal um Mitteilung der URL zu eurer Demo-Seite, gerne per Kontaktformular.

  • schleiche

    Hallo,
    mit welchen Attributen kann ich die Adressdaten an Paypal weitergeben? Im Handbuch habe ich dazu nichts gefunden. Wir rufen das Skript nach dem checkout auf, wie beim alten Paypal. Wählt man Kreditkarte müssen ja alle Daten vom Kunden noch mal eingegeben werden.

    • http://de.merq.org/ merqde

      Sie können folgende Änderungen hinzufügen:
      Hinter “‘.$beschreibung.’” ein Komma setzen, Enter drücken und folgendes einfügen:

      “item_list”: {
      “shipping_address”: {
      “recipient_name”: “Max Mustermann”,
      “line1″: “Lieferstr. 1″,
      “city”: “Berlin”,
      “country_code”: “DE”,
      “postal_code”: “12345″
      }
      }

      • schleiche

        Vielen Dank.
        Ich hätte noch eine Frage. Kann man die Anzahl der Bezahlmethoden eingrenzen? Zum Beispiel dass bestimmte Bezahlmethoden nur bestimmten Kundengruppen angeboten werden? In Paypal habe ich z.B. 5 hinterlegt rufe aber nur 4 auf.

        • http://de.merq.org/ merqde

          Mir ist nur bekannt, dass optional weitere eigene Zahlungsarten hinzugefügt werden können. Es können nicht die Standards abgewählt werden. Flexibler sind Sie mit unserer Inhouse Lösung https://payment.billingmaker.com

  • André Mörke

    Hallo,
    danke für das Skript! Das Einbinden und lauffähig machen ging zügig und problemlos! Es sind dabei jedoch noch ein paar Fragen aufgekommen:

    1. Ist die “experience_profile_id” zwingend notwendig? Ich konnte es auch auskommentiert lassen und es funktionierte trotzdem.
    2. Kann man während des Bezahlvorgangs auf Events lauschen und Statusinformationen abfragen?
    3. Wir haben bei Paypal einen Developeraccount und in diesem jeweils einen Business Account und einen Personal-Account angelegt. Über den Business-Account wurden die Credentials für den Shop erzeugt. Mit dem Personal-Account haben wir eine Transaktion über die zahlung.php getätigt. Wie gesagt, beides sind Sandbox-Accounts. Nach erfolgreicher Transaktion ist bei beiden Account in der Transaktionsansicht kein Vorgang zu sehen. Funktioniert das aktuell nicht mit Sandbox-Accounts?

    Vielen Dank schonmal für Feedback und viele Grüße!

    • http://de.merq.org/ merqde

      Hallo,
      vielen Dank für die Anfrage!

      1. Ist nicht notwendig. Ist ja nur zur Individualisierung.
      2. Die eigentliche Bezahlung wird ja von Ihrem System selbst via Skript ausgeführt! Der Nutzer autorisiert diese nur zuvor. Im Skript finden Sie eine Zeile mit der Ausgabe “Zahlung erfolgreich”. Dort könnten Sie verschiedene Rückgaben, Fehler etc. auslesen.
      3. Wurden Sie denn auf das Skript zurückgeleitet und das Skript hat Ihnen dann die Zahlung bestätigt?

      • André Mörke

        Hallo,
        danke für das Feedback! Zu Punkt 3.: Ja, es wird weitergeleitet auf die im Parameter return_url angegebene URL, also Zahlung abgeschlossen. Wenn ich mir in dem Skript aber das $_REQUEST Array ausgeben lasse, sehe ich lediglich die als $_GET Parameter mitgegebenen Parameter. Die sagen zum Bezahlstatus oder dem Verlauf der Bezahlung (Pending etc.) beispielsweise garnichts aus:

        Array
        (
        [paymentId] => PAY-79N22492RL1593526LC6F4JY
        [token] => EC-9BG2618090370780H
        [PayerID] => 4FJK6HAXHZQ8N
        )

        Oder sollte hier mehr zurückkommen?
        Danke für Feedback im vorraus…

        • http://de.merq.org/ merqde

          Sie sollten auf das Skript zurückleiten! Im Skript wird dann erst die Zahlung verarbeitet!
          Hier ein Auszug aus dem entsprechenden Teil der Datei:

          $json = json_decode($result);
          $payed=$json->transactions[0]->related_resources[0]->sale->state;
          if ($payed==’completed’) {echo ‘Die Zahlung war erfolgreich!’;}

          Sie könnten mit print_r($json); sich den Inhalt des zurückgegebenen JSON-Objektes ausgeben lassen. Dort sind diverse Details über die Zahlung enthalten.

          • André Mörke

            Hallo merqde,

            perfekt! Das war der Knackpunkt! Ich danke für den super Support!

            Beste Grüße

  • Chris Martens

    Hallo,

    kann ich mit Paypal Plus auch Recurring Payments abwickeln?

    • http://de.merq.org/ merqde

      Hallo,

      mit PayPal Plus lassen sich keine wiederkehrenden Zahlungen verarbeiten.

      Dafür kann ich Ihnen unsere Software https://payment.billingmaker.com empfehlen.
      Dort können beispielsweise wiederkehrende Kreditkarten-, PayPal- und Lastschriftzahlungen angelegt werden.

  • Karsten

    Hallo, ich habe direkt zwei Fragen.

    1.) kann ich die Standard Zahlunsmethoden von PayPal (Lastschrift,Kreditkarte) ebenfalls mit einer individuellen Beschreibung und einem Logo versehen?

    2.) Knn ich diese beiden Zahlungsmethoden Lastschrift und Kreditkarte vorauswählen (preselection). Klappt aktuell nur mit PayPal und meiner externen Zahlungsmethode.

  • Thomas Krüger

    Ich habe Ihr Script eingebunden, was sehr einfach von statten ging.
    Nun wurde von Seitens PayPal “Kauf auf Rechnung” freigegeben.
    Bei einer Zahlung bekommt der Kunde aber immer die Meldung “Leider können wir Ihren Kauf auf Rechnung derzeit nicht verarbeiten.”
    Ein Mitarbeiter der Hotline behauptet es würde am Code liegen, was ich mir nicht vorstellen kann.
    Der techn. Support von PayPal antwortet nicht.
    Kann hier jemand weiterhelfen? Woran kann das liegen?

    • http://de.merq.org/ merqde

      Wir hatten z.T. die Vermutung, dass es auch an den internen Überprüfungen (IP, Browser, Bonität…) von PayPal liegen kann.
      Ansonsten kann Ihnen bei richtiger Code-Verwendung (Testparameter aus der Sandbox deaktiviert etc.) nur der Support von PayPal weiterhelfen.

  • Stefan Bauer

    Hallo zusammen, ich bin auf der Suche nach einem Programmierer
    der für einen OsCommerce Shop ein PayPal Plus Modul erstellen kann.
    Der Shop läuft mit PHP 5.6

    Über Rückmeldungen würde ich mich freuen

    Mit freundlichen Grüßen Stefan

    • http://de.merq.org/ merqde

      Hallo,
      vielen Dank für den Kommentar!

      Sicherlich kann das hier veröffentlichte PayPal Plus Skript als Basis / Grundgerüst für den Aufbau eines Moduls genutzt werden. Unsere Programmierkapazitäten sind momentan ausgelastet. Ggf. kann ich Ihnen später noch eine Lösung / Hinweis zukommen lassen.

  • Johnny

    Hallo,
    vielen Dank für das Skript, funktioniert gut und bietet einen guten Einstieg.

    Habe noch eine Frage die jetzt bei der Einbindung aufkommen ist.
    Wir haben bis zum Abschluss der Bestellung verschiedene Schritte in den Daten des Kunden erfasst werden.
    Die Zahlung findet im vorletzten Schritt statt.

    Sofern die Zahlung erfolgreich war, wird auf die letzte Seite des Bestellprozess geleitet wo die Bestellung abgeschlossen wird.
    Sollte jemand nun die Bestellung nicht abschließen ist die Zahlung erfolgt aber die Bestellung nicht abgeschlossen.
    Somit müsste das Paypal Konto manuell geprüft werden ob Zahlungen und Bestellungen übereinstimmen.

    Gibt es hierfür seitens Paypal einen Prozess um die Zahlung erst mit dem Bestellabschluss abzuschließen?
    Somit müsste für nicht abgeschlossene Bestellungen kein eigener Prozess erstellt werden.

    Viele Grüße
    Johnny

  • Alexander

    Hallo, leider bekommen ich nach der Anleitung gemäß aufgerufenen Site template.php keine weiteren Anzeigfen, die angezeigte Seite ist kpl. leer. Läuft auf PHP7, ist das ein Problem ?
    Gruß Alexander

    • http://de.merq.org/ merqde

      Sie können uns gerne Ihre ausgefüllte Datei (ggf. ohne API Daten) per Mail zusenden. Ich habe Ihnen gerade eine Mail geschrieben.

  • Alexander

    Sorry, zu dicke Finger an der Tastatur.

  • Sascha

    Hallo, ich bin leider nur Laie. Wo muss ich denn die Datei hinladen und wie kann ich sie ausführen. Brauche ich dafür ein Plugin?
    Gruß
    Sascha

    • Sascha

      Habs geschafft…

      • http://de.merq.org/ merqde

        Das freut mich. Die Dateien müssen lediglich auf einem Server mit PHP Unterstützung ausgeführt werden.

        • Sascha

          Ich habe alles installiert. Das Bezahlfenster wird auch wie gewollt aufgerufen. Die Daten können ganz normal eingegeben werden, aber nach dem Abschließen der Zahlung passiert – nichts. Der Vorgang wird ignoriert, eine Transaktion hat nicht stattgefunden. Woran kann das liegen?

          • http://de.merq.org/ merqde

            Haben Sie als Rückleitungs-URL auch die URL zum Skript angegeben? Das Skript löst dann erst die Zahlung aus…

          • Sascha

            Ich denke nicht. Ich habe das gemacht, was in Eurer Anleitung stand. Von einer Rückleitung auf die Script URL stand da nichts. Oder? Da brauche ich bitte kurze Hilfestellung. Handelt es sich um die $return_url am Anfang des Scripts? Muss da die URL des Script rein? Wie kann ich die URL denn anzeigen lassen?
            Danke für die Hilfe

          • http://de.merq.org/ merqde

            Es ist der Punkt 5 in der Anleitung. Ja, es handelt sich um $return_url. Dort sollte dann einfach die URL zum Skript rein. D.h. der Link, welchen Sie auch zum Aufrufen des Skriptes im Browser verwenden. Bspw. https://www.shop.de/paypal/zahlung.php

          • Sascha

            Es tut mir leid, ich muss noch mal nachhaken, ich bin Anfänger… Ich wusste nicht, wie ich das Script nun genau auf dem Server ausführen muss, also habe ich den Inhalt des Templates in ein PHP Snippet Plugin übertragen und dieses dann in die Seite eingefügt. Das hat eigentlich auch geklappt. Nur weiß ich jetzt nicht, wie ich an die URL komme, die ich als Return eintragen muss. Ich kann keine anzeigen oder generieren. Sorry für die Umstände.

          • http://de.merq.org/ merqde

            Es ist vorteilhafter, das Skript erst einmal losgelöst zu testen. D.h. laden Sie die Dateien erst einmal auf den Webspace hoch und richten Sie das Skript ein. Wenn dann alles funktioniert, sind Sie mit den Gegebenheiten vertraut und können die Teile integrieren.

            In Ihrem Fall könnten Sie aber auch einfach die Integration so belassen und das Skript nochmals als Datei hochladen. Beispielsweise unter meinshop.de/zahlung.php diese Adresse würden Sie dann in dem Skript/auf Ihrer Seite hinterlegen…

          • Sascha

            Schönen Dank, werde ich probieren. Gehe ich recht in der Annahme, dass für jeden Preis eigenes Script brauche? Der Kunde kann keine freie Preisangabe machen, wie beim Basis Paypal Plugin? (Wir nutzen Paypal nur zum Gutscheinverkauf).

          • http://de.merq.org/ merqde

            Am besten vorher den Preis über ein HTML Formular abfragen und via PHP an das Skript weitergeben. Somit kann auch die selbe Funktionalität auf der eigenen Seite dargestellt werden.

  • Fabian F

    Hallo,
    Ist der Code noch up to Date?
    Und wie ist PP Plus integriert worden, also in welcher Sprache?
    Rein in PHP?

    • http://de.merq.org/ merqde

      Hallo, vielen Dank für die Anfrage hier!

      Wie im Artikel ersichtlich ist der Code aktuell und in PHP geschrieben.

      Mit dem Skript können Sie PayPal Plus in Ihr Projekt integrieren bzw. haben einen funktionsfähigen Basisablauf. Das Skript kann auf einem Server mit PHP Unterstützung und Standarderweiterungen (cURL etc.) ausgeführt werden. Bei Fragen, können Sie sich auch über unser Kontaktformular melden.

      • Fabian F

        So gekauft… aber… es wird ja doch ein JavaScript aufgerufen um die Zahlungsart zu wählen…

        • http://de.merq.org/ merqde

          Vielen Dank für Ihr Feedback.

          PayPal Plus hat einen vorgegebenen Ablauf, dieser umfasst auch die Auswahl der Zahlungsart mittels JS…

          Die eigentliche Zahlungsverarbeitung findet wie erwähnt über PHP statt. Falls Sie weitergehende Informationen zur generellen Funktionsweise von PayPal Plus benötigen, können Sie (wie im Artikel bzw. der Anleitung verlinkt), hier nachsehen:

          https://www.paypalobjects.com/webstatic/de_DE/downloads/PayPal-PLUS-IntegrationGuide.pdf

  • Patrick Rost

    Hallo. Ich habe mir das Script gekauft und es funktioniert soweit auch alles. Eine Frage habe ich trotzdem :) Was muss man machen damit man den Kauf auf Rechnung engeben kann? Ich bekomms einfach nicht hin. Ich weiß das es sicherlich nicht an Eurem Script sondern an PayPal liegt aber vielleicht habt Ihr einen Tipp für mich. LG Patrick Rost

    • http://de.merq.org/ merqde

      Hallo, diese Zahlungsart steht leider nicht allen Händlern zur Verfügung. Bitte kontaktieren Sie PayPal bzgl. der Freischaltung der Rechnungszahlung.

  • Ben Dit

    ich habe das skript gekauft, angepasst und installiert. es läuft “irgendwie”, aber nicht so wie ich möchte.

    Ich möchte:
    - 3 paypal-plus buttons für 3 verschiedene Preise auf der Seite einbinden
    - die Käufer nach dem Kauf auf eine spezielle Seite auf meiner Domain weiterleiten

    Was ich gemacht habe:
    - 3 paypal-plus buttons über das paypal button-tool generiert
    - 3 versionen der zahlung.php erstellt (für die 3 Preise)
    - im button-code auf die jeweilige zahlung.php verwiesen
    - als $return_url auch die URL zum Skript angegeben (obwohl das nicht in der Anleitung auftaucht; hattest Du in einem anderen Beitrag weiter unten gesagt dass das nötig ist)

    Mir ist bewusst, dass das sehr gebastelt ist. Ich bin kein Profi und hatte mir mehr Hilfe durch Deine Skripte erhofft. Aber okay. Vielleicht kannst Du mir noch einen Tipp geben, wie ich die Weiterleitung auf eine spezielle URL nach dem Kauf hinbekomme, das ist uns wichtig.

    DANKE!

    bernd

    • http://de.merq.org/ merqde

      Hallo,
      vielen Dank für die Anfrage. Das Skript ist für den Einstieg gedacht.

      Es ist so gedacht, dass man es erst einmal alleine einrichtet und laufen lässt. Danach ist man mit der Funktionsweise vertraut und kann es an eigene Systeme selbst anpassen oder einbinden lassen.

      Der PayPal Button Generator sollte natürlich nicht für PayPal Plus genutzt werden. Dafür könnte eine if Abfrage mit unterschiedlichen Preisen in der Skript Datei hinterlegt werden.

      Das mit der $return_url ist schon im Skript vorgegeben…
      Natürlich kann dann später eine eigene $return_url eingetragen werden. Auf dieser Seite müsste dann aber auch der Skript Code einfach hinterlegt (kopiert) werden, damit die Zahlung verarbeitet wird. Ich hoffe, dass du so erst einmal etwas weiter kommst.

      Viele Grüße, Nico (de.merq.org)

      • Ben Dit

        Hallo Nico,

        danke für Deine Antwort. Ich hatte darauf gehofft, dass das Skript eher an Anfänger gerichtet ist. Und eine ZielURL für “nach dem Kauf” anzugeben, halte ich für eine recht grundlegende Funktionalität (die ja der Button-Generator von paypal z.B. auch anbietet)

        Vielleicht kannst Du mir einen Tipp geben, wie ich Euren Code modifizieren müsste, um eine Weiterleitung zu erreichen? Ich nehme an die richtige Stelle im Skript wäre bei

        if ($payed==’completed’) {echo ‘Die Zahlung war erfolgreich!’;}
        exit;

        Leider hatte ich noch nie mit $JSON zu tun…

        Vielen Dank, und viele Grüße,

        Bernd

        • http://de.merq.org/ merqde

          Hallo Bernd,

          danke für die Rückmeldung!

          Ja, das Skript ist auch gut für Einsteiger geeignet. So kann man das Skript erst einmal losgelöst einrichten und muss sich dann aber in der Tat etwas einarbeiten für eine spezifische Integration: “Es eignet sich auch hervorragend als Basis für weitere Anpassungen und Einbindungen ins eigene System.”.

          Man kann wie folgt vorgehen: Das Skript/iFrame in die eigene Zahlungsseite einfügen und das Skript nochmals komplett auf der Zielseite/Weiterleitungsseite einfügen (dort sind dann aber auch nicht alle Skriptteile notwendig).

          Dann einfach bei $return_url diese Weitereleitungsurl einfügen.

          Der folgende Codeteil

          echo ‘Die Zahlung war erfolgreich!’;

          kann dann ersetzt werden durch eigene Texte und / oder Abläufe, die nach der Zahlung stattfinden sollen.

          Viele Grüße
          Nico

          • Ben Dit

            Hallo Nico,

            danke für Deine Antwort, die mir zumindest emotional ein wenig weitergeholfen hat.

            Ich habe nach wie vor den Eindruck, dass das Skript für Einsteiger – wie mich – nur bedingt geeignet ist. Ein wenig Anpassung ist ja immer nötig, und da sind die vom Skript abgedeckten Möglichkeiten doch recht dünn. Sorry, aber das ist mein Eindruck, und 35€ ist ja auch nicht gerade hinterhergeschmissen.

            Wie dem auch sei, ich habe jetzt eine automatische Weiterleitung nach dem Kauf hingebastelt, und zwar so:

            if ($payed==’completed’) {echo ‘Du wirst gleich automatisch weitergeleitet. Sollte das nicht passieren, bitte HIER KLICKEN um zur ZIELSEITE zu gelangen’;}

            vielleicht gibt es ja andere Bastler, denen ich 2-3 Stunden Rumprobieren ersparen kann. Hätte ich mir auch gerne erspart! Aber nun denn, Ende gut, alles gut.

  • Ben Dit

    kurze Frage nebenbei: habt Ihr meine Kommentare/Fragen als SPAM markiert, nur weil ich nicht 100%ig zufrieden war? wäre echt komischer Stil….

  • Frank Schultz

    Guten Morgen und vielen Dank für das Skript,
    muss die ReturnUrl auf das Skript also auf zahlung.php zurückleiten um die Transaktion zu verarbeiten? Oder kann ich jede beliebige URL dort eintragen?

    • http://de.merq.org/ merqde

      Guten Morgen, vielen Dank für Ihre Anfrage. Es sollte auf das Skript zurückgeleitet werden, damit die Zahlung verarbeitet werden kann.
      Nachdem Sie diesen Prozess nachvollziehen können, kann natürlich auch eine andere URL hinterlegt werden. Dort muss dann allerdings auch das Skript hinterlegt/eingefügt worden sein zur Verarbeitung.

  • Christian Fink

    wo finde ich den die screenshots vom script

    • http://de.merq.org/ merqde

      Vielen Dank für Ihr Interesse an unserem Skript! Im Artikel finden Sie unter anderem die Screenshots zum Kaufvorgang und zur Zahlungsseite. In den Kommentaren finden sich auch noch Bildschirmfotos von der Konfiguration. Weitere Informationen sind zudem in der verlinkten Anleitung ersichtlich.
      Falls noch Fragen offen sind, können Sie sich gerne melden.

  • Domenik Töfflinger

    Hallo, wie integriere ich die IPN Funktion von PayPal?

    Grüße!

    • http://de.merq.org/ merqde

      Hi,

      IPN wird bei PayPal Plus nicht mehr verwendet. Nach der Auswahl der Zahlungsart gelangt der Benutzer auf eine PayPal Seite. Dort kann die Zahlung autorisiert werden. Es folgt eine Zurückleitung auf das Skript.

      Nun führt das Skript (serverseitig) die Zahlung aus und erhält direkt die Rückgabe, ob die Zahlung erfolgreich war (siehe Skript “Zahlung erfolgreich”).

      Gruß
      Nico

      • Domenik Töfflinger

        Habe ich soweit alles eingebunden. Ich habe die Befürchtung, dass gewisse Parameter nicht übergeben werden. Über den IPN Simulator funktioniert mein IPN Script, jedoch nicht über das PayPal PLUS Formular. Kann das was mit cURL etc. auf sich haben?

        • http://de.merq.org/ merqde

          Laut PayPal Plus Dokumentation (siehe Anleitung) sollte IPN auch nicht mehr verwendet werden. Hier steht das modernere REST Payment zur Verfügung.

          PayPal:
          “Instant Payment Notification is no longer supported in PayPal REST Payment. Existing
          integrations with IPN will continue to work but the listener script can no longer be
          referenced in the API calls.”

  • bitwarsoftware