The direction is right. A page asks the man to read, a request asks him to pay, and only the second one belongs at the counter.
Two corrections. On chain the address does print and never expires. But the jar waits for a confirmation, and every sale lands on the same address; anyone who scans the sign reads your whole revenue. With Lightning the request cannot be printed at all. It is built per scan and carries an expiry, so a paper invoice is dead by the next market. The QR has to point at something that returns a fresh invoice on demand. That answers with bytes, where the website answered with a page.
Price baked in has an expiry too. Honey follows the season and the jar size, so one QR per price is a label you reprint. Leave the amount out and the typing lands back in front of the customer, with you standing there.
One thing in your post worked and deserves protecting: he scanned so he could read, and paying never entered the picture. Two men, two objects.
