To me the UI seems to be the place to do it. Just need something that triggers the tip line to be active.
The whole idea is to make a bitcoin transaction more mainstream. Most restaurants don't bring the credit card machine to your table. Bringing a tablet over to the table tends to raise eyebrows unless the order was taken on a tablet.
Credit card usage took off because of restaurant use. Bitcoin needs that same acceptance in order to lock into the mainstream. That process needs to be as simple as possible.