A subscription renewal failed, and you want to know why and how to run the charge again. This article covers the three questions we hear most: what a failure reason like "insufficient inventory" means when the product is in stock, how to retry a payment after your subscriber fixed their card, and where to look up any error code Shopify returns.
Why subscription payments fail
When a renewal is due, Subi creates a billing attempt and sends it to Shopify. Shopify charges the customer's saved payment method and returns a result. Subi shows you that result: a Payment failed banner at the top of the subscription names the reason and the fix, and Billing History keeps the error code and message Shopify sent back.
Subi creates and schedules billing attempts, sends them to Shopify, and shows you the outcome.
Shopify and the customer's payment provider process the payment and decide whether it succeeds.
Because Shopify handles the payment, every failure reason comes from Shopify or the payment provider. Subi cannot see more detail than the code and message it receives.
What the Payment failed banner on a subscription tells you
When the last payment on a subscription failed, a red Payment failed banner sits at the top of the subscription page (open Contracts, then the subscription). Its title carries the date of the failed payment it describes. Below the title it shows up to two lines:
The reason, in Shopify's own words for that specific error and written per error code — for example "Shopify couldn't charge this renewal because the customer's card has expired. The customer needs to add a new card." Each reason says what happened and what to do next.
What is still unpaid: how many billing cycles have not been paid since the last successful payment, and the amount. For example, two unpaid cycles on a subscription that costs $18.50 USD show "2 unpaid cycles, $37.00 USD". The amount is the number of cycles times the subscription's current price, without shipping or tax. When nothing is unpaid, this line is hidden.
Next to Contact support, the banner offers one button that fixes the most likely cause:
View recovery status: the customer's card was declined and Payment recovery is already working on this subscription. The button takes you to the Payment recovery card on the same page.
Turn on payment recovery: the card was declined and payment recovery was never turned on for your store. The button opens the payment recovery settings.
Restock in Shopify: an item was out of stock. The button opens the product in your Shopify admin, or your products list when the subscription has several products.
Open payment settings: a payment setting in your store blocked the charge, for example a payment provider that is not enabled for subscriptions. The button opens Payments in your Shopify settings.
For any other reason the banner shows Contact support only.
Why can the number of unpaid cycles be lower than the failed rows in Billing History? Billing History lists every attempt, retries included. The banner counts each billing cycle once, and leaves out cycles a later retry collected and cycles from before the last successful payment.
What the Contracts list tells you when your payment settings block renewals
Some renewals fail because of a setting in your own store, not because of the customer's card. Shopify reports four of these: a payment provider that is not enabled for subscriptions, a payment method your gateway settings do not accept, an error with your payment provider account, and a store payment rule that blocked the charge. Your customers can't fix any of them, and Subi does not retry these payments.
When active subscriptions failed for one of these reasons, a red banner sits at the top of Contracts, ahead of the banners about paused subscriptions and failed payments. Its title counts every affected subscription, for example "13 subscriptions can't renew until your payment settings are fixed". Below the title it shows one line per reason with its own count, for example "13 subscriptions: Payment provider account error".
Open payment settings opens Payments in your Shopify settings, where you fix the provider or gateway setting.
When the only reason is a store payment rule, the title reads "failed on a store payment rule" and there is no button, because you may have set that rule on purpose. Check your payment rules in Shopify if it was not intended.
You can close the banner. It comes back only when more subscriptions fail for these reasons than when you closed it.
Why do these subscriptions still show a failed payment after you fixed the setting? Subi does not retry these payments, so each subscription stays failed until its next renewal, which is then charged normally. To collect sooner, move the subscription's next order date to the soonest available day.
Find the reason for a specific failed payment
Open Contracts in your Subi admin, open the subscription, and scroll to Billing History. Hover over the Payment fail tag on a billing attempt to see the error Shopify returned.
Every code, what it means, and who has to act is listed in Billing attempt error messages: meaning and solutions. Three codes merchants ask about most often:
INVALID_PURCHASE_TYPE (or PURCHASE_TYPE_NOT_SUPPORTED on attempts before 28 July 2026): the customer's card does not allow recurring subscription purchases. The customer needs to contact their bank or use a different payment method. If the code keeps coming back, check your payment provider settings in Shopify Admin and contact your payment provider or Subi support.
FRAUD_SUSPECTED: the charge was flagged as potentially fraudulent. The customer should check with their bank before you retry. If you review the customer's order history and the order is genuine, retry the billing attempt and contact Shopify support to remove the fraud flag.
INCORRECT_NUMBER or INVALID_NUMBER: the card number on file is not valid. The customer needs to update their payment method.
Your subscriber fixed their card: how to run the charge again
The update link you send from the subscription changes the card on the payment method the subscription already uses. A card the customer adds separately, as a new payment method, is not attached to the subscription, so the subscription keeps charging the old one. On Smart payment recovery, the customer's recovery emails also offer a button to switch the subscription to another card already saved on their account. Otherwise, send the update link (see How customers can update their payment method below) rather than asking the customer to add a new card.
On Smart payment recovery, you usually do not need to do anything: when the customer updates the card through that link while a recovery is open, Subi retries the charge right away. If the next renewal is 3 days away or less, Subi leaves the charge to that renewal instead. A payment that failed for a reason Smart payment recovery does not retry on its own, such as suspected fraud, is not retried either: run the charge yourself as below, or reschedule. The subscription's Payment recovery panel shows what happened.
To run the charge yourself:
Open Contracts and open the subscription.
In its Payment recovery panel, click Retry now and confirm (Smart payment recovery, Subi plan and up). Subi tries the payment method on file straight away and skips the next scheduled retry.
The same Retry now action is on each open recovery in the sequences list under Retention > Payment recovery, next to skip and mark as lost. Retry now and these per-row actions are included from the Subi plan up, and they work only while a recovery is open.
If you do not see a retry option, reschedule instead: in the subscription, click Reschedule next to the next order date, pick the earliest date the calendar allows, and save. The charge runs on that date. After it succeeds you can reschedule again to restore the original cycle.
If your store is on a Free plan and you see neither Retry now nor Reschedule, send your customer the update link instead (see How customers can update their payment method below). On Smart payment recovery, Subi retries the charge when they update the card while a recovery is open, as described above; otherwise the charge runs at the next scheduled retry or renewal. Reschedule is included from the Starter plan, and Retry now from the Subi plan.
In Billing History, the three dots next to a billing attempt that has been retried open a detailed view of the original attempt and every retry, with their statuses and timestamps. Billing History shows what happened; it does not run a charge.
"Insufficient inventory" although the product is in stock
A renewal can fail with an inventory reason (INSUFFICIENT_INVENTORY) even when the product page shows units available. Here is what is happening and what to do.
What Subi checks. Your inventory policy for recurring billing decides whether Subi attempts the charge when stock is low. Find it under Settings > Inventory policy. With Attempt only if inventory is available, a billing attempt fails and is flagged with an inventory error whenever Shopify reports that there is not enough tracked stock to fill the order at the moment of the attempt. With Attempt anyways (the default), billing goes ahead even at zero stock. The policy only affects recurring billing for existing subscriptions, not new checkouts.
Why it can fail while you see stock. The stock check is Shopify's and happens at the moment the attempt runs. If the item was restocked after the attempt, or if you believe your inventory is correct, check the variant's inventory and locations in your Shopify admin, or contact Shopify support. The error is not created by Subi.
How to retry the charge now. Once the item is back in stock, click Retry now in the subscription's Payment recovery panel if a recovery is open and your store is on the Subi plan or higher, or reschedule the next order date as described above.
If your store is on Smart payment recovery, you usually do not need to do anything: when a renewal fails because the item is out of stock, Smart payment recovery watches for the item to come back in stock and retries the billing attempt automatically. Open the subscription to follow it: its Payment recovery panel shows the failure reason, the current step, and the next scheduled action. If the stock never returns, the recovery ends without a charge. On classic recovery, Subi retries in the next scheduled cycle once the item is restocked.
How Smart payment recovery handles failed payments
When a payment fails, Smart payment recovery looks at why it failed and picks the right response. A temporary problem like insufficient funds is retried automatically over the following days. A card problem like an expired card is not blindly retried; the customer is emailed a clear way to update their card instead.
Open Retention > Payment recovery in your Subi admin to see your recovery window, the customer emails, and how recovery is performing. New stores get the Short recovery window automatically. If your store is still on Subi's classic recovery, the same page is where you switch to Smart payment recovery.
All plans: the Short recovery window, automatic retries, and customer recovery emails.
Subi plan: the Standard recovery window, a custom sender name and reply-to address, and per-row actions on the sequences list.
Subi Plus: the Aggressive recovery window, proactive card-expiry emails before the charge runs, advanced email customization, and bulk actions with CSV export.
How customers can update their payment method
Customers can update their payment method in their customer portal, or through a secure link you send them.
To send an update link for one subscription: open Contracts, open the subscription, and in the Payment method section click Send link to update card. Shopify emails the customer a secure link. The card they enter replaces the one on the subscription's payment method, so the next billing attempt charges it.
To send links in bulk: from the Failed Payment tab of your Contracts list, select the subscriptions with the same failure reason, then click Bulk actions > Send update payment method link.
How you are notified of failed payments
Enable failed payment notifications in your Subi settings to notify both you and your customer when a payment fails. You can receive an email alert for each failure and see every failed payment in the Failed Payment tab of your Contracts list. When Smart payment recovery is active, the customer also receives a short series of recovery emails explaining what happened and how to fix it. You can turn those recovery emails on or off independently of card retries with the toggle in the Customer emails card under Retention > Payment recovery.
Related articles


