author: andreneves
discussion: https://github.com/fiatjaf/lnurl-rfc/pull/50
This allows for a WALLET
to pass a custom comment property to a SERVICE
that accepts it. This can have multiple use-cases. Better donation flow is an easy one to visualize. The entity donating gets to send a message, whether their name/contact/random text and the issuer gets paid to read/voice/receive that message, for example, streamers.
This is completely additional/ad-hoc, so current implementations are not affected by this. Any services and wallets that wish to support it do need to add some more business logic.
SERVICE
must alter its JSON response to the first callback to include a commentAllowed
field, as follows:
{
"callback": string,
"maxSendable": number,
"minSendable": number,
"metadata": string,
+ "commentAllowed": number,
"tag": "payRequest"
}
The value of commentAllowed
should be the number of characters accepted for the comment
query parameter on subsequent callback. (Should be interpreted as 0 if not provided).
Upon seeing a positive commentAllowed
attribute on the response from the SERVICE
, a WALLET
must display a text input where user can enter a comment
string (max character count is equal or less than commentAllowed
value) along with the other LNURL-pay metadata (text and image).
After gathering input from the user, WALLET
must include the comment in its second callback to SERVICE
:
- <callback><?|&>amount=<milliSatoshi>
+ <callback><?|&>amount=<milliSatoshi>&comment=<String>
GET URL's accept around ~2000 characters for the entire request string. Therefore comment
can only be as large as to fit in the URL alongside any/all of the properties outlined above.