Creating better features for clustering
Setting missing values to 0 does not work well. Because this causes huge deviations.

K-means cannot handle NaN values well, at least in the standard implementations. You could remove the all zero vectors, and then use a nan-toletant implementation, but this will likely also cause undesired effects. Because the absence of a transaction is not the same as an unknown timestamp.

In the end, I believe you have not understood your problem yet. K-means likely is the wrong tool, so it does not matter how you prepare the data - it's answering a different question, but you haven't understood what you are asking yet (and no, "what are the clusters" is not a well defined question - phrase it mathematically, then you have at least a formal version of the question).