diff --git a/plugins/libplugin-pay.h b/plugins/libplugin-pay.h index f01c9def7..448a00593 100644 --- a/plugins/libplugin-pay.h +++ b/plugins/libplugin-pay.h @@ -202,6 +202,10 @@ struct payment { * attempt. Modifiers need to leave failures alone once this is set to * true. Set only on the root payment. */ bool abort; + + /* Serialized bolt11 string, kept attachd to the root so we can filter + * by the invoice. */ + const char *bolt11; }; struct payment_modifier { diff --git a/plugins/pay.c b/plugins/pay.c index 1261f9d51..71df28dca 100644 --- a/plugins/pay.c +++ b/plugins/pay.c @@ -1780,6 +1780,7 @@ static struct command_result *json_paymod(struct command *cmd, ? tal_dup(p, struct secret, b11->payment_secret) : NULL; p->invoice = tal_steal(p, b11); + p->bolt11 = tal_steal(p, b11str); payment_start(p); list_add_tail(&payments, &p->list);