You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A bill is generated when the sylius_payment flow is complete. This is something good for business to business but not for business to customer because a "complete" sylius_payment is not always paid and an unpaid order should not have a generated bill.
That's why I think we should change this behavior.
Steps
Current configuration must be updated :
The sylius_invoicing_plugin_payment_complete_producer callback should be in the sylius_order state machine, on the fulfill transition.
Sylius\InvoicingPlugin\EventProducer\OrderPaymentPaidProducer should be updated because there is no more a PaymentInterface but an OrderInterface. Class should be renamed OrderFulfilledProducer.
Sylius\InvoicingPlugin\EventProducer\OrderPlacedProducer should be updated because the event is no more dispatched with a condition on checkoutState (but with paymentState and OrderPaymentStates::STATE_PAID). Class should be renamed OrderPaidProducer.
Related code should be renamed.
After changes
An unpaid order will not have any bill until the OrderPaymentStates::STATE_PAID is dispatched. Then the bill will be available for customer. Because the payment is paid, the owner can print the bill and prepare his order. Finally the order will be "fulfilled" when the shipment is marked as "shipped" and the bill will be sent to the customer.
The text was updated successfully, but these errors were encountered:
Sorry but your comments are not very helpful. If you want to make this change on your own Sylius: create a fork, follow the instructions and send love for this change (this issue/slack/...). If not, submit a PR and/or buy one day of work.
A bill is generated when the
sylius_payment
flow is complete. This is something good for business to business but not for business to customer because a "complete"sylius_payment
is not always paid and an unpaid order should not have a generated bill.That's why I think we should change this behavior.
Steps
Current configuration must be updated :
sylius_invoicing_plugin_payment_complete_producer
callback should be in thesylius_order
state machine, on thefulfill
transition.Sylius\InvoicingPlugin\EventProducer\OrderPaymentPaidProducer
should be updated because there is no more a PaymentInterface but an OrderInterface. Class should be renamedOrderFulfilledProducer
.Sylius\InvoicingPlugin\EventProducer\OrderPlacedProducer
should be updated because the event is no more dispatched with a condition oncheckoutState
(but withpaymentState
andOrderPaymentStates::STATE_PAID
). Class should be renamedOrderPaidProducer
.Related code should be renamed.
After changes
An unpaid order will not have any bill until the
OrderPaymentStates::STATE_PAID
is dispatched. Then the bill will be available for customer. Because the payment is paid, the owner can print the bill and prepare his order. Finally the order will be "fulfilled" when the shipment is marked as "shipped" and the bill will be sent to the customer.The text was updated successfully, but these errors were encountered: