core-lightning/doc/lightning-sendinvoice.7.md
Rusty Russell d25a8ca0fd lightningd: expose created_index and updated_index fields.
If you miss a wait event, you can catch up by doing listinvoices and
getting the max of these fields.  It's also a good debugging clue.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2023-07-23 13:48:37 +09:30

3.1 KiB

lightning-sendinvoice -- Command for send an invoice for an offer

SYNOPSIS

(WARNING: experimental-offers only)

sendinvoice invreq label [amount_msat] [timeout] [quantity]

DESCRIPTION

The sendinvoice RPC command creates and sends an invoice to the issuer of an invoice_request for it to pay: lightning-invoicerequest(7).

If fetchinvoice-noconnect is not specified in the configuation, it will connect to the destination in the (currently common!) case where it cannot find a route which supports option_onion_messages.

invreq is the bolt12 invoice_request string beginning with "lnr1".

label is the unique label to use for this invoice.

amount_msat is optional: it is required if the offer does not specify an amount at all, or specifies it in a different currency. Otherwise you may set it (e.g. to provide a tip), and if not it defaults to the amount contained in the offer (multiplied by quantity if any).

timeout is how many seconds to wait for the offering node to pay the invoice or return an error, default 90 seconds. This will also be the timeout on the invoice that is sent.

quantity is optional: it is required if the offer specifies quantity_max, otherwise it is not allowed.

RETURN VALUE

On success, an object is returned, containing:

  • label (string): unique label supplied at invoice creation
  • description (string): description used in the invoice
  • payment_hash (hash): the hash of the payment_preimage which will prove payment
  • status (string): Whether it's paid, unpaid or unpayable (one of "unpaid", "paid", "expired")
  • expires_at (u64): UNIX timestamp of when it will become / became unpayable
  • created_index (u64): 1-based index indicating order this invoice was created in (added v23.08)
  • amount_msat (msat, optional): the amount required to pay this invoice
  • bolt12 (string, optional): the BOLT12 string
  • updated_index (u64, optional): 1-based index indicating order this invoice was changed (only present if it has changed since creation) (added v23.08)

If status is "paid":

  • pay_index (u64): Unique incrementing index for this payment
  • amount_received_msat (msat): the amount actually received (could be slightly greater than amount_msat, since clients may overpay)
  • paid_at (u64): UNIX timestamp of when it was paid
  • payment_preimage (secret): proof of payment

The following error codes may occur:

  • -1: Catchall nonspecific error.
  • 1002: Offer has expired.
  • 1003: Cannot find a route to the node making the offer.
  • 1004: The node making the offer returned an error message.
  • 1005: We timed out waiting for the invoice to be paid

AUTHOR

Rusty Russell <rusty@rustcorp.com.au> is mainly responsible.

SEE ALSO

lightning-fetchinvoice(7).

RESOURCES

Main web site: https://github.com/ElementsProject/lightning