mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-12-23 08:55:52 -05:00
Adding very simple payment flow to NIP96
This commit is contained in:
parent
346ecd1114
commit
32fde0b852
10
96.md
10
96.md
|
@ -121,7 +121,7 @@ The `server` MUST link the user's `pubkey` string as the owner of the file so to
|
||||||
- `413 Payload Too Large`: File size exceeds limit
|
- `413 Payload Too Large`: File size exceeds limit
|
||||||
- `400 Bad Request`: Form data is invalid or not supported.
|
- `400 Bad Request`: Form data is invalid or not supported.
|
||||||
- `403 Forbidden`: User is not allowed to upload or the uploaded file hash didnt match the hash included in the `Authorization` header `payload` tag.
|
- `403 Forbidden`: User is not allowed to upload or the uploaded file hash didnt match the hash included in the `Authorization` header `payload` tag.
|
||||||
- `402 Payment Required`: Payment is required by the server, **this flow is undefined**.
|
- `402 Payment Required`: Payment is required by the server, see [Payment required](#payment-required) section.
|
||||||
|
|
||||||
The upload response is a json object as follows:
|
The upload response is a json object as follows:
|
||||||
|
|
||||||
|
@ -133,6 +133,8 @@ The upload response is a json object as follows:
|
||||||
message: "Upload successful.",
|
message: "Upload successful.",
|
||||||
// Optional. See "Delayed Processing" section
|
// Optional. See "Delayed Processing" section
|
||||||
processing_url: "...",
|
processing_url: "...",
|
||||||
|
// Optional. Required if payment is required
|
||||||
|
payment_request: "lnbc1...",
|
||||||
// This uses the NIP-94 event format but DO NOT need
|
// This uses the NIP-94 event format but DO NOT need
|
||||||
// to fill some fields like "id", "pubkey", "created_at" and "sig"
|
// to fill some fields like "id", "pubkey", "created_at" and "sig"
|
||||||
//
|
//
|
||||||
|
@ -315,6 +317,12 @@ Example Response:
|
||||||
- `page` page number (`offset=page*count`)
|
- `page` page number (`offset=page*count`)
|
||||||
- `count` number of items per page
|
- `count` number of items per page
|
||||||
|
|
||||||
|
## Payment required
|
||||||
|
|
||||||
|
`servers` may require payment for file storage. In that case, the server SHOULD serve the normal response with a **402 Payment Required** status code and a the `payment_request` field filled with a LN invoice.
|
||||||
|
|
||||||
|
Until the payment is done, the server SHOULD display a QR code in the url tag of the NIP-94 event response. When the payment is done, the server MUST swap the QR code for the uploaded file.
|
||||||
|
|
||||||
## Selecting a Server
|
## Selecting a Server
|
||||||
|
|
||||||
Note: HTTP File Storage Server developers may skip this section. This is meant for client developers.
|
Note: HTTP File Storage Server developers may skip this section. This is meant for client developers.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user