Zurück

VibeFox PayPal for PrestaShop — Hilfe

Anforderungen

PrestaShop: 8.0 bis 9.x.

PHP: 8.0 oder neuer. Das Modul verweigert die Installation auf älteren PHP-Versionen.

PayPal-Konto: ein PayPal-Business-Konto mit einer REST-API-App im PayPal Developer Dashboard. Sie benötigen die Client ID und das Secret der App. Sandbox- und Live-Apps haben unterschiedliche Zugangsdaten. Ein Webhook ist nicht nötig: Das Modul bestätigt jede Zahlung auf Ihrem Server, während sich der Kunde in der Kasse befindet.

Währung: eine der Währungen, die PayPal unterstützt: AUD, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, ILS, JPY, MXN, MYR, NOK, NZD, PHP, PLN, SEK, SGD, THB, TWD oder USD.

VibeFox-Lizenzschlüssel: Erwerb auf vibefox.net. Ein Schlüssel funktioniert auf einer Domain.

Installation

1. Gehen Sie im Back Office zu Modules > Module Manager und klicken Sie auf Upload a module. Wählen Sie die ZIP-Datei des Moduls aus.

2. Wenn der Upload abgeschlossen ist, klicken Sie auf Configure, oder suchen Sie VibeFox PayPal Gateway später in der Modulliste und klicken Sie dort auf Configure.

3. Geben Sie Ihren VibeFox-Lizenzschlüssel im Feld License key im Lizenzblock oben auf der Seite Configure ein und klicken Sie auf Activate (siehe Lizenzschlüssel).

4. Erstellen Sie im PayPal Developer Dashboard eine REST-API-App (Sandbox und/oder Live) und kopieren Sie deren Client ID und Secret.

5. Geben Sie die Zugangsdaten des Modus ein, den Sie verwenden, wählen Sie Capture oder Authorize, aktivieren Sie Enable/Disable und klicken Sie auf Save.

6. Testen Sie mit einem PayPal-Sandbox-Käuferkonto. Deaktivieren Sie danach Sandbox mode und geben Sie die Live-Zugangsdaten ein.

Bei der Installation legt das Modul drei Bestellstatus an: PayPal payment authorized, Awaiting PayPal payment und PayPal payment on hold. PrestaShop bietet ein neues Zahlungsmodul für alle Währungen, Länder und Kundengruppen an. Sie können es unter Payment > Preferences einschränken.

Konfiguration

Alle Einstellungen befinden sich auf der Modulseite: Modules > Module Manager > VibeFox PayPal Gateway > Configure. Jeder Abschnitt hat eine eigene Schaltfläche Save, die die gesamte Seite speichert. Oberhalb der Felder warnt die Seite, wenn die Zahlungsart aktiviert ist, aber die Client ID oder das Secret des gewählten Modus leer ist, und wenn PayPal die Standardwährung des Shops nicht unterstützt. In beiden Fällen wird die Zahlungsart in der Kasse ausgeblendet. Solange der Sandbox-Modus aktiv ist, zeigt die Seite Sandbox mode is on: payments go to the PayPal sandbox, no real money is moved. an. Beim Speichern der Einstellungen werden die zwischengespeicherten PayPal-Zugriffstoken verworfen, sodass die neuen Zugangsdaten sofort verwendet werden.

Allgemein

Enable/Disable: Enable PayPal Gateway schaltet die Zahlungsart ein oder aus. Standard: aus.

Title: der Name der Zahlungsart, den Kunden in der Kasse sehen. Er wird auch als Name der Zahlungsart in der Bestellung gespeichert. Standard: PayPal. Pflichtfeld.

Description: der Text, der in der Kasse unter der Zahlungsart angezeigt wird. Standard: Pay with your PayPal account or a card via PayPal.

API-Zugangsdaten

Erstellen Sie eine REST-API-App im PayPal Developer Dashboard und kopieren Sie deren Client ID und Secret. Der Abschnitt enthält Links zu den Sandbox-Apps und den Live-Apps. Es werden nur die Felder des gewählten Modus angezeigt; die Zugangsdaten beider Modi bleiben gespeichert.

Sandbox mode: Zahlungen gehen mit den Sandbox-Zugangsdaten an die PayPal-Sandbox; es wird kein echtes Geld bewegt. Standard: an. Schalten Sie es aus, um Live-Zahlungen anzunehmen. Erfassungen, Stornierungen und Erstattungen verwenden immer die Umgebung, in der die Bestellung bezahlt wurde. Solange es aktiv ist, sehen Kunden unter der Zahlungsart Sandbox mode: pay with a PayPal sandbox buyer account — no real money is charged.

Sandbox Client ID: die Client ID Ihrer Sandbox-REST-API-App.

Sandbox Secret: das Secret Ihrer Sandbox-REST-API-App.

Live Client ID: die Client ID Ihrer Live-REST-API-App.

Live Secret: das Secret Ihrer Live-REST-API-App.

Gespeicherte Secrets werden nie wieder angezeigt. Das Feld bleibt leer und zeigt Saved — leave empty to keep it. Geben Sie nur dann einen neuen Wert ein, wenn Sie ihn ändern möchten.

Clear saved secrets: Markieren Sie ein Secret und klicken Sie auf Save, um es zu entfernen. Ein leeres Feld behält den gespeicherten Wert.

Zahlung

Payment action: was passiert, wenn der Kunde die Zahlung freigibt. Standard: Capture.

Capture: Der Kunde wird sofort belastet, und die Bestellung wird auf Payment accepted gesetzt.
Authorize: Die Mittel werden nur reserviert, und die Bestellung erhält den Status PayPal payment authorized. Erfassen oder stornieren Sie die Zahlung im PayPal-Block der Bestellseite. PayPal-Autorisierungen können innerhalb von 29 Tagen erfasst werden.

Erweitert

Debug log: protokolliert API-Anfragen in logs/wc_plg_debug.log.php im Modulordner. Die Datei kann nicht über das Web geöffnet werden. Fehler und Warnungen werden immer protokolliert, auch wenn dieser Schalter aus ist. Zugangsdaten, Token und Käuferdaten werden nie protokolliert. Standard: aus.

Log: zeigt die Größe und die neuesten Einträge des Protokolls. Klicken Sie auf Clear log, um es zu leeren.

Delete data on uninstall: Wenn aktiviert, entfernt die Deinstallation des Moduls die Gateway-Einstellungen, die zwischengespeicherten Token und das Protokoll. Zahlungsdaten der Bestellungen (PayPal-IDs der Bestellungen, Erstattungen) und die Bestellstatus bleiben immer erhalten. Standard: aus.

Kasse

Im Zahlungsschritt wählt der Kunde die Zahlungsart (standardmäßig PayPal), und die PayPal-Schaltfläche erscheint anstelle des Zahlungsformulars. Ein Klick auf die Schaltfläche erstellt auf Ihrem Server eine PayPal-Bestellung für die Warenkorbsumme in der Warenkorbwährung. Der Betrag wird immer auf dem Server berechnet, nie im Browser. Zu diesem Zeitpunkt existiert noch keine Bestellung.

Der Kunde bestätigt die Zahlung im PayPal-Fenster mit einem PayPal-Konto oder einer anderen von PayPal angebotenen Zahlungsquelle. Die Kasse zeigt dann PayPal payment approved. Completing your order… und legt die Bestellung an. Wenn die AGB noch nicht akzeptiert wurden, zeigt die Kasse PayPal payment approved. Click "Place order" to complete it. Klickt der Kunde auf Place order, ohne eine Zahlung freizugeben, lautet die Meldung Please click the PayPal button and approve the payment first.

Ihr Server liest dann die PayPal-Bestellung und prüft, ob sie freigegeben ist, für diesen Warenkorb erstellt wurde, nicht von einem anderen Warenkorb verwendet wird und ob Betrag und Währung mit dem Warenkorb übereinstimmen. Erst dann wird die Zahlung erfasst (oder autorisiert), die Bestellung angelegt, und der Kunde sieht die übliche Bestellbestätigungsseite.

Hat sich die Warenkorbsumme nach der Freigabe geändert, wird nichts erfasst. Der Kunde sieht The order total changed after you approved the payment in PayPal. Please click the PayPal button again to approve the new total. Lehnt PayPal die Zahlung ab, kehrt der Kunde zum Zahlungsschritt zurück und wird aufgefordert, die PayPal-Schaltfläche zu klicken und eine andere Zahlungsart zu wählen. Es wird keine Bestellung angelegt. Schließt der Kunde das PayPal-Fenster, zeigt die Kasse You cancelled the PayPal payment.

Antwortet PayPal während der Erfassung nicht, sieht der Kunde We could not confirm your PayPal payment yet. Please try again in a moment — you will not be charged twice. Die Freigabe bleibt erhalten, auch nach einem Neuladen der Seite, und Place order verwendet sie erneut. Hat PayPal den früheren Versuch abgeschlossen, wird diese Zahlung verwendet und keine neue Freigabe erfasst. Wurde die Zahlung eingezogen, die Bestellung aber nicht angelegt, sieht der Kunde Your payment was received, but the order could not be completed automatically. Please contact us — do not pay again. Der nächste Versuch legt die Bestellung aus der gespeicherten Zahlung an, ohne erneut zu belasten.

Das PayPal-Skript wird nur auf der Kassenseite und in einem eigenen Namensraum geladen, sodass es nicht mit einem anderen PayPal-Modul auf der Seite kollidiert. Das Modul funktioniert mit den Themes Classic und Hummingbird.

Das Modul hat keine PayPal-Webhooks, keine Pay-Later-Hinweise, keine Kartenfelder, kein Venmo, Apple Pay, Google Pay oder Fastlane, keine gespeicherten Zahlungsarten oder Abonnements und keine Schaltflächen auf Produkt- oder Warenkorbseiten. Verwendet werden die in der PrestaShop-Kasse eingegebenen Adressen, nicht eine Adresse von PayPal.

Bestellungen und Erstattungen

Bestellstatus

No order yet: Der Kunde hat die Zahlung nicht freigegeben oder PayPal hat sie abgelehnt. Es existiert nur der Warenkorb.

Payment accepted: Die Erfassung ist abgeschlossen. Die Bestellung wird erst als bezahlt markiert, nachdem PayPal dies bestätigt. Die Zahlung wird mit der PayPal-Erfassungs-ID als Transaktions-ID gespeichert, und eine Notiz zeigt Betrag, PayPal-Bestellung und Erfassung.

PayPal payment authorized: Die Zahlung wurde autorisiert und wartet auf die Erfassung (Zahlungsaktion Authorize).

Awaiting PayPal payment: Die Erfassung ist bei PayPal PENDING, zum Beispiel wegen einer Zahlungsprüfung.

PayPal payment on hold: Der bezahlte Betrag oder die Währung weicht von der Bestellung ab, oder die Zahlung konnte aus der PayPal-Antwort nicht gelesen werden. Die Notiz erklärt es. Hat PayPal in der Bestellwährung abgerechnet, wird der tatsächlich bezahlte Betrag als Zahlung gespeichert. Prüfen Sie die Bestellung und bearbeiten Sie sie oder erstatten Sie die Zahlung.

Canceled: Die Autorisierung wurde mit Void PayPal authorization storniert.

Payment error: Eine ausstehende Erfassung wurde abgelehnt oder ist fehlgeschlagen.

Refunded: Die Zahlung wurde über das Modul vollständig erstattet.

Trifft eine zweite Zahlung für einen Warenkorb ein, der bereits eine Bestellung hat, bleibt die Bestellung unverändert. Eine Notiz bittet Sie, dies in Ihrem PayPal-Konto zu prüfen und zu erstatten.

PayPal-Zahlungsblock

Die Bestellseite zeigt einen Block PayPal payment mit der PayPal-Bestell-ID und dem Intent, der Erfassungs-ID (verlinkt mit der Zahlung in Ihrem PayPal-Konto, Sandbox oder Live), der Autorisierungs-ID, dem Zahlungsstatus, dem Betrag, den bezahlten und erstatteten Beträgen, einem Hinweis Sandbox bei Sandbox-Zahlungen, dem Erstattungsverlauf und den PayPal notes der Bestellung. Die Schaltflächen des Blocks benötigen das Recht, Bestellungen zu bearbeiten, aber keinen Zugriff auf die Modulseiten. Das Ergebnis jeder Aktion wird im Block angezeigt.

Capture PayPal payment: erfasst eine autorisierte Zahlung für die Bestellsumme. Eine abgeschlossene Erfassung setzt die Bestellung auf Payment accepted und speichert die Zahlung. Eine noch ausstehende Erfassung setzt Awaiting PayPal payment. Eine abgeschlossene Erfassung über einen anderen Betrag oder eine andere Währung setzt PayPal payment on hold mit einer Abweichungsnotiz.
Void PayPal authorization: gibt die reservierten Mittel frei und storniert die Bestellung.
Check PayPal payment status: liest eine PENDING-Erfassung erneut ein. COMPLETED setzt die Bestellung auf Payment accepted, DECLINED oder FAILED auf Payment error. Eine abgeschlossene Erfassung über einen anderen Betrag oder eine andere Währung setzt PayPal payment on hold mit einer Abweichungsnotiz. Andernfalls zeigt eine Notiz den aktuellen Status.

Erstattungen

Geben Sie im Block PayPal payment den Betrag ein (der noch nicht erstattete Betrag ist vorausgefüllt), optional einen Grund, und klicken Sie auf Refund via PayPal. Bestätigen Sie die Frage Refund this amount through PayPal? This cannot be undone. Vollständige und teilweise Erstattungen werden unterstützt. Der Grund wird als Hinweis an den Käufer an PayPal übergeben. Erstattungen erfolgen in dem Betrag und der Währung, die PayPal belastet hat. Nach einer Abweichung bei Betrag oder Währung können Sie daher bis zu dem Betrag erstatten, den der Kunde tatsächlich bezahlt hat, nicht die Bestellsumme. Die Erstattung wird an die PayPal-Umgebung gesendet, in der die Zahlung erfolgte (Sandbox oder Live), daher müssen deren Zugangsdaten hinterlegt sein. Lehnt PayPal die Erstattung ab, zeigt der Block den Fehler, und es wird keine Erstattung gespeichert. Eine erfolgreiche Erstattung wird dem Erstattungsverlauf und den Notizen mit der PayPal-Erstattungs-ID und dem Status hinzugefügt; eine PENDING-Erstattung schließt PayPal später ab. Eine vollständige Erstattung setzt die Bestellung auf Refunded. Eine teilweise Erstattung ändert den Status nicht.

Eine nur autorisierte Zahlung kann nicht erstattet werden: Verwenden Sie stattdessen Void PayPal authorization. Das Modul erstellt keine Gutschriften. Die Standard-Erstattungsschaltflächen von PrestaShop auf der Bestellseite senden kein Geld über PayPal zurück. Erstattungen, Streitfälle und Rückbuchungen, die in Ihrem PayPal-Konto vorgenommen werden, werden nicht mit PrestaShop synchronisiert.

Lizenzschlüssel

Das Modul arbeitet mit einem VibeFox-Lizenzschlüssel von vibefox.net. Der Lizenzblock License — VibeFox PayPal Gateway ist der erste Block auf Modules > Module Manager > VibeFox PayPal Gateway > Configure, oberhalb der Einstellungen. Geben Sie den Schlüssel in License key ein und klicken Sie auf Activate. Danach zeigt der Block den maskierten Schlüssel, den Status (zum Beispiel das Datum, bis zu dem die Lizenz gültig ist, und Ihre Domain) sowie die Schaltflächen Check now, um den Status erneut zu prüfen, Change key, um einen anderen Schlüssel einzugeben, und Remove key, um den Schlüssel aus diesem Shop zu entfernen. Darunter stehen die Zeile Product: presta-payment-paypal und der Link Manage licenses and domains in your account, der Ihr vibefox.net-Konto öffnet. Nur Mitarbeiter mit der Berechtigung Configure für das Modul können den Schlüssel ändern. Die Texte des Blocks folgen der Sprache des Back-Office (Englisch und Russisch sind enthalten).

Wird der Schlüssel nicht akzeptiert, nennt der Block den Grund, zum Beispiel Key not found, This key belongs to another product, Domain limit reached oder License expired on mit einem Datum. Nach einer Änderung der Shop-Adresse oder nachdem Sie einen Domain-Platz in Ihrem Konto freigegeben haben, klicken Sie auf Check now. Ist der Lizenzserver nicht erreichbar, arbeitet das Modul mit dem zuletzt bekannten Status weiter.

Ein Schlüssel funktioniert auf einer Domain: der Domain des Hauptshops, auch in einem Multistore-Setup. Das Entfernen des Schlüssels aus dem Shop gibt seinen Domain-Platz nicht frei. Geben Sie den Platz in Ihrem vibefox.net-Konto frei.

Ohne aktiven Schlüssel wird PayPal Kunden in der Kasse nicht angezeigt. Wird trotzdem eine Zahlung gestartet, lehnt der Shop die Erstellung der PayPal-Bestellung ab, und der Kunde sieht An error occurred during PayPal checkout. Please try again. Der PrestaShop-Storefront weiß nicht, dass Sie im Back-Office angemeldet sind, daher wird die Zahlungsmethode auch für Sie ausgeblendet: Sie können das Modul vor dem Kauf eines Schlüssels einrichten, aber nicht an der Kasse testen. Eine Erinnerung erscheint unter Modules > Module Manager auf dem Tab Alerts. Bestehende Bestellungen sind nicht betroffen: Erstattungen und die Aktionen im PayPal-Block funktionieren weiter.

Läuft eine Lizenz ab, arbeitet das Modul weiter, Updates und Support benötigen jedoch eine Verlängerung. Der Status wird während Ihrer Arbeit im Back-Office automatisch erneut geprüft: einmal täglich in den ersten 14 Tagen nach Eingabe des Schlüssels, danach einmal pro Woche. Ein Cron-Job ist nicht nötig. Das Deinstallieren oder Zurücksetzen des Moduls entfernt immer den Lizenzschlüssel und den Lizenzstatus.

Fehlerbehebung

PayPal does not appear at checkout: Prüfen Sie, ob die Lizenz aktiv ist, Enable/Disable eingeschaltet ist, Client ID und Secret des gewählten Modus ausgefüllt sind, die Warenkorbwährung von PayPal unterstützt wird und die Warenkorbsumme über null liegt. Die Einstellungsseite zeigt eine Warnung, wenn Zugangsdaten oder Währung das Problem sind. Prüfen Sie unter Payment > Preferences, ob das Modul für die Warenkorbwährung, das Land des Kunden und die Kundengruppe erlaubt ist. Eine Browser-Erweiterung, die www.paypal.com blockiert, verbirgt die Schaltfläche ebenfalls.

The payment went through, but no order was created: Das Modul hat keinen Webhook, daher wird die Zahlung nur während der Kasse bestätigt. Das passiert, wenn PayPal während der Erfassung nicht antwortete oder die Bestellung nicht angelegt werden konnte. Aktivieren Sie Debug log und sehen Sie sich das Feld Log an, prüfen Sie die Zahlung in Ihrem PayPal-Konto oder lassen Sie den Kunden es erneut versuchen: Ein erneuter Versuch belastet nie doppelt und legt die Bestellung aus der gespeicherten Zahlung an.

PayPal could not be loaded: Das PayPal-Skript wurde im Browser nicht geladen, etwa wegen eines Blockers oder eines Netzwerkproblems.

PayPal is not available right now: Die Zugangsdaten sind falsch oder gehören zum anderen Modus. Kopieren Sie Client ID und Secret der richtigen App erneut.

Your PayPal approval could not be matched to this checkout: Die PayPal-Bestellung wurde nicht für diesen Warenkorb erstellt, zum Beispiel nach Ablauf der Sitzung. Der Kunde klickt erneut auf die PayPal-Schaltfläche.

This payment is already being processed: Derselbe Warenkorb wurde im selben Moment zweimal abgeschickt. Der Kunde wartet kurz und prüft die E-Mail, bevor er es erneut versucht.

The order is on hold after payment: Lesen Sie die Notizen im Block PayPal payment. Die Zahlung wurde autorisiert (erfassen Sie sie mit Capture PayPal payment), die Erfassung ist bei PayPal PENDING (verwenden Sie später Check PayPal payment status), oder der bezahlte Betrag oder die Währung stimmte nicht mit der Bestellung überein (bearbeiten Sie die Bestellung oder erstatten Sie den bezahlten Betrag).

Capture of an authorization fails: Die Autorisierung ist möglicherweise älter als 29 Tage oder bereits storniert. Der Block und die Notizen zeigen den PayPal-Fehler.

Refund fails: Die Bestellung hat keine PayPal-Erfassung (nur eine Autorisierung), der Betrag übersteigt den noch erstattbaren Rest, oder die Zugangsdaten der Umgebung, in der die Zahlung erfolgte, fehlen. Der Block sagt, welcher Fall vorliegt.

Deinstallation

Gehen Sie zu Modules > Module Manager, öffnen Sie das Menü neben VibeFox PayPal Gateway und wählen Sie Uninstall. Der Lizenzschlüssel und der Lizenzstatus dieses Moduls werden immer entfernt. Ist Delete data on uninstall aktiviert, werden die Gateway-Einstellungen, die zwischengespeicherten PayPal-Zugriffstoken und das Protokoll entfernt. Ist es aus, bleiben alle Einstellungen für eine spätere Neuinstallation erhalten. Die PayPal-Transaktionen und Erstattungen sowie die Bestellstatus PayPal payment authorized, Awaiting PayPal payment und PayPal payment on hold bleiben immer erhalten, sodass vorher bezahlte Bestellungen nach einer Neuinstallation weiterhin erstattet werden können. Bestehende Bestellungen behalten ihre Zahlungsnotizen und Transaktions-IDs.

PayPal ist eine Marke ihres jeweiligen Inhabers. Dieses Modul ist weder mit PayPal verbunden noch wird es von PayPal unterstützt.