Wie haben einen Kunden, der hat für Vorkasse bestellt.
Und er konnte im Nachhinein die Zahlungsart wechseln. Hat er auch gemacht und dort wurde die Bestellung per Prepaid Kreditkarte „abgebrochen/abgelehnt“
Nach einem Test scheint es so zu sein, dass man mit Vorkasse trotzdem die Zahlartwechsel nach Bestellabschluss erlauben wechseln kann. trotz deaktivierung.
SW 6.6.4.1
Kann sich diesen Bug jemand bitte von Shopware anschauen?
Man kann es trotzdem ändern:
Theme: page/account/order-history/order-item.html.twig :
{% set ALLOWED_TRANSACTION_STATES = constant('Shopware\\Core\\Checkout\\Order\\SalesChannel\\OrderService::ALLOWED_TRANSACTION_STATES') %}
....
{% if orderState != ORDER_STATE_CANCELLED and orderPaymentState in ALLOWED_TRANSACTION_STATES %}
{% block page_account_order_item_context_menu_content_change_payment_button %}
{% if isPaymentNeeded %}
<a class="order-table-header-context-menu-content-link"
href="{{ path('frontend.account.edit-order.page', { orderId: order.id }) }}">
<strong>{{ 'account.orderStatusActionCompletePayment'|trans|sw_sanitize }}</strong>
</a>
{% else %}
<a class="order-table-header-context-menu-content-link"
href="{{ path('frontend.account.edit-order.page', { orderId: order.id }) }}">
{{ 'account.orderContextMenuChangePayment'|trans|sw_sanitize }}
</a>
{% endif %}
{% endblock %}
{% endif %}
Dankeschön
SW 6.6.6.0
Hier hat jemand auch das Problem: Zahlartwechsel nach Bestellabschluss (nicht) erlauben
Falls es noch jemanden interessiert:
- Rule erstellen mit den Zahlungsarten, bei denen ein Wechsel nicht möglich sein soll
- Flow erstellen, der bei Bestelleingang und Erfüllen der Rule den Zahlungsstatus auf „in Bearbeitung“ setzt
Vorausgesetzt natürlich, dass der Zahlungsstatus für die angeschlossenen Systeme nicht in einem bestimmten Status wie „offen“ bleiben muss.
Solange die Zahlung in einem dieser Status ist, wäre ein Wechsel sonst möglich:
final public const ALLOWED_TRANSACTION_STATES = [
OrderTransactionStates::STATE_OPEN,
OrderTransactionStates::STATE_CANCELLED,
OrderTransactionStates::STATE_REMINDED,
OrderTransactionStates::STATE_FAILED,
OrderTransactionStates::STATE_CHARGEBACK,
OrderTransactionStates::STATE_UNCONFIRMED
];