Skip to main content
TL;DR: If the iframe loads but events never arrive, it’s almost always a listener-timing or origin mismatch.
RadiumOne Checkout only posts CHECKOUT_* events to your page’s origin if that origin is one you’ve registered — even if the iframe itself loaded successfully. A registered-but-mismatched origin, or a listener attached too late, both look the same: the iframe works, but your page never hears from it.

When this happens

  • Your listener is attached after the iframe has already posted its first event (most commonly CHECKOUT_READY).
  • The origin RadiumOne resolves for your page doesn’t match what you expect — on browsers that expose window.location.ancestorOrigins (Chrome, Safari), that’s used directly; Firefox doesn’t expose it, so RadiumOne falls back to the origin derived from your success_url instead.
  • Your success_url origin doesn’t match your embedding page’s real origin, so the Firefox fallback resolves to the wrong host and every message is silently dropped rather than sent to the wrong place.

What you see

What to do

1

Attach your listener before the iframe loads

Add the message event listener before setting the iframe’s src, not after — a CHECKOUT_READY posted before your listener exists is simply missed, with no way to replay it.
2

Check event.origin matches the checkout host

See Embed hosted checkout for the full listener example.
3

On Firefox, make sure success_url shares your embedding page's origin

Since Firefox doesn’t expose the real parent-frame origin, RadiumOne derives the target from success_url instead. If that origin doesn’t match your actual embedding page, every event is dropped rather than misdirected — align success_url’s origin with your embedding page’s origin to fix it.
4

Never fulfil on the event, once it does arrive

A received event is a UX signal only — confirm the outcome server-side regardless. See Verify the payment result.

Embedded checkout events

The full event and payload reference.

Embed hosted checkout

The full embedded integration guide.

Fix embedded checkout that won't load

When the iframe itself doesn’t render.

Handle failures

All ten failure scenarios, symptom → page.
Last modified on September 15, 2026