The Lightning-RFC defines, in BOLT #11, an invoice protocol for proof-of-payment. While this is a pretty cool feature, I was wondering if it would be possible to make a payment without such invoice. That is, with the origin node defining a payment hash etc.
With the current specification it is not possible to make a spontaneous payment to somebody on the network. However, this will likely change very soon, as it is one of the features on the roadmap and will be discussed in the specification group in November.
There are tricks on how to do a payment by delivering a large fee at the destination and continue routing to someone else (described in this video), but you have to write software to manipulate the route and the destination will not see an incoming payment, since it considers it a fee.
1the mentioned possibility explained and also offline payments – that guy also is about to write a lightning book– vv01fFeb 3, 2019 at 9:17
Notice that the method Rene mentions will also not be recorded as an incoming payment, but rather as a really high fee. The offline method separates the online node from the device "accepting" the payment, e.g., releasing the snack, but you still require one node to be online and accept the payment on its behalf.– cdeckerFeb 3, 2019 at 13:05
Some wallets will let you create 0 sat invoices, which the payer can then specify the amount they want to send.