Sales return management and Litium upgrade

We are developing an implementation of the return management introduced in 7.2 for an existing site that has been upgraded from a previous Litium version.
All our orders however have the OrderType=“None” which is causing problems in the RMA services which expect the value to be “SalesOrder”.
This affects both orders which were created before and after the upgrade.

In a new Accelerator project setup I can see that the created orders have OrderType=SalesOrder but I have not been able to identify what is causing this so I can get the same behavior.

So what extra steps are needed, in addition to the nuget packages, for our upgrade to be complete with the correct OrderType and RMA support?
I can see that there are additional OrderType-checks, conditions and transition in the state builders. Is there anything else we need to do? Is there an upgrade release note that I have missed?

Litium version: 7.2

To solve the problem with wrong order type you can run the below SQL script, this will be tracked by bug 47576

update dbo.ECommerce_Order
set Type = 1  -- SalesOrder
where Type = 0 -- None

OK. That should fix the existing orders but our new orders are getting OrderType=None as well.

In this site we are using the payment providers and widgets for Klarna (4.7.105) and Adyen (4.7.105).
As far as I understand both of these providers work by serializing the OrderCarrier and storing the result on disk to be used at a later point.
My OrderCarrier.Type is “SalesOrder” before this serialization but is stored as an empty xml node in the files for both Klarna and Adyen ("<Type />") and when the order is finally placed the OrderType is back to None.

This feels like a bug to me or am I misunderstanding some part of the process?

We are investigating this, can you create a separate bug report on docs-site about this behavior?

I have created a new bug report for this behavior and included some additional data, bug 47594

Add the

paymentWidgetOrder.OrderCarrier.Type = OrderType.SalesOrder;

before the

_cartAccessor.Cart.OrderCarrier = paymentWidgetOrder.OrderCarrier;

in PaymentWidgetService as a workaround so your order will be created with the correct order type.

Great, that was basically the workaround I had implemented myself in our AdyenPaymentService and KlarnaPaymentService and it seems to be working as intended.

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.