What breaks

Payment page not loading: find the blocked step

Shoppers press Pay, and the card form never appears, or the browser lands on a blank page or a different address. This page shows how to tell a wrong address, a blocked script and a blocked popup apart, and what a simulated visitor adds.

5 visitors try to .
First test free with an accountRun it from your coding agent

Why is my payment page not loading?

The payment page is often hosted by the payment provider, and it fails when the browser is sent to the wrong address, when your own security rules block a script or frame, or when the browser refuses a new window. The address bar, the console and any blocked popup notice tell those apart as soon as you press Pay. A simulated visitor follows the same route to the card fields and records whether they appeared, with the address and a screenshot.

What this looks like in a report

Who
Nadia, buying a winter coat for a trip to Oslo
How they arrived
Tapped a retargeting ad for a wool coat on her phone
Where they stopped
Payment step, after confirming the delivery address

“I pressed Pay and the screen flickered back to the address. I pressed it again and nothing opened. I was ready to type my card number, so I tried a third time, then gave up.”

The fix. Open the provider's payment page in the same tab from the Pay press, not in a new window, and add the provider's domain to the allowed frame sources. Then test the payment step on a phone from a private window and confirm the card fields appear before any other step.

An illustration. Run a test to see your own.See a real sample report

The payment step is someone else's page, and it never draws

Most stores send card details to a payment provider rather than keeping them. The provider's fields arrive either as a separate page the shopper is sent to, or as a frame placed inside the store's own page, and each route depends on settings the store controls. When one setting is wrong, or the store sends the shopper to a staging address, the card box never appears. The shopper sees a flicker, an empty space or the same address step again. An owner testing on a desktop, with cookies and settings already in place, often sees a working payment step.

  • After you press Pay, does the address bar move to the provider's domain, or stay on your site or a staging address?
  • Does a popup-blocked notice appear, or does a new tab open and then close without a page?
  • Does the console show a 'Refused to load' or 'Refused to frame' line that names the provider's domain?
  • Does the console name an element the payment script could not find on the page?
  • Does a private window on a phone show the card fields while your normal browser shows nothing?

Three routes to the payment step, and each breaks differently

A store reaches payment in one of three ways. It redirects the shopper to a page the provider hosts, opens that page in a new window, or places the provider's card fields inside its own page. A redirect breaks when the return or payment address points at the wrong host, such as a staging copy or an old domain. A new window breaks when the browser blocks it, which happens when the window opens after a delay instead of directly from the tap. A frame breaks when the store's own rules do not allow the provider's domain to load.

The first check is the address bar. A redirect that lands on the provider's domain worked. A page that stays on your domain with a blank space in the middle is a frame, and an address that never changes is usually a blocked window. Name the route before you read any further, because each route leaves its own evidence. Write down which route the store uses, since the fix for each one is different.

The console names the block when the store's rules refuse the provider

Frames and scripts from another domain only load if the store's content security policy lists that domain. When it does not, the browser refuses and writes a line to the console, such as a refused to load script or refused to frame message, and the line names the blocked domain. Read that line word for word, then compare the domain with the one the provider gave you. A common miss is a provider domain that changed, or a second domain the provider added for its fields that the store never allowed.

A different line means a different problem. A message about a missing element means the payment script loaded but the page has no place to draw the fields, which happens after a template change removes a container. A blank frame with no console message can mean the frame was blocked by a privacy setting that stops third-party cookies. Each message points to a different fix, so copy the exact text before you change any setting.

A blocked popup looks like a button that does nothing

Mobile browsers block a window that opens after a delay, such as after a network call returns. If the store waits for its own server to create the payment session and then opens the provider's page, the tap has already ended by the time the window opens, and the browser refuses it. The shopper sees the button go grey, then nothing. Check the address bar for a blocked popup notice, and check whether the Network tab shows the session request finishing just before the window should open.

What you get with Mimiq

  1. 01

    Run it by hand, or on every pull request

    Paste a link and a task in the app and watch the visitors work. Or run them on every preview deploy: the GitHub Action comments on the pull request, any other CI can call the MCP endpoint, and your coding agent can run it too.

  2. 02

    Bugs and usability problems in one report

    The browser records errors and failed or slow requests on the step they happened. The visitors say where the wording or the steps confused them, and where they left.

  3. 03

    Visitors that behave like your audience

    Each visitor is a different profile with a reason to be there, matched to who the page is for, described by you, or built from your own customers.

  4. 04

    A prompt to fix each problem

    Every problem comes with a fix to paste into Cursor, Claude Code, Lovable or any coding agent, and one prompt hands over the top problems at once. Then send the same visitors through again.

  5. 05

    Follow every visitor

    See each visitor's whole path, step by step with screenshots, and what it was thinking at every step. Ask any visitor a question.

The browser records relevant JavaScript errors and failed or slow app requests encountered during the run, attached to the step where they occurred. The visitors are simulated: they find problems, they do not predict how many real people will convert.

A new payment domain or a staging address can unhook the step

A new provider domain, a staging address left in the settings or a stricter content policy can stop the payment step again after a release that touched nothing on the payment page. Rerun the same shopper on a phone and a laptop after each change, and read the console before the card fields should appear. Owners check each preview deploy this way, because a preview often has its own return address.

Starter

Try it on one launch

$9 once
120 credits, never expire

About 4 tests of 5 visitors

  • Visitors on your landing page, signup and checkout
  • Where they left and why, with a fix to copy for each problem
  • Run it in the app or on every pull request
  • Ask any visitor a question, included
  • Test accounts and protected previews
Buy 120 credits

Builder

Test every build

$19 a month
500 credits every month

About 20 tests of 5 visitors

  • Everything in Starter
  • Credits refill each month, and what is left rolls over once
  • Cancel anytime
Choose Builder

Pro

Test every release, as a team

$49 a month
1,500 credits every month

About 60 tests of 5 visitors

  • Everything in Starter
  • Credits refill each month, and what is left rolls over once
  • Cancel anytime
Choose Pro

Scale

Test at scale, every day

$149 a month
6,000 credits every month

About 240 tests of 5 visitors

  • Everything in Starter
  • Credits refill each month, and what is left rolls over once
  • Priority support
  • Cancel anytime
Choose Scale
$0for your first test, with a free account (Google sign-in, no card). It includes 50 credits, enough for 10 visitors. After that a visitor uses 5 credits, and packs start at $9 for 120 credits.
See a sample report

Questions

Why does the payment step work on my laptop but not on my phone?

Phone browsers can block a window that opens after a delay, and they handle frames and cookies with their own rules. Test the payment step on a phone and a laptop at the same time, and compare the address bar at the moment the card fields should appear.

Does the test prove the provider's card form works?

It proves the card fields appeared for the visitor, at the address the run used. It cannot tell you whether the provider accepts a payment, because a visitor cannot pay with a real card. Use the provider's test mode with its published test card numbers in your own store for that check.

Can I fix this by changing payment providers?

A different provider changes the domain, the script and the frame rules, so a block may move rather than disappear. The console still names the cause, so read it before you switch. A new provider does not clear a stale staging address left in your settings.

Does a blank payment page mean the card was declined?

No. A blank page or a missing card form happens before any card is entered, so it is a loading failure and not a decline. A decline or an error after the card is sent needs the provider's test mode, which a simulated visitor cannot reach.

Keep reading

Send visitors and see what breaks first.

Your first test is free: sign in with Google and it starts right away. Last checked 2026-11-02.

5 visitors try to .