Remix Billing confirmationUrl: Too many redirects

Topic summary

Developers are encountering a “too many redirects” error when implementing Shopify’s recurring billing in the Remix template. The issue occurs when redirecting users to the confirmationUrl returned by AppSubscriptionCreate or AppPurchaseOneTimeCreate mutations.

Core Problem:

  • Using standard Remix redirect() from @remix-run/node causes infinite redirect loops
  • The confirmationUrl works when manually pasted into a browser, but fails programmatically

Working Solutions:

  1. Target parameter approach (most successful):
return redirect(confirmationUrl, { target: "_parent" });

Important: Use redirect from authenticate.admin(request) instead of @remix-run/node

  1. Window.open fallback:
window.open(confirmationUrl, "_blank");

Opens billing confirmation in a new window/tab

Current Status:
The target: "_parent" solution works for most developers when using the correct redirect import. Some users still report issues with blank pages or inability to fully redirect within the same page context. The discussion remains active with developers seeking more reliable implementation patterns.

Summarized with AI on November 9. AI used: claude-sonnet-4-5-20250929.

You made my day sir!

It’s working finally