McDonalds serves about 69 million customers per day, according to their company profile
If one out of every 100 customers paid with bitcoin: 69000000 / 100 = 690000 transactions per day
Assuming that the transactions are spread equally throughout the day: 690000 / 144 = 4791.667 ~ 4792 transactions per block
Assuming that the transactions are standard and the average transaction size is 250 bytes (0.25 KB): 4792*.25 = 1198 KB in transactions
Adding this extra size to average block size: 1.198 + 0.5 = 1.698 MB.
The block size would then be about 1.698 MB, not that much larger than the current maximum, and most certainly not up to 20 MB. Even with that many transactions, it still would not take up a lot of bandwidth, but eventually, over time, like the current blockchain, these transactions will cause the blockchain to grow in size, but it is already doing that.
*Note: these numbers are both rounded up and chosen from the highest numbers on blockchain.info's charts for the past year.
And double that.
Because the customer pays to random generated address , then seller has to collect all coins in one place.
While it might look small , it will be enough for a lot of miners to exclude a lot of transactions just to have their solved block accepted first and a lot of miners would not even think of including 4MB of transactions in one block.
We are seeing this already with the transaction pool running in thousands and miners adding only <100 in their solved block.