
An expired Lightning invoice and a failed payment attempt are different problems. The invoice’s payment window may have closed before you sent anything, or a wallet may have tried to pay and reported an error. An attempt may also remain pending. Check the actual payment record before retrying: an error screen, changed balance or missing order confirmation cannot establish on its own whether the recipient was paid.
Check the invoice before paying
A Lightning invoice is a payment request, not a reusable on-chain Bitcoin address. It carries a timestamp and expiry, and may specify an amount or allow the payer to enter one. The BOLT 11 invoice specification says a payer should not attempt payment after the timestamp plus expiry has passed. If that window has closed, ask the recipient for a fresh invoice instead of submitting the same code again.
Before approving a fresh request, open its decoded details in your wallet. Compare the amount and unit, description or order reference, and destination details the wallet exposes with the request you received through the intended channel. A familiar description alone does not establish who supplied the invoice. If the wallet omits a detail you need to check, ask the recipient to clarify the request.
Do not assume that an on-chain address offered as a fallback will settle the same invoice or order. The recipient may handle that payment route separately. Confirm the intended route with them before sending funds.
When checking expiry, use the invoice details decoded by the wallet, rather than the time a message containing the invoice arrived. A request can be forwarded or left open before you see it. If the wallet reports expiry but the recipient still expects payment, ask for a new request tied to the same order or obligation.
Find out what happened to the first attempt
Failed: Open the outgoing payment in your wallet’s history and record its exact error, amount, time and reference. A failed attempt may reflect an expired invoice or another payment problem. The label alone does not explain the cause or show how a wallet or intermediary handled any reserved balance or fee.
Pending: The interface has not yet shown a final outcome. Refresh the attempt’s details and ask the recipient to check the matching invoice. Wait for a clear result before paying another invoice for the same purchase. An unresponsive screen is a reason to investigate, not evidence that payment failed.
Settled: Match the completed outgoing payment against the recipient’s settled invoice, using a payment hash or another shared reference if the applications expose one. LND’s receiving documentation distinguishes an invoice being added from one being settled and describes invoice updates. A checkout page or message from the payer alone is a weaker check than the recipient’s invoice record.
If the payer’s wallet says “paid” but the recipient says “unpaid”, keep both records and ask the relevant wallet provider or recipient to reconcile that specific attempt. An order confirmation can lag behind settlement, so compare payment records rather than treating the order screen as the final payment status.
Use an invoice or payment reference when comparing records. Two entries with the same amount and recipient may still be separate requests, especially after an invoice has been replaced. If the payer and recipient cannot see the same identifier, record the times and amounts for each attempt and explain which invoice was used.
If an on-chain swap was involved
Some services take an on-chain Bitcoin payment and use it to pay a Lightning invoice. That creates at least two records to inspect: the on-chain transaction and the service’s Lightning payment or swap record. An on-chain transaction may need to confirm before the service can complete its side of the process. The invoice can expire during that interval.
Find the transaction ID and the provider’s swap or order ID. Check whether the transaction was broadcast and confirmed, then whether the provider says the Lightning invoice was attempted, failed or settled. A visible on-chain debit shows that an on-chain transaction occurred; it does not show that the Lightning recipient was paid.
Bitcoin.org’s transaction FAQ explains that on-chain confirmation times and fees can vary. A swap service can also have its own deadlines, charges and recovery procedure. Read the terms for the service you used and its record for this transaction before assuming when funds might return, where they would go, or what another attempt would cost.
Keep the on-chain and Lightning statuses distinct when speaking to support. Saying only that the invoice expired may leave out the broadcast transaction the provider needs to trace. Give the service its swap ID and transaction ID, then ask whether it attempted payment, what happened to the funds it received, and which documented recovery step applies.
What to do before retrying
The invoice expired before you sent anything
- Check your wallet’s history for a pending or completed payment matching the old invoice.
- If there is none, request a new invoice for the same intended payment.
- Check the new request’s amount, destination details, description and expiry before approving it.
Use the payment history for the first check. The absence of a receipt does not prove that no attempt was made.
A direct Lightning attempt failed
- Save the exact error and payment reference. Check whether the wallet still shows an attempt as pending.
- Ask the recipient to check whether the matching invoice settled. If it did, resolve the mismatch before sending again.
- If there is no pending attempt and both sides confirm no settlement, use a valid invoice. Request a fresh one if the original expired, and review any fee shown before retrying.
A later attempt may find a working route, but it is not guaranteed. If the wallet’s balance or fee record conflicts with its failure status, ask its provider to explain that payment before making another one.
The attempt is pending or the records disagree
- Pause before paying a replacement invoice.
- Refresh the outgoing payment and ask the recipient to check the original invoice’s settlement state.
- If the outcome remains unclear, give the wallet or service the invoice, payment reference, amount and attempt time. Ask for the final status of that attempt.
A replacement invoice is a separate request. Establish whether the first was paid before deciding whether the replacement is still owed.
An on-chain swap began
- Keep the on-chain transaction ID and the provider’s swap or order ID together with the invoice.
- Check the transaction and the provider’s Lightning status separately. Read its expiry and recovery rules.
- If the invoice expired after the transaction was broadcast, use the provider’s documented support route to request an outcome for that swap before starting another.
Do not broadcast a second on-chain transaction simply because the original invoice expired. The first transaction may still confirm, and the service may have a process for a Lightning payment it could not complete. Any refund destination, deductions and timing depend on that provider’s terms and the particular case.
Keep the records you will need
Save the original invoice, amount, attempt time, exact status and any payment hash, transaction ID or provider order ID. These let the recipient or provider locate the attempt. Never share a recovery phrase or private key as proof of payment. Once the first attempt has a clear outcome, compare it with the recipient’s invoice record and use a valid new request only if the payment is still owed.
