Scanning with your phone camera sucks its very slow and scanning as you pass the anti theft barriers normalizes running the barriers which will make catching thieves basically impossible. It also runs contra to shoppers expectations. Raises the question of charging the wrong person when multiple phones are nearby as when multiple people are shopping together or just adjacent to one another or when carts are just too close to the barriers. It also assumes that reading is instant and faultless when its not and fails to support anyone who wanders in from the street without an account set up expecting normal payment options. This makes it suitable for a membership club which expects to set up payment as part of setting up membership and useless for the 99% of stores that don't work like that.
Why not wait a few years until even a can of beans has an rfid tag, put a rfid tag in 4 corners of the cart. You should be able to compute which tags are within the bounds of the cart and allow you to pay.
The hardware to read the tags is still too expensive to put in the carts and not liable to be available as part of everyone's phones that soon so the easiest thing to do is retain the existing self checkouts and just skip the part where you scan anything. Roll up to the front. Tap your prominently displayed cart number or numbers tap your card done.
Reducing checkout to 6 seconds from multiple minutes will obviate the new loathsome situation where you actually wait in line to self checkout and will be close enough to normal procedures that it should be easy to transition to.