Shopify Post-Purchase Upsell Payment Methods: What Works (2026)
Short answer: a Shopify post-purchase upsell shows only when the buyer's card was vaulted (saved) at checkout. Of the payment methods, credit cards through Shopify Payments and Shop Pay work, and PayPal Express sometimes. Apple Pay, Google Pay, Amazon Pay, Klarna and other installment plans, Cash on Delivery, gift-card-only orders and redirect gateways like Razorpay and Mollie do not.

A post-purchase upsell is a one-click offer shown after payment but before the thank-you page. Whether it appears at all comes down to how the buyer paid. Start with the table below to check your own methods. After that we cover the mechanic that explains every rule, the gateway-level detail most guides skip, the points where Shopify's documentation and app vendors' help pages disagree, every non-payment reason an offer gets blocked, why orders show "On hold," how to test properly, how to work out what this is actually costing you, and the fix that lets COD and wallet stores upsell anyway.
Quick answer: payment method support table
| Payment method | One-click post-purchase upsell? | Notes |
|---|---|---|
| Shopify Payments (credit cards) | Yes | The most reliable option by a wide margin |
| Shop Pay | Yes | A saved card in standard checkout; one vendor says the accelerated button is excluded, so test it |
| Other direct credit card gateways | Yes | Must run inside Shopify checkout, no redirect, no per-transaction CVV |
| Authorize.net | Yes | Direct processor with vaulting |
| Debit cards | Usually yes | Fine through normal Shopify checkout; not through a wallet button. One vendor lists debit as unsupported, so test |
| PayPal Express | Sometimes | One offer only, needs Automatic Payments, buyer must be logged in |
| PayPal wallet button, PayPal Billing Agreement | No | AfterSell's docs list both as skipped |
| PayPal Payments Pro / Payflow Pro / Eway | No | Shopify's docs name them as providers that retain the CVV and are not supported |
| Braintree | Sometimes | Shopify's docs name it among CVV-retaining providers; AfterSell says it works only with CVV verification off |
| Stripe (newer versions) | No | Only older Stripe versions work, per AfterSell's docs |
| Apple Pay | No | A wallet; Shopify's table excludes it by name |
| Google Pay | No | Same limit as Apple Pay |
| Amazon Pay | No | A wallet; also named in Shopify's table |
| Meta Pay | Probably not | Not named in Shopify's list; it is a wallet, so expect the same as Apple Pay |
| Klarna, Afterpay, Affirm, Sezzle, Zip | No | Buy now, pay later, cannot add a second charge |
| Shop Pay Installments | No | This is a buy now, pay later plan |
| Cash on Delivery (COD) | No | Manual method, nothing is paid at checkout |
| Razorpay, PayU, Cashfree and similar | No | They redirect the buyer, so no saved card |
| Bank transfer (iDEAL, SEPA, Bancontact) | No | No saved card, and it redirects |
| Gift card paying the full order | No | A gift card plus a card together: sources disagree, so test |
| Redirect gateways (Mollie and similar) | No | The buyer leaves Shopify to pay |
| Airwallex, PSIgate, NMI / Safeweb | No | No card vaulting setting available |
| Bambora / Beanstream | No | Requires CVV on every transaction |
Checked 11 October 2026 against Shopify's post-purchase limitations table and the help pages of three post-purchase app vendors: AfterSell, Upsell.com and UpsellPlus. Vendor claims are labelled as such. Where the sources disagree the row says "test," and the disagreements are laid out in a table further down.
The mechanic that explains every rule on this page
Most guides tell you which methods work. Almost none explain why, which is why merchants keep hunting for a setting that does not exist. Here is the actual sequence.
Shopify's developer documentation puts the post-purchase page after the order is confirmed and before the Thank you page, and says it renders only when every required condition is met. Its own example of a condition is that the customer's credit card must be vaulted. That is what makes a genuine one-click add possible: the upsell is added to the same order, charged to the stored card, and goes to the same shipping address.
To bill that second amount without asking for anything, Shopify must already hold a reusable copy of the card. That is called vaulting. Vaulting only happens when the card is entered inside Shopify checkout, by a gateway that supports stored cards and does not demand a fresh CVV each time.
So the whole guide reduces to one sentence: no vaulted card, no post-purchase offer. Redirect gateways fail because the card is typed on someone else's site. Wallets are excluded by name in Shopify's table, and the practical reason is the same: the payment leaves no card Shopify can charge again. BNPL fails because there is a financing plan rather than a card. COD fails because nothing was paid at all. Shopify's own rules are in the official post-purchase documentation. If you are weighing this seat against an offer on the payment step, see the Shopify checkout upsell guide.
Once that clicks, the rest of this page is just the list of methods that clear the bar — and what to do about the orders that do not.
Credit and debit cards
Cards are the safe path, but not every card gateway qualifies. A gateway works only if it is a direct provider that processes inside Shopify checkout and can vault the card.
- Shopify Payments is fully supported and by far the most reliable choice. If post-purchase upsells matter to your revenue and Shopify Payments is available in your country, this alone settles the decision. One catch from AfterSell's docs: regional methods that appear under Shopify Payments in checkout, such as iDEAL, Bancontact and Blik, are bank transfers rather than cards and do not qualify.
- Other direct card gateways work if they run inside Shopify checkout and never send the buyer to another site. Check yours under Settings → Payments → Third-party providers. If your provider appears in that "direct" list, it is a candidate. Authorize.net is a common example that works.
- Gateways that demand a CVV on every single transaction cannot re-charge silently, because there is nobody there to type it. Shopify's documentation says providers that require the CVV to be retained are not supported, and names Braintree, Payflow Pro, PayPal Payments Pro and Eway as examples. Bambora/Beanstream falls here too. AfterSell's help docs say Braintree does work once CVV verification is switched off in Braintree's own settings, not in Shopify. Treat that as a test-it-yourself exception, since Shopify's list still names Braintree.
- Gateways with no vaulting option at all — Airwallex, PSIgate, NMI/Safeweb — will never show offers, no matter which upsell app you install.
- Redirect gateways (Mollie, Razorpay, PayU, Cashfree, and most regional providers) do not work, because the buyer leaves Shopify to pay.
- Newer Stripe versions are not supported by Shopify's post-purchase API, and AfterSell's docs say only older versions work. It has not been rolled out, so no app can trigger offers on those orders. This one catches merchants who assume "Stripe is a card gateway, so it must work."
Debit cards are the grey area. Shopify's table says "credit card" without defining it, and UpsellPlus lists debit as unsupported. A debit card typed into Shopify checkout should be vaulted like any other card, but none of the sources we read tests that, so place a test order first. Through a wallet button or a redirect flow it does not work.
Shop Pay
Shopify's limitations table excludes wallet and installment services but does not list Shop Pay, and its post-purchase documentation even includes a note on how data storage behaves when buyers check out with Shop Pay. That implies the page renders in a Shop Pay checkout. There are two exceptions. Shop Pay Installments is a BNPL plan and is not supported. And AfterSell's help docs say Shop Pay as a saved card in standard checkout works, but the accelerated "Buy with Shop Pay" button, which skips the normal checkout flow, does not. Shopify's table does not say that, so treat it as unconfirmed and test the button on your own store.
PayPal
PayPal can work, but treat it as a "maybe," not a "yes."
- Your PayPal account must be approved for Automatic Payments (also called Reference Transactions). Without that approval, no offer appears. This is requested through PayPal, not Shopify, and approval is not automatic.
- The buyer must be logged in to PayPal. PayPal guest checkout is not supported.
- Only one offer will ever show. Once the buyer accepts or declines, the funnel ends — no downsell, no second offer. If you run a post-purchase upsell and downsell funnel, PayPal buyers only see step one.
- Availability varies by region and by which PayPal integration you run. Shopify's documentation names PayPal Payments Pro and Payflow Pro as providers that retain the CVV and are not supported, and AfterSell's docs add that orders paid with the PayPal wallet button or a PayPal Billing Agreement skip offers. In practice only PayPal Express, with Automatic Payments approved, is a candidate.
If PayPal is a large slice of your orders, build a thank-you page offer as the backup rather than assuming the one-click page will carry it.
Apple Pay, Google Pay, Amazon Pay, and Meta Pay
Shopify's limitations table says the post-purchase page is not shown when the customer pays with a wallet or installment service, and names Apple Pay, Amazon Pay and Google Pay. Shopify does not give the reason; the practical one is that a wallet payment leaves no stored card for Shopify to charge again. Meta Pay is not named in the list, but it is a wallet, so expect the same and test it.
This is the quiet leak, because the buttons look like just another way to pay. Shop Pay is among the express buttons, and whether its accelerated button qualifies is one of the open points below. Your own payment report, covered below, gives the number that matters.
Cash on Delivery (COD)
This is the one that surprises the most store owners.
- COD is a manual payment method. The buyer has paid nothing at checkout.
- There is no saved card to charge a second time.
- So Shopify skips the one-click post-purchase offer on every COD order. There is no setting, no plan upgrade, and no app that turns this on.
Shopify's documentation says the post-purchase page is not shown when the initial purchase was made with a gift card or with any payment method other than a credit card, and COD is one of those methods.
Why this hits India, the Middle East, and Southeast Asia hardest. In markets where COD is the norm, it is not a side option. Those same stores typically run a regional gateway such as Razorpay, PayU, Cashfree, or Instamojo, which redirects the buyer to a hosted payment page. Redirected payments are not vaulted either, and AfterSell's docs tell merchants to assume any gateway that is not embedded inline in Shopify's checkout is unsupported. So a typical COD-plus-Razorpay store will effectively never see a one-click post-purchase offer, no matter which upsell app it installs. Do not spend a week debugging it. Skip to the thank-you page route below, which is built for exactly this situation.
Buy Now, Pay Later
Klarna, Afterpay, Affirm, Sezzle, Zip, and Shop Pay Installments do not support post-purchase offers. Shopify's table names Klarna, Affirm and Afterpay; AfterSell's docs add the rest. A BNPL order is a financing agreement on a fixed schedule, so there is no clean way to bolt a second charge onto it after the fact without renegotiating the plan.
Gift cards, discounts, and mixed payments
- A gift card covering the full order total blocks the offer, because no card is charged and nothing is vaulted.
- A gift card covering part of the order is disputed: AfterSell's docs say any gift card on the order disqualifies it, while UpsellPlus says a card covering the balance can still trigger the offer. Shopify's table is silent on part-payments, so test one before you rely on either.
- A 100% discount code has the same effect as a full gift card payment: nothing is charged, so nothing can be re-charged.
- The order total must be at least $0.50. Anything below that is skipped — which is also why a free test order never triggers the flow.
Other reasons your offer is not showing
Even on a perfectly supported card, the offer can still be skipped. Work through this list in order, starting with the app slot, which costs nothing to check.
- Your app is not set as the active post-purchase app. Go to Settings → Checkout → Post-purchase page and select your upsell app. Shopify allows exactly one post-purchase app per store, so an app you trialled months ago may still be holding the slot and silently swallowing every offer.
- The order is paid in full by gift card or a 100% discount code, or the total is under $0.50.
- The buyer checked out in a currency other than your store's primary market currency. Shopify's table words this as orders with duties and multiple currencies; UpsellPlus's and AfterSell's help pages say offers show only in the store's main currency, which matters if you sell through Shopify Markets.
- The order includes duties.
- The buyer chose local delivery, which Shopify's table excludes. AfterSell's docs add local pickup.
- The order has no shipping address, for example digital-only products. Shopify says you cannot add a subscription in that case; AfterSell's docs say the page does not load at all.
- The order was not placed through the Online Store sales channel. Shopify says other channels do not render the page. AfterSell's docs name POS, TikTok and subscription renewal orders, and say draft orders can qualify.
- The offer is a subscription and the order already contains one. Shopify's subscription documentation says a post-purchase subscription cannot be added to an order with an existing subscription, modify one, or convert a one-time item into a subscription.
- The upsell product is out of stock (tracked inventory at zero) or unavailable in the buyer's market. AfterSell's docs also say a bundle product cannot be used as the upsell item.
- The payment failed, was declined, or was flagged for review.
- Traffic spikes. During flash sales Shopify can briefly delay order creation, and its table says post-purchase pages are not shown in that case. Expect a dip in offer impressions on Black Friday, not a bug.
Why your order says "On hold" or "Pending upsell offer"
This alarms most merchants the first time they see it. It is normal and it is by design.
- While the buyer is looking at the offer, Shopify pauses the order. The admin may show "On hold" or "Pending upsell offer."
- Fulfillment is held during this window, so nothing ships before the buyer decides and you never end up sending two boxes.
- The hold is short. Shopify releases it when the buyer reaches the Order status page, or one hour after checkout if they never finish the flow. Once the buyer accepts or declines, the order releases automatically.
- If you use a 3PL or fulfillment app, make sure it works from fulfillment orders. Shopify says fulfillment holds are only supported through the FulfillmentOrder resource, so a tool that ignores them can ship before the upsell lands.
Two more things worth knowing:
- With manual payment capture, the order can sit as "Partially paid" until you capture both the original payment and the upsell charge. Once captured, it flips to Paid.
- If the post-purchase charge fails, the item is added but the order stays "Partially paid" with no transaction recorded, and Shopify emails the buyer to say payment was not completed. If the buyer checked out with a phone number and no email, that email cannot be sent, so follow up by SMS with a checkout link.
Where Shopify's docs and the app vendors disagree
Search this topic and you will hit help pages that contradict each other. On 11 October 2026 we read Shopify's post-purchase limitations table next to the help pages of three post-purchase app vendors (AfterSell, Upsell.com and UpsellPlus). They agree on the core rules above and disagree on the points below. The vendors sell upsell apps and Shopify's table does not settle these points, so a test order is the tiebreaker.
| Question | What the sources say | Treat it as |
|---|---|---|
| Gift card paying part of the order | Shopify's table says offers are skipped for purchases made with a gift card and does not address part-payments. AfterSell: any gift card on the order disqualifies it. UpsellPlus: a part-paid order may still trigger. | Unknown until you test |
| Shop Pay accelerated button | Shopify's table does not list Shop Pay. AfterSell: a saved Shop Pay card in standard checkout works, the "Buy with Shop Pay" button does not. | Standard checkout works; test the button |
| Braintree | Shopify names it among CVV-retaining providers that are not supported. AfterSell: it works only with CVV verification off. | Test with CVV verification off |
| PayPal | Shopify's table does not discuss PayPal Express. UpsellPlus: standard PayPal and PayPal Express are supported. AfterSell: only PayPal Express with Automatic Payments, for one offer; the wallet button and Billing Agreement orders skip. | Express with Automatic Payments only |
| Debit cards | Shopify's table says "credit card" without defining it. UpsellPlus lists debit cards as unsupported. | Test a debit card in standard checkout |
| Local pickup and digital-only orders | Shopify: no shipping address means no post-purchase subscription. AfterSell: the page does not load at all. | Assume blocked |
Three more claims are worth clearing up, because acting on the wrong one wastes real money.
- "Apple Pay and Klarna are supported." They are not. A handful of pages list express wallets and BNPL as supported, most likely by confusing the checkout page with the post-purchase page. If a method cannot be re-charged silently, it cannot power a one-click offer.
- "Shopify supports 100+ gateways including Mollie and Razorpay." Those gateways are supported for taking payment. Taking payment and showing a post-purchase offer are different things, and the two get blurred even on vendor help pages: Upsell.com's help centre publishes a July 2025 list of "Shopify-supported payment processors" that includes Mollie, Razorpay, Klarna and Afterpay, and says in the same article that the order must be paid with a vaulted credit card and that wallets, installment plans and bank transfers are not supported. AfterSell's docs tell merchants to assume a gateway that is not embedded inline in Shopify's checkout is unsupported. Being on a gateway list does not make a payment eligible.
- "Just switch upsell apps and it will work." Every app on the App Store uses the same Shopify post-purchase API and inherits the same restrictions. If your payment method is unsupported, changing apps changes nothing. What a better app gives you is a working fallback for those orders — not an exemption from Shopify's rules.
Work out what this is actually costing you
Before you decide how much effort to spend here, put a number on it. It takes five minutes.
- Open Analytics → Reports, filter to Finances and open Net payments by method for the last 90 days. Shopify's help centre says the report has a Digital wallet column (Shop Pay, Apple Pay and so on) and stops at 1,000 rows unless you edit its ShopifyQL query to remove the limit.
- Add up the share paid by Shopify Payments cards, Shop Pay (excluding Installments), and qualifying direct gateways. That is your eligible share. In the Digital wallet column, Shop Pay rows count; Apple Pay and Google Pay rows do not.
- Everything else — COD, wallets, BNPL, redirect gateways, gift-card-only orders — is your blocked share. Those buyers will never see a one-click offer.
- Estimate the upside. Growth Suite, a vendor that sells an upsell app, reports a 6% average acceptance rate for post-purchase offers across 200 stores and about 1 million offer impressions (January to June 2026). That is a vendor's own dataset, so treat it as a rough planning figure, not a promise. Multiply your eligible order count by an acceptance rate and your offer price to get a monthly figure.
- Run the same maths on the blocked share against a thank-you page offer, using the take rate your app reports after a few weeks of live data; we have not found an independent benchmark for thank-you pages worth quoting. It applies to orders that would otherwise generate nothing.
Acceptance depends on offer relevance and price, so swap the benchmark for your own numbers as soon as you have them. What the exercise really tells you is where to spend your attention: a store at 85% eligible should perfect its one-click funnel, while a COD-heavy store at 10% eligible should put nearly all its effort into the thank-you page. If you want the deeper numbers, we broke them down in our guide to post-purchase upsell conversion impact.
How to test it properly
Do not guess, and do not judge from a single order. Test every method your store actually offers.
- Place a real, paid order for each payment method, on the live store, in a normal browser.
- Use a steep discount code (95–99% off) so tests cost almost nothing — but never 100%, because a zero-dollar order will not trigger the flow. Keep the total above $0.50.
- Test on mobile as well as desktop. Wallet buttons appear far more often on mobile, and those are exactly the orders that will show nothing. A desktop-only test gives you a false pass.
- Test the cases where the sources disagree: a card, Shop Pay through standard checkout, the accelerated Shop Pay button, and an order part-paid by gift card. Write the results down and re-run them after any gateway change.
- On a development or test store you can use Shopify's test mode with a test card. Never enable test mode on a live store; it stops real customers from paying.
- If no offer appears, check the post-purchase app slot in Settings → Checkout first, then the payment method, then the blockers list above. In that order.
- If you A/B test offers, remember the test only sees eligible orders. On a COD-heavy store that may be a small slice of your sales, so read the result accordingly.
- Refund your test orders afterwards, and re-test after any gateway change, plan change, or new market launch.
The fix for COD and wallet stores: thank-you page upsells
Here is the part most guides leave out. "Post-purchase" covers three different surfaces, and only the first has strict payment rules:
- The post-purchase page — the interstitial between payment and the thank-you page. Strict. Needs a vaulted card. Adds to the same order in one tap.
- The thank-you page — the confirmation screen straight after checkout. No payment restrictions at all.
- The order status page — the tracking page buyers return to over the following days. Since Shopify's checkout updates these are two separate surfaces, and an offer here catches people who come back to check on delivery.
Surfaces two and three sit outside Shopify's one-click rules entirely. AfterSell's docs say thank-you page offers work with all payment methods and do not rely on the post-purchase API, which covers COD, wallets, BNPL, Razorpay and gift cards. Shopify's docs say Thank you and Order status page extensions are available on every plan except Shopify Starter. That makes them the correct default for COD-heavy and wallet-heavy stores, and a free second bite for everyone else. We compare the two in detail in post-purchase page vs thank you page.
The trade-off: a thank-you page offer is not Shopify's one-click post-purchase flow, and how an accepted item is added to the order depends on the app. Shopify's docs say a Thank you page extension cannot change an order directly, and list upsells on the Order status page as an order-editing use case, so the work happens on the app's side. Ask the vendor whether an accepted offer joins the original order or becomes a second one, and what happens to payment on a COD order, before you rely on it. Either way it reaches buyers the one-click page skips. For a COD store, a smaller number on most of your orders beats a bigger number on none of them.
Dates that have now passed. Shopify's checkout documentation (read 11 October 2026) says checkout.liquid and Additional Scripts were sunset on the Thank you and Order status pages on 28 August 2025, and that ScriptTags were sunset on those pages on 28 August 2025 for Plus stores and 26 August 2026 for everyone else. So a thank-you page app that still relies on ScriptTags or Additional Scripts no longer renders there. Ask any vendor whether it uses a Thank you or Order status extension. The one-click post-purchase page is a separate checkout extension, still labelled beta in Shopify's docs, and is not part of those sunsets.
Covering both paths with one app
The practical problem is that these are two different offer types with two different rule sets, and you need whichever one the buyer's payment method allows — without knowing in advance which that will be.
Oxify Cart Drawer & Upsells (our app) offers both paths: a one-click offer on Shopify's post-purchase page and offers on the thank-you and order-status pages. Its App Store plan list shows "Post purchase & thank you page upsell" on the entry plan, which costs $9.99 a month for up to 100 monthly store orders and starts with a 14-day free trial (listing read 11 October 2026). Card and Shop Pay orders can get the post-purchase offer. COD, wallet, BNPL and Razorpay orders skip it, and still see your thank-you and order-status offers if you switch those on.
It is built on Shopify's checkout extensions, the route Shopify's documentation points to now that the older scripts are sunset, and it also handles cart drawer upsells, free gifts and a free-shipping progress bar, so the same offer rules can run before checkout as well as after. Who should skip it: anyone who wants A/B testing built in (its listing does not mention it, while the ReConvert, Zipify OCU and UpsellPlus listings do) or a plan that stays free (it has a 14-day trial, then paid plans). No app, ours included, can make an unsupported payment method eligible. If you would rather compare options first, read our roundup of the best Shopify post-purchase upsell apps and the best Shopify thank you page apps.
What to do, based on how your buyers pay
- Pull your real payment-method mix for the last 90 days and calculate the eligible share. Decide from data, not from what you assume your buyers use.
- If cards and Shop Pay are the majority, turn on one-click post-purchase offers. They add to the same order, so there is no second shipment.
- If COD, wallets, PayPal, BNPL, or a regional gateway lead, build the thank-you page offer first and treat one-click as a bonus for whichever card orders qualify.
- Run both at once if your mix is split. They do not conflict — each buyer sees whichever their payment method allows.
- Keep every offer simple: one product, one price, one button. Complexity kills conversion on a page the buyer sees for a few seconds. Our guide on writing post-purchase offers that convert goes deeper.
- Price the offer below the original order value, and lean on a genuine one-time discount or a natural add-on rather than an unrelated product.
- Test each payment method before you trust it, and re-test after any gateway or market change.