Hallo zusammen,
ich würde gerne ausgehend von einem Ereigniss (Die Rechnung wurde gedruckt) automatisch für die enstprechende Shopware-Bestellung das Payone Capture auslösen welches den Betrag vom Kunden einzieht.
Im Vordergrund gibt es hierfür eine Funktion die das macht:
moptPayoneCallCapture: function(order, positionIds, finalize, options, includeShipment) {
Ext.Ajax.request({
url: '{url controller="MoptPayoneOrder" action="moptPayoneCaptureOrder"}',
method: 'POST',
params: { id: order.get('id'),
positionIds: Ext.JSON.encode(positionIds),
finalize: finalize,
includeShipment: includeShipment},
headers: { 'Accept': 'application/json'},
success: function(response)
{
var jsonData = Ext.JSON.decode(response.responseText);
if (jsonData.success)
{
Ext.Msg.alert('{s name=detail/captureMoney}Geldeinzug{/s}', '{s name=detail/captureSuccess}Der Geldeinzug wurde erfolgreich durchgeführt.{/s}');
//reload form
options.callback(order);
}
else
{
Ext.Msg.alert('{s name=detail/captureMoney}Geldeinzug{/s}', jsonData.error_message);
}
}
});
},
Nur bin ich jetzt im Hintergrund in einem eigenen Plugin welches die gleiche Funktion aufrufen soll.
Sollte ich hier nun am ehesten:
a) Schauen dass ich Zugriff auf den Payone Controller bekomme in meinem Plugin und dessen Action (moptPayoneCaptureOrderAction) direkt ausführen, oder
b) Doch irgendwie per Curl die API von Shopware aufrufen so ähnlich wie es der Frontendaufruf macht, oder
c) ???
Wäre recht glücklich auf ein paar Beispiele und Hilfe.
Wundert mich vorallem dass es da nicht irgendwo was fertiges gibt, ist doch eigentlich kein ungewöhnlicher Vorgang.
Vielen Dank!
Thomas