PCI DSS testing requirements
PCI DSS v4.0.1 is the card industry security standard for every entity that stores, processes, or transmits cardholder data or can affect its security. PCI DSS testing verifies data retention, PAN masking, secure software, access, and penetration testing requirements. FintechAssuranceLabs produces a requirement-to-test traceability matrix, penetration test reports, and retest evidence for the PCI DSS assessment.
- Jurisdiction
- Global (validation set by payment brands and acquirers)
- Primary source
- pcisecuritystandards.org
Engineering interpretation of testing requirements, not compliance advice.
What PCI DSS v4.0.1 requires from payment software
The PCI Security Standards Council published PCI DSS v4.0.1 in June 2024. The PCI DSS v4.0.1 Requirements and Testing Procedures (PCI SSC document library, checked on 2026-09-16) replaced v4.0, which the Council retired on 31 December 2024. The requirements that v4.0 marked as best practice until 31 March 2025 now apply in every assessment.
The standard applies to merchants, processors, acquirers, issuers, and other service providers that store, process, or transmit cardholder data or sensitive authentication data. The standard also applies to systems that can affect the security of that data. Payment brands and acquirers decide which entities must validate compliance and in which form.
PCI DSS has 12 principal requirements. For a team that builds payment software, most of the test scope sits in five of them:
- Requirement 3, stored account data. Sensitive authentication data, such as the card verification code, is not stored after authorisation (3.3.1). A displayed PAN shows at most the BIN and the last four digits (3.4.1). A stored PAN is unreadable through a one-way hash, truncation, an index token, or strong cryptography with key management (3.5.1). Tokenisation and encryption both satisfy 3.5.1. The difference is scope: the standard keeps encrypted cardholder data in scope when the same environment or entity has access to the decryption key.
- Requirement 6, secure software. Bespoke and custom software is reviewed before release (6.2.3). Developers use techniques against injection, attacks on cryptography, and attacks on business logic through APIs (6.2.4). Every script on a payment page is authorised, integrity-checked, and listed in an inventory with a written justification (6.4.3). Live PANs stay out of pre-production environments unless those environments are inside the cardholder data environment (6.5.5). Test data and test accounts are removed before the system goes into production (6.5.6).
- Requirement 7, access. Access is assigned by job function and least privilege (7.2.2).
- Requirement 11, security testing. Internal and external vulnerability scans run at least once every three months, and an Approved Scanning Vendor (ASV) runs the external scans (11.3.1, 11.3.2). Internal and external penetration tests run at least once every 12 months and after any significant change (11.4.2, 11.4.3). Exploitable findings are corrected and the test is repeated (11.4.4). Segmentation controls are tested every 12 months, or every six months for service providers (11.4.5, 11.4.6). A change- and tamper-detection mechanism checks payment pages at least weekly or at the frequency of a targeted risk analysis (11.6.1).
- Requirement 12, scope. The entity confirms its scope at least once every 12 months and after significant change. The scope confirmation identifies data flows for authorisation, capture, settlement, chargebacks, and refunds (12.5.2). Service providers confirm scope every six months (12.5.2.1).
PCI DSS requirements that testing verifies
| Requirement | What we test | Evidence produced |
|---|---|---|
| 3.3.1 Sensitive authentication data is not stored after authorisation | Databases, logs, queues, and retry payloads after a completed test authorisation | Search queries and results per data store, with test transaction IDs |
| 3.4.1 PAN is masked when displayed | Back-office screens, support tools, and API responses for each role that views card data | Screen and response captures per role, with the displayed PAN format |
| 3.5.1 Stored PAN is unreadable | Tables, backups, exports, and log platforms after test transactions with known test PANs | Clear-text PAN search results per data store |
| 6.2.4 Software is protected against common attacks | Injection, broken object authorisation, and business logic abuse on payment and refund APIs | Penetration test findings with severity and reproduction steps |
| 6.4.3 Payment page scripts are managed | Scripts that the payment page loads, compared with the authorised script inventory | Script inventory comparison with the integrity check result |
| 6.5.5 and 6.5.6 Test data stays out of the wrong environment | Pre-production data stores for live PANs, and release builds for test accounts and test API keys | Pre-release check result per release |
| 7.2.2 Access follows least privilege | Each role against the permissions that the role needs, including PAN reveal and refund actions | Access control and authorisation test matrix |
| 11.4.2 and 11.4.3 Penetration tests run on schedule | Application and network layers of the defined scope, per the documented methodology of 11.4.1 | Web, API, and mobile penetration test report |
| 11.4.4 Exploitable findings are corrected and retested | Each exploitable finding after the development team deploys a fix | Retest result linked to the original finding |
| 11.4.5 and 11.4.6 Segmentation controls are effective | Network paths from out-of-scope systems into the cardholder data environment | Segmentation test report with test date and scope |
Artifacts a PCI DSS assessor requests
For software and testing requirements, a Qualified Security Assessor (QSA) typically requests:
- scope documentation and data flow diagrams for authorisation, capture, settlement, chargebacks, and refunds (12.5.2);
- the inventory of bespoke and custom software and third-party components (6.3.2);
- the payment page script inventory with a written justification for each script (6.4.3);
- code review records for changes released to production (6.2.3);
- the penetration testing methodology (11.4.1);
- internal and external penetration test reports from the last 12 months, and the retest evidence for each exploitable finding (11.4.2 to 11.4.4);
- segmentation test results (11.4.5, and 11.4.6 for service providers);
- ASV scan reports from the last 12 months with passing results, as testing procedure 11.3.2.a and 11.3.2.b describe;
- internal vulnerability scan results and rescans (11.3.1);
- the role and permission matrix for systems in scope (7.2.2);
- from each third-party service provider, its compliance status and responsibility split (12.9.2).
A QSA documents the assessment in a Report on Compliance (ROC). An entity that is eligible to self-assess uses a Self-Assessment Questionnaire (SAQ). Both routes end with an Attestation of Compliance (AOC).
Common PCI DSS findings in payment software
- Card verification code in application logs. Request-body logging on the payment API writes the full card object, including the verification code, to the log platform. The defect breaks 3.3.1.
- Full PAN in webhook and error payloads. A processor error response echoes the PAN, and the service stores the response in a clear-text event table. The defect breaks 3.5.1.
- Full PAN visible to every support role. The support tool masks the PAN in the list view and shows it in full on the detail view. The defect breaks 3.4.1 and 7.2.2.
- Refund on another merchant's payment. The refund endpoint accepts any payment ID and does not check that the payment belongs to the caller. Money leaves through a refund that the payment owner never requested. The defect is a business logic attack that 6.2.4 names.
- Unlisted script on the checkout page. A tag manager adds a marketing script to the payment page outside the script inventory, and no alert fires. The defect breaks 6.4.3 and 11.6.1.
- Production snapshot in staging. A team restores a production database with live PANs into staging to reproduce a settlement defect. The defect breaks 6.5.5.
- Sandbox credentials in production. A release ships with a test merchant account or a test API key enabled. The defect breaks 6.5.6.
- Penetration test older than the checkout rebuild. The last penetration test predates a new payment flow or processor integration. The gap breaks the "after any significant change" condition of 11.4.2 and 11.4.3.
- Finding closed without a retest. A ticket for an exploitable finding moves to "done" after the fix, with no repeated test. The gap breaks 11.4.4.
- Refund and chargeback flows missing from scope. The data flow diagram covers authorisation and capture but omits a third-party dispute tool that receives the PAN. The gap breaks 12.5.2.
How we cover PCI DSS testing
The security testing service runs web, API, and mobile penetration tests against a documented methodology, as 11.4.1 requires, with the PCI SSC Penetration Testing Guidance (information supplement v1.1, September 2017, checked on 2026-09-16) as a reference. The service delivers findings with severity, reproduction steps, and retest results, plus PCI DSS requirement 11 test evidence. Our engineers work as an external third party, which gives the organisational independence of the tester that 11.4.2 and 11.4.3 require. Penetration tests and ASV scans answer different requirements; the comparison of penetration testing and vulnerability scanning explains the split.
The audit evidence testing service builds a requirement-to-test traceability matrix, a test evidence pack per audit scope, a gap report before the assessment, and retest evidence after remediation. The QSA completes the ROC; the evidence pack gives the QSA test results mapped to each requirement. The PCI DSS assessment preparation scenario sets out the sequence and timeline before an assessment date.
The payment flow testing service delivers a payment flow map with every state, transition, and failure path, which is input for the data flow identification in 12.5.2. Our test cases use published sandbox test card numbers, so PAN searches under 3.4.1 and 3.5.1 look for known values.
We test PCI DSS requirements for payment acquiring, POS, card issuing, neobank, and spend management products.
FintechAssuranceLabs has PCI DSS service provider level 2 status, verified via A2SECURE and valid until 2030. On request, we state which requirements we manage and which requirements you manage, as 12.9.2 requires.
Related
Services
- Security testing
- Audit and certification test evidence
- Payment flow testing
- Card issuing and processing testing
- POS and payment device testing
- Data privacy and test data management
- BaaS and partner bank integration testing
- Chargeback and dispute testing
- Mobile banking and finance app testing
- Data and platform migration testing
Segments
- Payment acquiring
- POS and merchant services
- Banking-as-a-Service and card issuing
- Neobanks and digital banking
- Spend management and corporate cards
- Business banking
- Buy now pay later
- Subscription billing and revenue management
- Chargeback management
- Accounting and invoicing
- AP/AR automation and treasury
- Cashback and rewards
- Debt collection and loan management software
- Earned wage access
- Expense reporting
- Insurtech
- Family and youth banking
- Consumer lending and credit marketplaces
- Revenue-based financing and factoring
- International transfers
- Tax software
Adjacent standards
Questions
Who does PCI DSS apply to?
Is PCI compliance required by law?
What are the 12 requirements of PCI DSS compliance?
How to prepare for a PCI DSS audit?
Scope your testing
Send FintechAssuranceLabs your product, segment, money flows, and the standards that need evidence, and get a proposed test scope with its deliverables.
Scope your testing