core-lightning/doc/lightning-waitsendpay.7
Rusty Russell 839909d2cf Protocol: make var_onion, payment_secret and basic_mpp non-EXPERIMENTAL.
Thanks to @t-bast, who made this possible by interop testing with Eclair!

Changelog-Added: Protocol: can now send and receive TLV-style onion messages.
Changelog-Added: Protocol: can now send and receive BOLT11 payment_secrets.
Changelog-Added: Protocol: can now receive basic multi-part payments.
Changelog-Added: RPC: low-level commands sendpay and waitsendpay can now be used to manually send multi-part payments.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2019-12-12 22:16:03 +01:00

108 lines
3.2 KiB
Groff
Generated

.TH "LIGHTNING-WAITSENDPAY" "7" "" "" "lightning-waitsendpay"
.SH NAME
lightning-waitsendpay - Command for sending a payment via a route
.SH SYNOPSIS
\fBwaitsendpay\fR \fIpayment_hash\fR [\fItimeout\fR] [\fIpartid\fR]
.SH DESCRIPTION
The \fBwaitsendpay\fR RPC command polls or waits for the status of an
outgoing payment that was initiated by a previous \fBsendpay\fR
invocation\.
The \fIpartid\fR argument must match that of the \fBsendpay\fR command\.
Optionally the client may provide a \fItimeout\fR, an integer in seconds,
for this RPC command to return\. If the \fItimeout\fR is provided and the
given amount of time passes without the payment definitely succeeding or
definitely failing, this command returns with a 200 error code (payment
still in progress)\. If \fItimeout\fR is not provided this call will wait
indefinitely\.
Indicating a \fItimeout\fR of 0 effectively makes this call a pollable query
of the status of the payment\.
If the payment completed with success, this command returns with
success\. Otherwise, if the payment completed with failure, this command
returns an error\.
.SH RETURN VALUE
On success, an object similar to the output of \fBlistsendpays\fR will be
returned\. This object will have a \fIstatus\fR field that is the string
\fI"complete"\fR\.
On error, and even if the error occurred from a node other than the
final destination, the route table will no longer be updated\. Use the
\fIexclude\fR parameter of the \fBgetroute\fR command to ignore the failing
route\.
The following error codes may occur:
.RS
.IP \[bu]
-1: Catchall nonspecific error\.
.IP \[bu]
200: Timed out before the payment could complete\.
.IP \[bu]
202: Unparseable onion reply\. The \fIdata\fR field of the error will
have an \fIonionreply\fR field, a hex string representation of the raw
onion reply\.
.IP \[bu]
203: Permanent failure at destination\. The \fIdata\fR field of the error
will be routing failure object\.
.IP \[bu]
204: Failure along route; retry a different route\. The \fIdata\fR field
of the error will be routing failure object\.
.IP \[bu]
208: A payment for \fIpayment_hash\fR was never made and there is
nothing to wait for\.
.IP \[bu]
209: The payment already failed, but the reason for failure was not
stored\. This should only occur when querying failed payments on very
old databases\.
.RE
A routing failure object has the fields below:
.RS
.IP \[bu]
\fIerring_index\fR: The index of the node along the route that reported
the error\. 0 for the local node, 1 for the first hop, and so on\.
.IP \[bu]
\fIerring_node\fR: The hex string of the pubkey id of the node that
reported the error\.
.IP \[bu]
\fIerring_channel\fR: The short channel ID of the channel that has the
error (or the final channel if the destination raised the error)\.
.IP \[bu]
\fIerring_direction\fR: The direction of traversing the
\fIerring_channel\fR:
.IP \[bu]
\fIfailcode\fR: The failure code, as per BOLT #4\.
.IP \[bu]
\fIfailcodename\fR: The human-readable name corresponding to \fIfailcode\fR,
if known\.
.RE
.SH AUTHOR
ZmnSCPxj \fI<ZmnSCPxj@protonmail.com\fR> is mainly responsible\.
.SH SEE ALSO
\fBlightning-sendpay\fR(7), \fBlightning-pay\fR(7)\.
.SH RESOURCES
Main web site: \fIhttps://github.com/ElementsProject/lightning\fR