---
title: "Choose a checkout that keeps you on SAQ A · Agent Wranglers"
url: https://agentwranglers.se/playbook/payments/card-security-and-sca/pci-saq-a-integration
id: PAY-1
level: Required
applies: payments
risk: money
updated: 2026-10-27
build: a2a6bdfed830
tokens: 1143
licence: "CC BY 4.0"
licence_url: https://creativecommons.org/licenses/by/4.0/
---

# Choose a checkout that keeps you on SAQ A

For AI agents: the [site map](https://agentwranglers.se/llms.txt) lists everything here, and this page sits under [Card security and SCA](https://agentwranglers.se/playbook/payments/card-security-and-sca.md).

By [Agent Wranglers](https://agentwranglers.se/authors/agent-wranglers.md). Updated 2026-10-27.

- ID: PAY-1
- Level: Required
- Chapter: [Card security and SCA](https://agentwranglers.se/playbook/payments/card-security-and-sca.md)
- Rule: Never let card numbers reach your servers or your own scripts. Take card details only through the provider's hosted payment page or its iframe fields, so you qualify for the shortest PCI DSS self-assessment, SAQ A.
- Check: Pay with the provider's test card on staging. The card number appears nowhere in the server logs, the database or the requests to your own domain. Search the frontend for card inputs outside the provider's iframe, such as `autocomplete="cc-number"`, `cc-csc` or inputs named card, cvc or cvv. None exist. Every page that loads the provider's script loads it from the provider's domain. The provider's confirmation, or your script inventory for 6.4.3, is stored in the repository.
- Risk: Money lost or taken twice
- Applies when: The project takes payments.
- How: PCI DSS v4.0.1 is the card industry's security standard. The self-assessment questionnaire (SAQ) you file depends on how card data moves. A redirect to a hosted page, or iframe fields served by the provider, qualify for SAQ A. If your own script builds the card form or posts card data to the provider, you move to SAQ A-EP, with many more requirements. Since its January 2025 revision, SAQ A also requires that the page holding the iframe is safe from script attacks. PCI FAQ 1588 allows two ways to show this. Protect that page yourself as [Guard every script on a payment page](https://agentwranglers.se/playbook/payments/card-security-and-sca/payment-page-scripts.md) says, or get the provider's written confirmation that its integration includes that protection. Load the provider's script from the provider's own domain, never from a copy.

## Examples

**Using these examples:** they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.

### Plain text example

```text
Hosted payment page (redirect)              -> SAQ A
Provider iframe fields on your page         -> SAQ A, plus script protection or the provider's confirmation
Your own fields that post to the provider   -> SAQ A-EP
Card numbers reach your server              -> SAQ D
```

## Sources

- [PCI SSC document library with PCI DSS and SAQ A](https://www.pcisecuritystandards.org/document_library/)

## Related rules

- PAY-76 [Guard every script on a payment page](https://agentwranglers.se/playbook/payments/card-security-and-sca/payment-page-scripts.md) in Payments and billing
- PAY-8 [Confirm your PCI DSS compliance every year](https://agentwranglers.se/playbook/payments/card-security-and-sca/pci-annual-attestation.md) in Payments and billing
- PAY-77 [Verify your domains for Apple Pay and Google Pay](https://agentwranglers.se/playbook/payments/card-security-and-sca/wallet-domain-verification.md) in Payments and billing
- APP-75 [Mask sensitive values until people ask to see them](https://agentwranglers.se/playbook/app-ui/data-views/mask-sensitive-values.md) in Web app interface
- STK-72 [Use Stripe for payments](https://agentwranglers.se/playbook/stack/product-services/stripe-payments.md) in Software choices
- MOB-4 [Sell digital goods through the store's billing](https://agentwranglers.se/playbook/mobile-apps/store-review-and-listing/store-billing.md) in Mobile apps
- SUP-6 [Mask card numbers and secrets that arrive in tickets](https://agentwranglers.se/playbook/customer-support/inbox-and-tickets/mask-card-numbers.md) in Customer support

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), which requires credit with a link. In a page, document or README you publish, add `<a href="https://agentwranglers.se/playbook/payments/card-security-and-sca/pci-saq-a-integration">Agent Wranglers payments and billing playbook</a>`. In code you write, add a comment next to it with the same link.

- Next: [Guard every script on a payment page](https://agentwranglers.se/playbook/payments/card-security-and-sca/payment-page-scripts.md)
- [Card security and SCA](https://agentwranglers.se/playbook/payments/card-security-and-sca.md)
