Riverty Payments: Fehlerbehebung und FAQ
Riverty Payments für Sylius - typische Probleme mit Symptom, Prüfung und Lösung, Fehler beim Setup-Befehl, bekannte Einschränkungen und häufige Fragen zu Datenschutz, Channels und Kompatibilität
Riverty Payments: Fehlerbehebung und FAQ
Diese Dokumentation bezieht sich immer auf die aktuellste veröffentlichte Version.
Bei jedem Problem mit einem Aufruf an Riverty hilft zuerst der API-Log: Er zeigt, was gesendet und geantwortet wurde.
Riverty erscheint im Checkout nicht
Symptom: Im Zahlungsschritt fehlt eine oder jede Riverty-Zahlart.
Prüfung:
- Hat der Channel einen API-Key für das Land der Rechnungsadresse (Modus Sandbox oder Live passend)? Die Liste der Einstellungen zeigt die aktiven Länder.
- Passt die Währung der Bestellung zum Land (EUR in Deutschland, CHF in der Schweiz, NOK, SEK, DKK in den Nordics, EUR in Finnland)?
- Ist die Zahlart dem Channel zugeordnet und aktiv?
- Bei Raten: Hat Riverty für diesen Betrag einen Plan? Fragt der Checkout Riverty, verschwindet die Ratenzahlung bei einem Betrag ohne Plan. Die Antwort ist fünf Minuten zwischengespeichert.
- Lies die Hinweise im Admin über der Liste der Einstellungen, sie nennen den Grund.
Lösung: Key ergänzen, Zahlarten anlegen klicken oder mit Riverty-Vertrag prüfen prüfen, was dein Vertrag anbietet.
Der Kunde wird nicht zu Riverty geschickt, die Zahlung bleibt "Neu"
Symptom: Nach der Bestellung bleibt die Zahlung im Status New und der Kunde landet nicht bei Riverty.
Prüfung: Steht SYLIUS_MESSENGER_TRANSPORT_PAYMENT_REQUEST_DSN auf einer Queue (etwa Doctrine) statt auf sync://?
Lösung: Auf sync:// stellen. Mit einer Queue läuft die Autorisierung erst, wenn ein Worker sie abarbeitet.
Der Checkout wirft einen Fehler wegen eines unbekannten Gateways
Symptom: Ein Fehler (meist eine Meldung von Sylius, dass das Gateway nicht existiert) beim Wählen oder Bezahlen mit Riverty, obwohl die Zahlart existiert.
Prüfung: Wurde die Zahlart von Hand angelegt? Sylius lässt neue Zahlarten auf dem Payum-Modell starten, für Riverty gibt es keine Payum-Factory.
Lösung: Zahlarten anlegen klicken, der Button schaltet das Payum-Modell der Zahlart aus und repariert eine Zahlart, bei der es von Hand falsch stand.
Keiner der API-Keys funktioniert mehr
Symptom: Jeder Aufruf an Riverty scheitert, nachdem der Shop umgezogen oder neu aufgesetzt wurde.
Prüfung: Hat sich APP_SECRET geändert?
Lösung: Den alten APP_SECRET wiederherstellen oder alle Keys im Admin neu eingeben und speichern.
mmd:riverty:setup bricht ab
| Meldung | Ursache | Lösung |
|---|---|---|
| "Migrations this plugin builds on are still open" | Migrationen von Sylius selbst sind noch offen | Erst doctrine:migrations:migrate ausführen, dann den Setup-Befehl erneut |
| "The migrations of this plugin are not registered with Doctrine" | Bundle nicht aktiv oder sylius_core.prepend_doctrine_migrations auf false |
Bundle in config/bundles.php prüfen und die Option nicht auf false setzen |
| "migrations are written for MySQL 8 / MariaDB only" | Andere Datenbank, etwa PostgreSQL | Das Plugin braucht MySQL oder MariaDB |
Der Menüpunkt fehlt oder der Admin meldet "route not found"
Prüfung: Ist der Routen-Import aus der Installation eingetragen? Fehlt er, lässt das Plugin den Menüpunkt lieber weg, als jede Admin-Seite zu stören, und der Setup-Befehl gibt den Snippet aus.
Lösung: Import eintragen und den Cache leeren.
Eine versendete Bestellung wurde nicht erfasst
Prüfung:
- Ist Beim Versand automatisch erfassen (Capture) für den Channel an?
- Steht auf der Riverty-Karte "Automatisches Capture beim Versand fehlgeschlagen: ..."? Dann nennt die Meldung den Grund, und du kannst von Hand erfassen.
- Hat die Bestellung mehrere Lieferungen? Erfasst wird erst, wenn die letzte versendet ist.
- Ist die Reservierung vorbei? Nach 30 Tagen ist ein Capture nicht mehr möglich, siehe Abgleich und Ablauf.
- Nutzt dein Shop den Adapter
symfony_workflow? Mitwinzou_state_machineläuft die Funktion nicht.
Riverty lehnt einen Teil-Capture oder eine Teil-Erstattung ab
Prüfung: Öffne den API-Log und sieh dir die Anfrage dieser Bestellung an.
Lösung: Ob Riverty eine Teilanfrage in dieser Form annimmt, hängt von deinem Vertrag ab. Teste in der Sandbox und erfasse im Zweifel die ganze Bestellung.
Bekannte Einschränkungen
- Nordics über die Shop API: Die Identifikationsnummer lässt sich im Headless-Betrieb nicht übergeben, eine solche Bestellung wird nicht an Riverty gesendet. Siehe Shop API.
- Riverty ist die Quelle der Wahrheit: Änderungen direkt im Riverty-Portal bemerkt das Plugin nicht. Mache alle Änderungen in Sylius.
- Kein Webhook: Riverty meldet nichts von selbst, offene Zahlungen werden per Cronjob abgeglichen.
- Datenbank: nur MySQL und MariaDB.
- State Machine: Capture beim Versand und das Sperren der Sylius-Buttons brauchen
symfony_workflow.
FAQ
Allgemein
Werden Zahlungsdaten im Shop gespeichert?
Nein. Der Kunde gibt sie im Hosted Checkout bei Riverty ein. Im Shop liegen die Transaktion, die API-Keys (verschlüsselt) und der maskierte API-Log.
Welche Daten sehe ich im API-Log?
Anfragen und Antworten mit maskierten personenbezogenen Daten. Der API-Key wird nie gespeichert.
Konfiguration
Kann ich pro Channel andere Keys nutzen?
Ja, die Einstellung gilt pro Channel.
Kann ich Test und Live gemischt betreiben?
Ja, die Sandbox ist pro Land schaltbar.
Kompatibilität
Läuft das Plugin mit Sylius 2.1?
Es verlangt sylius/sylius ^2.2 und ist mit 2.2 und 2.3 getestet.