Как вернуть Lightning-счёт после тайм-аута оформления заказа

Если связь оборвалась во время создания BOLT11-счёта, нода могла уже сохранить его. Постоянная метка заказа помогает магазину вернуть тот же счёт.

Найдите заказ перед повтором

В тестовом магазине используйте одну метку для одного заказа во всех повторах. Этот запрос прочитает сохранённый счёт и не создаст новое требование платежа.

lightning-cli listinvoices order-1042 | jq '.invoices[] | {label, amount_msat, status, expires_at, bolt11}'

Выберите действие по статусу

Для неоплаченного счёта сверьте сумму и срок действия и верните прежний bolt11. Для оплаченного выполните сверку заказа. Если срок истёк, создайте связанную с заказом новую попытку с другой меткой. При конфликте одновременного создания прочитайте запись, которую сохранил первый запрос.

docs.corelightning.org listinvoices · docs.corelightning.org invoice