Mail Template Variablen/Array durchlaufen - last item

Wir versuchen gerade eine Benachrichtigung bei Änderung der Zahlungsart einzurichten.
Über den Flow Builder haben wir also über den Auslöser:
Bestellabschluss / Bestellung / Zahlungsart / Geändert
zwei Mailaktionen (an Admin und Kunden) erstellt, die dann ein Mail-Template nutzen sollen.

In der Bestellbestätigung hatten wir dann an entsprechender Stelle ein:

Gewählte Zahlungsart: {{ order.transactions.at(0).paymentMethod.translated.name }}

Das bringt für unseren neuen Fall aber nur die zuerst ausgewählte Zahlungsart. Nun haben wir mal

Gewählte Zahlungsart: {{ order.transactions.at(1).paymentMethod.translated.name }}

ausprobiert, was schon in die richtige Richtung geht, und anscheinend die während der Änderung hinterlegte, zweite Zahlungsart liefert.

Wenn nun aber ein weiteres mal auf eine dritte Zahlungsart geändert werden sollte, hätten wir dann aber wieder die zweite in der Mail ausgegeben. Gibt es eine Möglichkeit, wie

{{ order.transactions.at(last-of).paymentMethod.translated.name }}

oder wie könnte man das korrekt lösen?

PS. Zusatzaufgabe :slight_smile:
Ich habe gerade gemerkt, dass sich bei der nachträglichen Änderung, z.B. auf Nachnahme, die Versandkosten nicht automatisch ändern. Das sollte ja eigentlich auch passieren. Hat jemand dafür einen Tipp?

{{ (order.transactions|last).paymentMethod.translated.name }}

auf gut Glück mal testen.

1 „Gefällt mir“

Wow, das ging schnell und funktioniert! Vielen Dank!!
Vielleicht noch eine Idee zu meiner „Zusatzaufgabe“, die ich noch in den ersten Post integriert habe :-)?

ps. gerade nochmal gesucht und gefunden. Da hattest du dich ja tatsächlich auch schon mit beschäftigt. Scheint also nicht zu gehen:
https://forum.shopware.com/t/nachnahmegebuehren-werden-nach-aenderung-der-zahlungsart-nicht-berechnet/101247

Ich bin nicht allwissend :joy:

Wenn ich es nicht weiß/hinbekomme, dann bedeutet es noch lange nicht, dass es nicht möglich ist.

Das ist sehr wahrscheinlich bewusst so gemacht. Die Änderung der Versandkosten könnte Änderungen im Preis verursachen, was wiederum die Zahlung ändern würde. Da die Autorisierung der Zahlung über Betrag x aber schon durch ist, ist die Abbuchung von Betrag y nicht möglich.

Der Kunde müsste sich dann ggf. bei PayPal erneut anmelden und die Zahlung freigeben.

Daher ist die Änderung der Versandkosten alles andere als trivial.