Как вернуть 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