← All articles · April 25, 2026 · CheckoutProof

What Is SAQ A-EP and Why Does It Apply to Your Shopify Custom Checkout?

If your acquirer asked you to fill out an SAQ A-EP instead of an SAQ A, this article explains what changed, why it applies to you specifically, and what’s actually different about the two questionnaires.

If the words “SAQ A” and “SAQ A-EP” both look like the same string of letters: stay with me. By the end of this you’ll know which one you fall under and why your situation might have shifted in 2025 even though nothing in your store changed.

The short version

If any of those last two describe you, the rest of this article is for you.

Why there are two questionnaires

PCI DSS applies to every merchant who accepts a credit card. But the actual security controls a merchant needs depend on how much exposure to card data they have.

Three rough buckets:

Bucket 1 gets the easy SAQ A. Bucket 2 used to get SAQ A as well — but as of January 2025, most Bucket 2 merchants got moved to SAQ A-EP. Bucket 3 fills out the full SAQ D (~330 questions).

What changed in January 2025

In January 2025, the PCI Security Standards Council clarified the eligibility criteria for SAQ A. The clarification said, in effect: if your website controls the rendering of the page where the cardholder data is entered — even if the actual card form is in a third-party iframe — you no longer qualify for the bare-bones SAQ A.

You qualify for SAQ A only if all of the following are true:

If you redirect customers to PayPal/Stripe’s hosted checkout pages on *.paypal.com or checkout.stripe.com, you’re still SAQ A. If you keep the customer on your domain and embed an iframe, you’re now SAQ A-EP.

The reason is the rise of Magecart-style attacks. Even if the card form is an iframe served by Stripe, an attacker who compromises a script on your surrounding page can use techniques like overlay injection or DOM manipulation to steal card data. The PCI Council looked at the actual attack surface and said: if your page can be the attack vector, your page is in scope.

When this applies on Shopify

Shopify’s managed checkout — the default checkout on Shopify Payments — is hosted on checkout.shopify.com. The merchant redirects to it. The merchant doesn’t control the rendering. That’s still SAQ A. Shopify covers the script-side controls under their attestation.

Shopify Plus merchants used to be allowed to extensively customize the checkout via checkout.liquid — this absolutely landed them in SAQ A-EP, because they were rendering scripts on the same page where the card was entered. As of August 28, 2025, Shopify killed checkout.liquid and forced all Plus merchants onto Checkout Extensibility (sandboxed JS workers). That move was, in part, designed to pull Shopify Plus merchants back into SAQ A.

You’re in SAQ A-EP on Shopify if:

You’re in SAQ A on Shopify if you use Shopify Payments and Shopify’s standard managed checkout, full stop. Most Shopify SMB merchants are here.

When this applies on Stripe

The phrase “I use Stripe” covers at least three different setups, and they have very different SAQ implications.

Stripe Checkout (hosted by Stripe at checkout.stripe.com). Merchant redirects the customer to Stripe’s domain. No card form on the merchant’s site. SAQ A.

Stripe Elements (Stripe’s embeddable card form library). The card input is an iframe served by Stripe — but it’s embedded on the merchant’s domain, surrounded by the merchant’s own HTML and JavaScript. SAQ A-EP since the January 2025 amendment, even though the merchant never sees the card number.

Stripe Payment Intents API with raw card collection. The merchant’s frontend collects the card number directly and POSTs it to Stripe. Almost nobody does this; if you’re doing this you should not be doing this. SAQ D.

Most Stripe merchants are using Stripe Elements. Most of them have not realized they shifted from SAQ A to SAQ A-EP in 2025.

What’s actually different in SAQ A-EP

SAQ A asks roughly:

About 12 questions, mostly about the relationship with your processor.

SAQ A-EP adds:

About 150 questions. Most of them assume you have at least a part-time security person, which most SMB merchants don’t.

The single biggest practical difference is the client-side controls in 6.4.3 and 11.6.1. Network and system hardening, your hosting provider mostly handles. Access control, your existing admin practices probably cover. ASV scans, you pay $200/year and run them. But “keep an authorized inventory of every JavaScript on your checkout, prove integrity, monitor for changes” is genuinely new work that wasn’t required pre-2025.

How to know which questionnaire you actually owe

Three questions:

  1. When the customer enters their card number, what domain shows in the browser address bar?

    • If it’s the processor’s domain — checkout.stripe.com, checkout.shopify.com, *.paypal.com — you’re SAQ A.
    • If it’s your domain — your store name plus a card form embedded somewhere on it — you’re SAQ A-EP (or, in rare cases, SAQ D).
  2. Does your site’s JavaScript run on the page where the card form is shown?

    • If yes, even if the card form itself is in an iframe — SAQ A-EP.
  3. Did you receive a Responsibility Matrix from your processor?

    The January 2025 amendment requires this for SAQ A. If your processor hasn’t given you one, ask. If they can’t, you can’t claim SAQ A regardless of your setup.

If you’re still unsure, the safest assumption is SAQ A-EP. The penalty for over-attesting (claiming SAQ A when you should have done A-EP) is much worse than the cost of doing A-EP unnecessarily.

What to do if you just realized you’re in A-EP

You owe the rest of the controls now. Most of them are well-trodden — your hosting provider, your CMS, and your processor handle a lot of it. The piece that catches most merchants out is the client-side controls.

The fastest path to a complete answer for 6.4.3 and 11.6.1 is to:

  1. Run a free scan of your checkout page. You’ll get the script inventory in 10 seconds.
  2. Look at the SRI coverage and CSP status the report flags.
  3. Use the remediation list as a punch list.

The free scan won’t give you everything you need to attest, but it gives you the picture in plain English so you can scope the actual work.

If you haven’t started, start now. The alternative is finding out you’ve been quietly out of compliance for a year when your acquirer asks for evidence.


Run a free PCI 6.4.3 scan of your checkout page. Get the script inventory and a one-page PDF report. Try it now →