There is no reason to store these kind of private encrypted data on the blockchain. The blockchain should be used for storing
- Public data, or
- Private data but timestamping is needed
For the case you suggest, users and merchants should digitally sign those receipts and KYC data (with mutually agreed timestamp if needed) and keep it by themselves.