Ich beschäftige mich derzeit mit Payment Plugins und bin auf eine kleine Hürde gestoßen:
Wenn mein Payment Handler das AsynchronousPaymentHandlerInterface implementiert, erwartet Shopware, dass die pay() Methode eine Redirect-URL zum Payment Gateway returned. In meinem speziellen Fall läuft der Redirect seitens des Payment Providers etwas anders: Nach dem initiieren der Zahlung bekomme ich keine URL zu der der Client directed werden muss, sondern die URL zu einem dynamisch generiertem Javascript das ich embedden muss. Das Script kümmert sich dann um den Redirect.
Gibt es für so einen Fall eine best practice?
Meine Idee wäre gewesen, dass ich in meinem Payment Plugin einen eigenen Controller bereitstelle, in der pay-Methode dann die URL zu diesem Controller returne und dort entsprechend das Script embedde. Für die Return-URL (zur finalize()) könnte ich dann vermutlich wieder die von Shopware generierte URL verwenden.