An expired crypto invoice does not, by itself, prove that no money was sent. Before asking the customer to pay again, separate an unused payment request from a transfer awaiting confirmation and a transfer sent after the deadline. Check the provider's payment record and the actual transaction before replacing the invoice or fulfilling the order.
This guide is for merchants handling one-time purchases. It covers the decision around an expired payment request, not recovery of unsupported transfers or a promise that every late payment can be credited. Provider rules differ; a countdown is not a universal refund policy.
What expires: the request, not the blockchain
A payment page may have a deadline for its quoted amount or payment instructions. A hosted checkout session can also have its own validity period. Neither timer cancels a transaction that has already been broadcast to a blockchain.
Keep three records separate: the commercial order, the payment request or invoice, and the transfer. One order may have several payment attempts. Creating a replacement request must not erase the record of an earlier attempt that could still receive funds.
As one provider-specific example, Cryptomus documents that an invoice which expires after a customer pays but before network confirmation can later become paid. It recommends a new invoice when an expired one has not been paid. This distinction is useful, but those rules are not evidence of Yolfi's late-payment behavior.
Triage the payment before offering a retry
Ask whether the customer approved an actual transfer, not just whether they opened their wallet. An exchange withdrawal marked processing may not yet have been broadcast. Conversely, a stale payment page may not reflect a transfer already detected by the provider.
| What you can verify | What it means | Safe next step |
|---|---|---|
| No transfer was submitted and no receipt is detected | The old request was unused | Check the order and issue current instructions if payment is still due |
| A transfer is pending or confirming | Its outcome is not final | Keep the case open; do not request a second payment yet |
| Funds arrived after the deadline | Receipt and order acceptance need separate review | Follow the provider's documented exception process |
| The provider confirms successful payment | The old countdown is not the fulfillment authority | Match the order and fulfill it once |
| Only a screenshot or unsupported transaction reference is supplied | Payment has not been verified | Ask for the network and transaction hash; investigate before crediting |
A transaction hash is a lookup reference, not proof that this customer paid this order. Verify the asset, network, recipient, delivered amount and relevant confirmation state. Do not infer a successful token transfer solely from a successful transaction containing unrelated activity. For a mismatched destination or network, use the wrong-network prevention guide rather than asking the customer to repeat the same mistake.
A five-step procedure for an expired invoice
1. Freeze the retry while gathering evidence
Give one support case an owner and link it to the order and original invoice. Ask for the selected network, transaction hash if available, amount and approximate send time with a time zone. Never request a recovery phrase or private key. Record only necessary customer data in your restricted business system.
Use a clear message: “Please do not send again while we check the first transfer. Send the transaction hash and network, or confirm that you did not submit a transfer.” This is a suggested support message, not a claim about automatic Yolfi notifications.
2. Check the provider record and transfer independently
Read the current payment status through the authenticated merchant interface or the documented integration. Check whether funds were detected, whether confirmation is incomplete, and whether the request has an expiry timestamp. If the provider record and explorer disagree, keep the case unresolved and escalate through the provider's support process.
For Yolfi, the current payment documentation distinguishes PENDING, CONFIRMING, SUCCESS, EXPIRED, FAILED and CANCELLED. It says that isFullyPaid alone does not establish confirmation or settlement. Fulfillment requires payment status = SUCCESS or a verified payment.confirmed Webhook. A redirect or the customer's screenshot is not that confirmation.
The documented timestamps include createdAt, detectedAt, paidAt and expiresAt; some can be absent. Do not invent missing timestamps or treat the customer's send-click time as provider detection time. These fields help investigation but do not document automatic recovery of a late Yolfi payment.
3. Resolve the original attempt before replacing it
If nothing was sent or received and the order remains payable, create a current request through the supported flow. Recheck price, availability and the customer's chosen payment method. Tell the customer to use only the new instructions, not an old address or saved QR code.
If a transfer exists, do not treat invoice replacement as a way to move it automatically. Keep both references. Where safe resolution is not yet possible, tell the customer that payment is being reviewed rather than marking the order unpaid and collecting again.
4. Decide how to handle verified late funds
Use the provider's actual rules and your sales terms to decide whether received funds can be applied to the order or need a return. A late transfer does not preserve an expired exchange-rate quote by default. Agree any revised valuation or amount with the customer; do not silently change the price after receipt.
For a short or excess payment, follow the amount-mismatch checklist. If a return is appropriate and you control the funds, use the refund checklist. Do not assume the original sender address is a safe refund destination or promise an automatic refund that the provider has not documented.
5. Close one order with an auditable outcome
Record the original attempt, any replacement attempt, the verified receipt and the final decision. Mark whether the order was fulfilled, cancelled, credited or refunded according to the actual outcome. If two attempts both succeed, flag a duplicate receipt for review instead of delivering twice or ignoring the second payment.
Keep fulfillment protected against repeated notifications as well as multiple successful attempts. The business order should be fulfilled once even if the integration receives the same confirmation again. Use the reconciliation guide to connect payment evidence to your order records.
Design the next payment attempt more clearly
Show the active request's deadline and time zone where available. Explain that customers should stop using expired instructions and contact you if they already sent funds. Separate “waiting for payment” from “funds detected, awaiting confirmation” wherever the provider supplies that distinction.
For a reusable fixed-price product, Yolfi payment links offer a shareable payment entry point. For a dynamic order, the Checkout Session documentation describes a short-lived session with a server-controlled amount that creates an invoice after the buyer chooses how to pay. Treat these as different objects, not interchangeable timers.
The available assets and networks depend on the actual payment configuration. Use current instructions from the active payment flow, not a generic token list. Nothing in this guide establishes a fixed Yolfi expiry duration, grace period or automatic late-payment refund.
Frequently asked questions
Does an expired invoice mean the crypto is lost?
No. Expiration alone does not establish where funds are. A transfer may not have been submitted, may still be pending, or may have arrived without being applied to the order. Verify the transaction and provider record before stating an outcome. Recovery is not guaranteed for an unsupported asset or network.
Should the customer send again immediately?
Not if the first transfer may exist. Investigate it first. When no transfer was submitted and the original request is unused, issue current instructions after checking that the order still needs payment.
Can USDC or USDT payments arrive late too?
Yes. A stablecoin's price target does not remove wallet, exchange or network delays, and it does not extend a payment request's validity. Follow the active instructions and the provider's documented confirmation rules.
Can a merchant fulfill an expired Yolfi invoice from a screenshot?
No. The documented fulfillment condition is SUCCESS or a verified payment.confirmed Webhook, not a screenshot, redirect or isFullyPaid by itself. If a late transfer is unresolved, investigate it through the supported process rather than inventing a successful state.
Conclusion: verify first, replace second
The safest response to an expired crypto invoice is not an immediate second payment request. Establish whether a transfer exists, verify its state, resolve any late receipt under the provider's rules, and close the order once. When no payment was sent, provide fresh instructions through the appropriate Yolfi payment-link flow and retain the original reference for your records.
