Re: Buy it Now button - Not saving line item properties on checkout

Buy it Now button - Not saving line item properties on checkout

Michael_CLift
Shopify Partner
14 0 22

Hi Everyone,

 

Our app adds custom line item properties to the product form, the "Buy it Now" button does pick them up automatically adds them to the POST request body sent to "/wallets/checkouts.json"

 

Starting a couple of days ago, on some merchants stores that are using our app, all checkouts initiated via the "Buy it Now" button do not save the line item properties.  (The line item properties are still sent in the request body)

 

Example Request body:

 

{
  "checkout": {
    "line_items": [
      {
        "variant_id": 31530384195716,
        "quantity": 1,
        "properties": {
          "Name": "Test",
          "image": "https://upload.dev.cloudlift.app/s/dev/cloudlift-dev/DJgbNKIPm6.jpg"
        }
      }
    ],
    "secret": true,
    "wallet_name": "Checkout",
    "is_upstream_button": true,
    "page_type": "product",
    "has_selling_plans": false,
    "presentment_currency": "USD"
  }
}

 

 

The issue can be seen on the checkout, the line item properties are not listed there:

Michael_CLift_0-1644941116978.png

 

As mentioned, this only happens on some stores.  On our test stores the line item properties are always saved when checking out via the Buy It now button:

 

Michael_CLift_1-1644941280057.png

 

We've already tested older versions of our app and also compared the requests sent to "/wallets/checkouts.json". It looks like the issue is on the receiving end which is somehow not saving the line item properties.

 

Does anyone else encounter the same problem? Or any idea what might be causing the line item properties to not be saved?

 

We would appreciate any help in this matter.

 

Replies 15 (15)

AlejandroLoz
Shopify Partner
11 0 5

Hi Michael,

 

We are having the same issue. The interesting thing is that it's not happening in all buy now buttons, but in buttons from certain themes, for example, Minimal.
We haven't found a solution yet, but if we do we'll sure share it. If you find it first, would love to learn what you did.

Thanks!

Michael_CLift
Shopify Partner
14 0 22

Hi Alejandro,

 

the issue had disappeared for most merchants, but recently (last 1-2 weeks) we've gotten support requests again with the same issue.  It's only affecting some stores, i don't think it's theme related. 

 

My best guess would be that there is some deeper technical issue in the shopify backend with the line item properties being dropped on the checkout flow. (maybe firewall or some load balancing  component).  

 

Either way this issue is very annoying for merchants and for partners handling support requests.

prathiksha
Visitor
1 0 2

Even I am facing this same issue. Did you find any solution for this ?

 

Michael_CLift
Shopify Partner
14 0 22

Hi Prathiksha,

 

i'm afraid we did not find a solution, as the problem seems to be happening randomly only on some stores.  However in the last few weeks we did not receive support requests regarding this issue. 

 

Update: we just got a new support request for this issue, and on further analysis we can see the issue again on this particular store.  It seems shopify buy now button logic is being actively changed.  There is a new request that stores the line item properties via url as base64:

 

/cart/37673548841122:1?properties=JTdCJTIyTmFtZSUyMFN1cm5hbWUlMjIlM0ElMjJkZW1vJTIyJTdE

 

which then redirects to checkout.  But the line item properties are not saved on the checkout..

 

Michael_CLift
Shopify Partner
14 0 22

Follow up for anyone that is reading this (Shopify support??)

 

We are now seeing lots of stores affected with the issue that buy now buttons do not save any line item properties.  It looks like the buy now button flow has changed and properties are now passed via the url as base64 encoded parameter.

 

The weird thing is that it's working in some cases.   The flow is as follows:

 

Buy Now Button clicked, request to

https://cloudlift.myshopify.com/cart/41494314909857:1?properties=<base64>

 

Then there are two different responses.  On the same product page, we observed one of the following redirects by shopify.  

 

1. Missing properties

https://cloudlift.myshopify.com/58732773537/checkouts/92cecb59aa8101ab5e41e360c9feba71?properties=<base64>

 

2. Properties are saved:

https://cloudlift.myshopify.com/checkouts/c/92cecb59aa8101ab5e41e360c9feba71/information?properties=<base64>

 

The same product page on a store can result in either redirect 1. or 2.   We've not yet identified what is causing the selection of the redirect.

 

Our app setup was working fine before, so there is must be issue ongoing with the shopify checkout. Any response would be highly appreciated!

 

Bengk
Shopify Partner
21 0 13

Same. This is causing all kinds of issues for us with line item properties being missing.

 

As somebody else mentioned the request to the checkout from a buy button now looks like this with a base64 encoded URL param: 

https://store.myshopify.com/cart/35286066233504:1?properties=JTdCJTIyZm9vJTIyJTNBJTIyYmFyJTIyJTdE

which redirects here: https://store.myshopify.com/43108958368/checkouts/f0d0a605c028938d4fa877211e9fc0fb?properties=JTdCJT...

If I decode the base64 decodeURIComponent(atob('JTdCJTIyZm9vJTIyJTNBJTIyYmFyJTIyJTdE')) 
it looks like this '{"foo":"bar"}' which is correct but some logic seems to be missing from Shopify's side to make this work.

Bengk
Shopify Partner
21 0 13

Just submitted a ticket to Partner Support with steps to reproduce and an outline of the issue. Will post here if I hear anything.

Michael_CLift
Shopify Partner
14 0 22

I'm glad that we are not the only ones with experiencing this issue.  This issue is causing lots of problems for all apps that save order customizations on the line item properties.

 

I've also submitted a ticket to the Partner support on Friday, no response yet.    

 

If any other partner has a solution or found a way to prevent the issue and could share it here would be much appreciated.

Bengk
Shopify Partner
21 0 13

This is especially bad and revenue-impacting for businesses offering jewelry engravings, iphone case etchings etc which rely on line item properties to contain the customer name. These orders are now coming through without the line item properties. Results in incorrect shipments, unhappy customers, returns, impact on revenue.

AlejandroLoz
Shopify Partner
11 0 5

Indeed, this is getting very frustrating, especially because of Shopify's radio silence. And the issue is getting worse every day, we are seeing this affect more and more stores.
Also submitted a partner support ticket, let's hope they get enough tickets to do something about it.  We'll update if we hear anything.

josephraphael
Shopify Partner
12 0 11

This need to be solved ASAP!

SatelQuinn
Shopify Partner
7 1 2
Michael_CLift
Shopify Partner
14 0 22

Thanks for also pointing the issue out, i've read your post and can confirm we've seen the same strange behaviour of the receiving checkout page not saving the line item properties. 

 

On some stores this still works, so this is clearly a new issue and a code version missmatch on the shopify end.  

 

I've already escalated a support request from a merchant to a higher "technical" support person, but they were trying to convince me that this never worked in the past... with a strange answer "we will consider adding support for line item properties in the future".  Really made no sense, so i just gave up on this conversation.  

 

The partner support has been silent.  I hope someone at shopify will finally fix it (it must be known issue by now).

 

josephraphael
Shopify Partner
12 0 11
The workaround for this issue is to remove the "buy now " button and any
time of express checkout (apple pay, PayPal, Google pay... Etc)

It works only if the buyer clicked on add to cart and continued to the
checkout page without interference.

I applied this fix temporary to all the stores I manage.

SatelQuinn
Shopify Partner
7 1 2

It appears to be working again for the stores I have spotchecked. Is anyone still experiencing this issue?