Can Shopify make the line item properties immutable?

Recently, I have had a store that upgraded to use our cart transformation feature.

The store uses a pickup option app, which updates the line item properties on the cart. As a result, our line item properties cannot be preserved, and the cart transformation breaks at checkout, which causes a loss to the store. The bundle orders were all broken. We have to roll back to the original legacy way.

I would like to see if there is any way to make the line item properties app-owned (immutable). I don’t want third-party apps to break my cart transformation.

This act is unfair from my perspective:

  1. Our app is controlled by another app. We have no way to fix this downstream issue.
  2. We’ve submitted an integration request, but it’s subject to whether this app works with us or not. Another competitor app can apply the same strategy to us.
  3. The merchant is infuriated and frustrated. But the issue is not caused by us, and there is no fix from our side.

I can DM the screencast for more details. When I visit from the /cart/checkout endpoint, the cart transformation works well. When I pass through the pickup option, the bundle is broken.

I don’t want to blame the pickup app developer because this is allowed by Shopify. I want a high-level solution to solve this affair. Otherwise, other similar apps may have a conflict with us

Allowing app owned line item properties (or carrying metafields over to the order) would really help here.

In the interim could you recommend the pickup developer checks for existing attributes first before setting them? As that would be best practice for shared data.

If you don’t need the values propagating to the order, could you use cart metafields? :thinking: cartMetafieldsSet - Storefront API

@Benny_Chan : Instead of relying on line item properties I suggest you use the product meta fields and use that in your cart transform to crete you bundles.

So unless its pressing avoid using line item properties as your app does not have control on that.

As cart transform input can query cart merchnadise meta data( “cart”: {
“lines”: ) so better query this viw input schema on cart transform and use it to bundle.

If you can elaborate exactly what you want to achieve in cart transofrm and what you had on the line item properties we might be able to comment further..

There is a list of compatible and incompatible apps. Many bundle apps are incompatible. Therefore, I think there may be some internal imitations, racing conditions or legacy issues.

Checking line item properties before updating is a straightforward fix. However, whether my app can work or not depends on their technical approach. This is not satisfactory.

If my bundle is broken on the cart, the customers will only blame my bundle app, but not on the pickup app.

Cart metafield is not suitable for my use case. If a customer removes a bundle from the cart, the metafield remains there. I can’t clear it.

Thanks for your suggestion.

Product metafield is good for fixed bundles, but not suitable for customized bundles. Also, metafields consume higher costs on the function

I’m running into the same issue, and it’s getting quite frustrating. I don’t blame the merchants or the apps for this, but I’d really like to know how we can get it resolved. It’s becoming a blocker and is pushing more merchants away from using cart transformations.