Why does Shop Pay disappear from my draft order invoice as soon as I add a discount?
Some merchants find that once a discount is applied to a draft order, the invoice either will not generate a payment link or loads without Shop Pay as an option. Here is what is likely happening and how to fix it.
What's going on
You send a draft order invoice the way you always do, but this time either the invoice email arrives without a working payment link, or the customer opens it and Shop Pay simply is not one of the payment options, even though Shop Pay works fine on your normal storefront checkout. It tends to start happening right after a discount gets applied to the draft order, whether you typed it in manually or it came from a discount app you have installed.
This is confusing because nothing about your payment settings changed. Shopify Payments and Shop Pay are still enabled, other draft orders without discounts send and pay through normally, and the discount itself looks correctly applied on the draft order screen. It is only when a discount is in the mix that the invoice link misbehaves or the Shop Pay button disappears.
Enough merchants have reported this pattern across different discount apps that it does not look like a one-off account glitch. It tends to show up in clusters: a merchant applies a promotional discount to several draft orders in a batch, and some invoices work fine while others do not, which can feel random even though there is usually a consistent underlying cause.
Why it happens
Sending a draft order invoice is a separate, more limited payment flow than your regular storefront checkout. Discounts created by third-party apps are usually built to run during standard storefront checkout and generally are not designed to reach into draft orders at all. A draft order's discount needs to be added directly on the draft order itself using its own discount field; if a merchant expects an app-based discount to carry over automatically, the draft order can end up in a state that breaks the invoice link.
Shop Pay also depends on a few conditions being met: Shopify Payments needs to be enabled, and the draft order needs a real amount due along with a customer record that has a valid email or phone number attached. If a discount brings the balance due down to $0, Shopify has nothing to charge, so it will not generate a payable checkout page at all. The draft order screen instead offers Mark as paid, which can look like the invoice is broken when it is actually just unnecessary. If contact details on the draft order are incomplete, Shop Pay can also drop out of the payment options without any error message.
Separately, some of these reports look like plain app bugs: merchants have found the problem clears up after updating or reinstalling the discount app in question, which points to a stale connection between the app and the draft order rather than a hard platform restriction.
5 ways to fix it
Check whether the discount brought the order total to zero
If a discount, including one stacked by an app, reduces the draft order's balance due to $0, Shopify has nothing left to charge, so it will not generate a payable checkout link at all. The invoice screen instead offers Mark as paid, which is expected behavior rather than a bug. Before troubleshooting further, open the draft order and confirm the amount due is actually greater than zero; if it isn't, use Mark as paid instead of looking for a missing payment button.
Apply the discount directly on the draft order, not through your storefront discount app
Draft orders have their own discount field on the draft order screen, letting you add a percentage, fixed amount, or shipping discount manually. Discounts created by third-party apps are generally built to run during regular storefront checkout, and typically do not carry over to draft order invoices, since sending an invoice is a separate, simplified payment flow. If you want a discount reflected on a draft order, add it natively on the draft order itself rather than assuming an app-based discount will apply automatically.
Confirm the draft order has what Shop Pay needs to appear
Shop Pay only shows up when Shopify Payments is active and the draft order has a valid amount due along with complete customer contact information. Check Settings, then Payments, to confirm Shop Pay is enabled, and make sure the draft order has a customer with a valid email or phone number attached before resending the invoice.
Update or temporarily disable the discount app, then create a fresh draft order
Some merchants have found the invoice link starts working again after updating or reinstalling the discount app involved, which points to a stale app connection rather than a permanent limitation. If the issue is inconsistent, try disabling the discount app temporarily and creating a new draft order rather than duplicating a problem one, then send the invoice to see if it resolves. Comparing a working draft order against a broken one can help you narrow down whether the issue is tied to the app or to something specific on that order.
Contact Shopify support with the specific draft order ID
If the invoice still will not generate or Shop Pay still will not appear after the checks above, contact Shopify support, or the discount app's support team, with the exact draft order ID and a description of the discount involved. Since this is a recurring pattern reported across multiple merchants rather than a single isolated case, support is more likely to have a fix or a known issue reference if you can point to a concrete order.
Bottom line
There is no dedicated BesPoP app needed for this issue, and in most cases the fix costs nothing: either the order is genuinely at $0 so no invoice is required, the discount needs to be added directly on the draft order instead of through a storefront discount app, or the draft order is missing something Shop Pay requires. Work through the checks above in order, since they resolve most cases, and treat it as an app bug only if a fresh draft order with the discount app disabled still will not produce a working invoice.
Browse the rest of the problem library, run a free storefront scan to catch issues like this automatically, or email us and we'll work out a custom solution for it.