Test a page or flow
Test payment form: does the card box load?
A payment step can show an empty card box or a Pay button that never wakes up. Mimiq sends simulated visitors up to the payment step in real browsers, and shows where each one stopped, without paying.
How do I test a payment form before I take money?
To test a payment form, walk a visitor to the payment step with the same items and address a customer would use, and check that the card box loads and the Pay button responds to a press. Then compare the amount on the page with the amount the payment box shows, because the two can come from different places. A simulated run takes visitors to the payment step in real browsers and reports where each one stopped, with a screenshot and any error. It stops there: no real payment is made, and a test cannot check what the bank does next.
What this looks like in a report
“The card box is blank, with a gray bar where the fields should be, and Pay is gray too. I'll wait for it to load, then try again. If it does not, I'll leave.”
The fix. Allow frames from the payment provider's domain in the page's security policy, and show a message beside Pay when the card box fails to load. Keep Pay disabled until the provider reports the card is complete.
An illustration. Run a test to see your own.See a real sample report
The payment box can fail before a card is typed
A hosted card form is not part of your page. The provider draws the card fields inside a frame that loads from its own domain, and your page holds only a placeholder. If that frame is blocked by a security rule or a script blocker, the visitor sees an empty gray box. The Pay button may stay disabled, because it waits for the frame to report that the card is complete. The owner has a saved card in their own browser and never sees the empty box. A stranger has no saved card, and leaves at the first gray bar.
- Does the card box show its fields on a phone and a laptop? A gray bar means the frame did not load.
- Open the Console and look for a refused frame or script that names the payment provider's domain.
- Press Pay once, then again. Does the button disable after the first press, or can a second payment start?
- Compare the total above the box with any amount the provider's box shows. A mismatch stops the visitor before any card is typed.
A card box is a frame from another domain
The visitor types a card number into a field that does not belong to your site. The provider's frame holds it, and your page only learns that the card is complete. Two things stop that frame from loading: a security policy on your site that does not list the provider as a source for frames, and a script blocker or a browser setting that refuses the provider's domain. Either one leaves the same empty box, so the visitor cannot tell which rule is at fault.
The Console names the cause. A refused frame or a blocked script shows the provider's domain in the message, and that domain tells you which rule to change. Turn on a tracker blocker in a private window and load the payment step again. If the fields disappear, the blocker is the cause, and a visitor with the same blocker will see the same gray bar.
The Pay button, the second press and the amount
The Pay button has two jobs that can conflict. It has to stay disabled until the form is valid, and it has to disable itself the moment it is pressed, so a second press does not start a second payment attempt. A button that stays enabled after the first press can send two requests. A button that never enables waits on a state change that never comes, often because the frame reported an error that your page does not read.
The amount is the other stop. The page shows a total above the box, and the provider's box may show an amount of its own, set by your server. If the two differ, the visitor sees two prices on one screen and leaves. Check the button's disabled state after one press in the Elements panel, and compare the two amounts with a screenshot taken at the same step.
Where the test stops, and the bank return it misses
The test ends at the payment step. A visitor cannot pay with a real card, so the run does not go on to the bank's verification page or back to your site afterwards. That return is where a session can be lost: a cookie set with a strict same-site rule is not sent when another site sends the visitor back, so the order page can say no order was found. A simulated run cannot reproduce that trip, and it will not show the problem.
Check the return by hand, in your provider's test mode, on a staging address, with the test card numbers the provider publishes. Confirm that the confirmation page loads after a successful test payment, and that a refused test payment leaves the visitor on the payment step with a message they can read. Write down the screen the visitor lands on after the return, and whether an order number appears on it.
What you get with Mimiq
- 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.
- 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.
- 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.
- 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.
- 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 security header or fraud check can empty the card box again
Every new security header, fraud check or script can stop the card frame from loading. Run the payment step after each change, on a phone and a laptop, and again on every preview. A paid run can use a site password on a protected preview, but it still stops at the payment step, so the bank return needs your own test mode.
Starter
Try it on one launch
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
Builder
Test every build
About 20 tests of 5 visitors
- Everything in Starter
- Credits refill each month, and what is left rolls over once
- Cancel anytime
Pro
Test every release, as a team
About 60 tests of 5 visitors
- Everything in Starter
- Credits refill each month, and what is left rolls over once
- Cancel anytime
Scale
Test at scale, every day
About 240 tests of 5 visitors
- Everything in Starter
- Credits refill each month, and what is left rolls over once
- Priority support
- Cancel anytime
Questions
Does the test pay for an item?
No. A simulated visitor fills in the details and reaches the payment step, then stops. No card is charged, and no real card is entered. The test cannot tell you whether a payment goes through, whether a bank declines it or what the confirmation says.
Can the test enter a test card for the visitor?
No. The visitor cannot pay with a real card, and the run does not complete a payment. Use your payment provider's test mode on your own staging address, with the test card numbers that provider publishes, to check the steps after the payment step.
Will the test show whether more people will buy?
No. It does not predict purchases, and it gives no conversion rate. It shows where a simulated visitor stopped on the way to the payment step, with a screenshot and any error. Rates for the payment step come from your analytics.
The card box loads on my laptop. Do I still need this test?
Yes. Your own browser keeps logins, cookies and extensions that a stranger does not have, and a blocker extension can hide the card frame in your browser while a new visitor sees it load. Test in a private window with no extensions, the way a new visitor would see the page.
Who fixes a card box that will not load?
Usually whoever set up the provider's embed or the security settings on the site. The Console names the refused domain, which points to the rule to change. Run the payment step again after the fix.
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.