https://bitcoinj.github.io/working-with-micropayments
In short, the payer sends a signed transaction to the payee every time they want to increment the payment, but the payer does not broadcast the transaction to the network until they want to finalize it. To prevent double-spending, the payer and payee first set up a 2-of-2 multisig, so all transactions must be signed by both parties.
This lets applications send many instant micropayments, and only one transaction fee is paid.