English Version
Zurück zur Übersicht
Live Demo: Teste dieses und weitere Plugins live — ohne Installation, ohne Risiko: demo.markus-michalski.net
| Eigenschaft |
Wert |
| Composer-Paket |
mmd/oxid7-riverty |
| Modul-ID |
mmd_riverty |
| Namespace |
Mmd\Riverty |
| API |
Riverty BNPL API v3 (/api/v3/...): checkout/authorize, checkout/payment-methods, orders/{nr}, orders/{nr}/captures, orders/{nr}/voids, orders/{nr}/refunds, version |
| Zahlungsart-Typ im Authorize |
Rechnungskauf und Lastschrift senden Invoice (Lastschrift zusätzlich directDebit.available), Ratenkauf und Pay in 3 senden PartPayment |
| HTTP-Client |
Guzzle |
graph TD
A["Kunde waehlt Riverty-Zahlart"] --> B["Authorize-Request aufbauen"]
B --> C["RivertyClient: authorize()"]
C --> D{"Ergebnis?"}
D -->|Accepted| K["OXID Order-Finalisierung laeuft durch"]
D -->|Pending| E["Warenkorb in Session sichern, Redirect zu Riverty"]
D -->|Rejected| F["Fehlermeldung, zurueck zur Zahlartenauswahl"]
E --> G["Kunde bestaetigt bei Riverty"]
G --> H["Return-Controller mmd_riverty_return"]
H --> I["Signatur pruefen oder Order-Lookup"]
I -->|Akzeptiert| J["Warenkorb wiederherstellen, Bestellung abschliessen"]
I -->|Abgelehnt oder Fehler| F
J --> K
K --> L["Danke-Seite mit Riverty-Infobox"]
Die Rückkehr verifiziert je nach Rücksprung entweder die Signatur (Parameter ordernumber, orderstatus, signature, geprüft mit dem API-Key des Landes) oder fragt den Bestellstatus per Lookup ab. Schlägt der Lookup fehl, wird die Zahlung sicherheitshalber abgelehnt.
graph TD
A["Admin-Aktion oder Integration API Request"] --> B{"Herkunft?"}
B -->|Integration API| C["Secret-Auth und Idempotency-Check"]
B -->|Admin-Tab| D["Order-Aktion ausfuehren"]
C --> E["Restmengen berechnen"]
D --> E
E --> F["Riverty-API aufrufen"]
F --> G["Transaktionsstatus aktualisieren"]
G --> H["Post-Capture- oder Post-Void-Aktionen je nach Aktion"]
F --> L["API-Call protokollieren"]
Klasse / cl |
Zweck |
mmd_riverty_return |
Rücksprung von Riverty, Verifikation und Bestellabschluss |
mmd_riverty_order |
Riverty-Tab in der Bestellansicht (Capture, Void, Refund) |
mmd_riverty_api_log, mmd_riverty_api_log_list, mmd_riverty_api_log_detail |
API-Log im Admin |
mmd_riverty_integration_api |
Externe Integration API |
| Tabelle |
Zweck |
mmd_riverty_transactions |
Transaktionen mit Status, Beträgen und Positionsverfolgung |
mmd_riverty_api_logs |
Protokoll der API-Aufrufe |
mmd_riverty_idempotency_keys |
Idempotency-Keys der Integration API |
Zusätzlich legt die Zahlarten-Synchronisation Einträge in oxpayments und oxobject2payment an.
src/
├── Core/ Aktivierungs-Events, Tabellen
├── Controller/
│ ├── Admin/ Bestell-Tab, API-Log
│ └── Api/ Integration API
├── Api/
│ ├── Request/
│ └── Response/
├── Payment/ Zahlart- und Status-Enums, PaymentHandler
├── Console/ oe:riverty:cleanup
├── Exception/
├── Config/ Konfigurations-Objekte und Factories
├── Service/
│ └── IntegrationApi/
├── Repository/
├── Model/
│ └── IntegrationApi/
└── Extension/
├── Controller/
└── Model/
| Klasse |
Erweitert |
Zweck |
OrderControllerExtension |
OrderController |
Greift beim Bestellabschluss ein, startet die Riverty-Autorisierung und leitet bei Bedarf zu Riverty weiter |
PaymentControllerExtension |
PaymentController |
Filtert die Zahlartenliste gegen die Riverty-Verfügbarkeitsabfrage, liefert Infobox, Personennummer-Feld und Ratenzahlungs-Beispiel |
ThankYouControllerExtension |
ThankYouController |
Stellt die Daten für die Riverty-Infobox auf der Danke-Seite bereit |
ModuleConfigurationExtension |
Admin\ModuleConfiguration |
Formular-Aktionen (fnc) auf der Einstellungsseite mit anschließendem Neuladen: Secret generieren, API-Keys prüfen, Zahlarten abfragen und synchronisieren |
ExtendedPaymentGateway |
PaymentGateway |
Gibt bei bereits autorisierter Riverty-Zahlung true zurück, damit OXID die Bestellung nicht verwirft |
OrderOverviewExtension |
Admin\OrderOverview |
Hängt sich an sendorder(). Der Capture-Modus ist fest auf manuell gesetzt, die Erweiterung zieht daher keine Zahlung ein |