Adds PAY requests

This commit is contained in:
Vitor Pamplona 2023-11-27 10:01:22 -05:00
parent 1a106c6bff
commit 467b93ea55

26
88.md Normal file
View File

@ -0,0 +1,26 @@
NIP-XX
======
PAY Request
-----------
`draft` `optional`
At any point, the relay can send a `PAY` request to a client with a BOLT 11 invoice, a description of what the user is purchasing by paying the invoice and a url for other options or more information. The Lightning invoice is the id of the request.
```js
[
"PAY",
"<BOLT 11 Invoice>",
"<Description>"
"<Url for other plan options>"
]
```
Supporting clients SHOULD display a popup or notification to describe the action needed and collect immediate response from the user: `pay` and keep using the relay, `dismiss` and stop using the relay or `more information` by navigating the user to the url. Clients SHOULD expect that the same request might be sent multiple times, if the user dismisses or pays the amount, the client SHOULD ignore following requests with the same invoice.
Supporting relays SHOULD make sure the lightning invoice is the same for similar payment requests and minimize the number of times this request is sent to avoid annoying users with poorly-implemented clients.
### Motivation
Paid relays often run into friction when renewing subscriptions or when upselling users to the next plan they have available. The API described here allows clie