Dashboard
DocsFailed Payments on Your Subscription Bot | BotSubscription

Failed Payments and Abandoned Checkout on Your Subscription Bot

When a renewal fails or a buyer leaves checkout unfinished, your Telegram or Discord subscription bot can still recover the sale. This page covers failed renewal recovery and abandoned checkout follow-ups. It is not the same as a completed payment that never granted access. Telegram and Discord stay on separate join paths throughout.

Which problem are you solving?

Work these checks in order.

  1. The member paid, but access never arrived. Start with member paid but the subscription bot granted no access.
  2. A recurring renewal failed, or checkout never finished. Stay on this page.
  3. The whole bot is suspended. That is your platform-fee balance, not the member's card. The current unpaid window is 3 days after the usage report on subscription bot pricing. The legacy 5-day suspended bot window is still documented, and that difference is intentional.

Do not treat a member free trial as either unpaid window. Those clocks are separate.

Failed renewal recovery on your subscription bot

When a recurring charge fails, the member is notified to update payment details. Access is not always removed at the first decline. Renewal processing retries more safely across saved payment methods, delayed provider responses, and temporary lookup failures.

When payment state cannot be confirmed, more flows preserve access and retry instead of ending membership early. See the subscription bot lifecycle after payment for grant, expiry, and cancel behavior.

Custom failed-payment messages and delayed follow-ups

You can customize the messages members receive for key subscription events. Those events include activation, renewal, cancellation, termination, failed payments, and renewal reminders. Language-specific versions are supported. Delayed follow-up steps are supported for failed-payment messages, so a declined renewal can get a later nudge in the member's language. Renewal reminders keep their own schedule and do not support delayed or repeated steps.

Set these messages on the project so failed renewals stay on-brand and arrive after the first decline. Delayed steps require a custom bot. Shared-bot projects support immediate-only messages.

Telegram broadcasts before access expires

Telegram broadcasts can target members whose access expires in the next 3 or 5 days. Use that audience for renewal reminders before access ends. It is a retention list, not the platform-fee clock, and not a member free trial.

First-interaction follow-ups for Telegram and Discord

Projects can send an automated follow-up after a user's first bot interaction if they still have no membership. That covers first contact generally, not checkout-specific abandonment. Follow-ups work on both Telegram and Discord. Manage them from project settings or the API. Delayed steps require a custom bot. Shared-bot projects support immediate-only messages.

Hosted checkout sessions can be recovered when a customer closes the browser, loses the payment link, or retries after the original response is gone. If the original checkout is still valid, BotSubscription resumes it instead of creating a new payment attempt.

Resume or cancel a pending payment request

Integrations can resume or cancel eligible pending payment requests through the API. Recovery checks the payment provider's current state first. A completed payment always takes precedence over an outdated local checkout.

After the payment completes

An order can complete while the member still has not received access. Telegram and Discord do not share a join command.

Tell the member to use /join (or the join buttons) in a private chat with the bot. Telegram does not let bots add users directly. The bot sends a unique invite link.

If PayPal still shows Pending, wait. Access is granted only when PayPal is COMPLETED. See PayPal pending payments.

Confirm the membership with /settings → Memberships. Command reference: bot commands for members and admins.

What not to mix up

  • Member free trials are not the unpaid platform-fee window.
  • The current platform-fee window is 3 days after the usage report. The legacy suspended-bot page still documents 5 days. Both are intentional.
  • Telegram /join is not Discord role recovery via /settings → Memberships → Claim Roles.
  • A failed renewal is not the same as a completed order with no access.
  • A suspended bot stops processing payments. That is your platform bill, not the member's card.

FAQ

A renewal failed. Did the member already lose access?

Not always. When payment state is unclear, more renewal flows preserve access and retry instead of ending membership early. Check /settings → Memberships or the dashboard before you grant or revoke access by hand.

Someone interacted with the bot but never subscribed. What can I send?

Automated follow-ups can re-engage people who had a first interaction without becoming a member. Those follow-ups work on Telegram and Discord. Delayed steps require a custom bot. If they used a hosted checkout that is still valid, resume that session instead of creating a new payment.

Is the 3-day expiry broadcast the same as the 3-day unpaid bill?

No. Telegram broadcasts can target members whose access expires in 3 or 5 days. The 3-day unpaid window on pricing is your platform-fee bill. A member free trial that lasts 3 days is a third clock.

The member says they paid, but the bot still shows pending.

Wait for the provider to mark the payment complete. For PayPal, that status is COMPLETED. Then use /join on Telegram or /settings → Memberships → Claim Roles on Discord. If the order is already complete and access is still missing, switch to the paid-but-no-access tree.

Next Steps

Last updated: