Skip to content

Fintech · PCI DSS

PCI DSS compliant software development for products that take card payments

We design and build payment features and fintech products so they meet PCI DSS 4.0 with the smallest possible scope: card data kept off your servers, secure development evidence your assessor can read, and the logging, change control and testing the standard asks for. We prepare you for your QSA; we are not one.

Book a call
Person checking a web dashboard on a laptop while holding a phone

Short answer

PCI DSS compliant software development means keeping card data out of your own systems wherever possible and building the parts that remain in scope to the standard's twelve requirements, especially Requirement 6 on secure software. Innovation Insight builds payment features with hosted fields and tokenisation to keep you on SAQ A, and delivers the threat model, secure SDLC evidence and logging an assessor expects. Fintech MVPs cost $40k to $80k; discovery is $3k to $8k.

Reviewed by Zain Khalid Malik, CTO & Co-founder · Updated

What PCI DSS 4.0 requires of software

PCI DSS applies to every organisation that stores, processes or transmits cardholder data, and to any system that can affect the security of that data. Version 4.0 became the only active version in 2024 and 4.0.1 is the current revision; the requirements that were future-dated in 4.0 have been mandatory since 31 March 2025. The standard has twelve requirements grouped under six goals. For a product team, most of the day-to-day work sits in Requirement 6, with 3, 4, 8, 10 and 11 close behind.

GoalRequirementsWhat it means for a product team
Build and maintain a secure network and systems1. Network security controls; 2. Secure configurationsSegmented VPCs and security groups, no default credentials, hardened images, infrastructure as code
Protect account data3. Protect stored account data; 4. Protect data in transitDo not store PANs at all if you can avoid it; where you must, render them unreadable; TLS 1.2 or higher everywhere; never log card data
Maintain a vulnerability management programme5. Protect against malicious software; 6. Develop and maintain secure systems and softwareDependency scanning, secure coding standards, code review, vulnerability fixes by severity, change control, and the payment page script controls in 6.4.3
Implement strong access control7. Restrict access by business need; 8. Identify and authenticate users; 9. Restrict physical accessLeast-privilege roles, MFA for every administrative and cardholder-environment login, no shared accounts, cloud provider physical controls
Regularly monitor and test10. Log and monitor access; 11. Test security regularlyAudit logs for every access to in-scope systems, time sync, alerting, quarterly vulnerability scans, annual penetration tests, and the payment page change detection in 11.6.1
Maintain an information security policy12. Support security with policies and programmesWritten policies, risk analysis, third-party service provider management, incident response, training

Three parts of Requirement 6 matter most to developers. Bespoke and custom software must be developed securely, with training, code review and secure coding against common weaknesses such as injection and broken access control. Vulnerabilities must be identified and fixed by severity, including those in third-party components. And public-facing web applications must be protected and their changes controlled. Two requirements added in 4.0 are easy to miss:

  • Requirement 6.4.3: every script that runs on a payment page in the customer's browser must be authorised, its integrity assured (for example with Subresource Integrity or a Content Security Policy), and listed in an inventory with a written justification. Analytics tags and chat widgets on a checkout page count.
  • Requirement 11.6.1: a change- and tamper-detection mechanism must alert on unauthorised changes to the HTTP headers and script contents of payment pages as received by the browser, evaluated at least weekly or at a frequency set by a documented risk analysis.
Both 6.4.3 and 11.6.1 exist because of e-skimming: attackers inject a script into a checkout page and copy card numbers as customers type them. Since 2025, the PCI SSC's SAQ A eligibility criteria also require e-commerce merchants that embed a provider's payment form to confirm their page is not susceptible to script attacks, citing these two requirements as the techniques to use.

Scope reduction: hosted fields, tokenisation and the SAQ you end up with

The cheapest control in PCI DSS is not having card data. Which self-assessment questionnaire you qualify for depends on how the card number reaches the processor, and the difference between them is weeks of work versus months.

QuestionnaireHow card data flowsWhat the product team must doRelative effort
SAQ APayment fully outsourced: the customer is redirected to the provider's page, or the provider's iframe or hosted fields render inside your page. Card data never touches your servers or your JavaScript.Keep the integration as the provider documents it, manage and monitor scripts on the payment page (6.4.3 and 11.6.1), TLS, vendor management, policiesLowest; a few dozen questions
SAQ A-EPPayment processed by a provider, but your own page or JavaScript collects or can affect the card data, for example a form you built that posts directly to the provider's API.Most of the standard applies to the web server and the page: hardening, logging, vulnerability scans, penetration testing, change controlHigh; well over a hundred questions
SAQ DCard data is stored, processed or transmitted by your systems: your API receives PANs, you run your own vault, or you take cards by phone into your own software.The full standard for every in-scope system, plus network segmentation to limit itHighest; comparable to a full assessment

Our default is SAQ A: hosted fields or checkout from Stripe, Adyen or Braintree, and a tokenisation vault such as Spreedly when several processors are needed. Service providers that handle card data for others, and merchants above the transaction thresholds set by the card brands, need a Report on Compliance from a QSA rather than a questionnaire. We design the same way for them, because a small scope makes that assessment cheaper too. The payment gateway integration page covers the integration details.

Architecture patterns that keep scope small

  • Card data boundary: PANs are entered only into provider-hosted components. Your API handles tokens and the last four digits, which are out of scope.
  • Separate payment service: the code that talks to the processor lives in its own service with its own secrets, network rules and logs, so the rest of the product is not in scope.
  • Payment page hygiene: a strict Content Security Policy, Subresource Integrity on third-party scripts, a script inventory in version control and a monitor that fetches the page and compares headers and scripts to the approved baseline.
  • Secrets in a vault: processor keys and webhook secrets in AWS Secrets Manager, Azure Key Vault or similar, rotated and never in code or CI logs.
  • Logging without card data: structured logs with request IDs, redaction of card and personal fields at the logging layer, and retention set in policy.
  • Phone and in-person payments: DTMF capture or PCI-validated P2PE terminals, so agents and voice systems never hear or store the number.
  • Segmentation: the in-scope service in its own subnet and account, with access by MFA and audited sessions.

What we deliver

DeliverableWhat it coversRequirement
Data-flow diagram and scope statementWhere card data enters, which systems touch it, which SAQ applies and whyScoping; 12.5
Threat modelAttack paths against the payment flow, scripts, webhooks and admin tools, with mitigations6.2, 6.4
Secure SDLC evidenceCoding standard, code review records, dependency and SAST scanning in CI, developer training log, change tickets linked to releases6.2, 6.3, 6.5
Payment page controlsCSP, SRI, script inventory with justifications, change and tamper detection with alerts6.4.3, 11.6.1
Access and authenticationRole model, MFA on admin and cloud consoles, unique accounts, session rules7, 8
Logging and monitoringAudit logs for in-scope systems, time sync, alert rules, retention10
Testing coordinationQuarterly ASV scans arranged, penetration test scoped with a third party and findings fixed11.3, 11.4
Policy templatesInformation security, change management, incident response and vendor management policies adapted to your product12
Assessor packEverything above organised against the SAQ or ROC, with gaps listed and owners namedAttestation

What we do not do

We are not a Qualified Security Assessor and do not issue attestations. We do not run Approved Scanning Vendor scans ourselves; we arrange them with an ASV and fix what they find. We do not decide which SAQ you must file; your acquirer or the card brands do, and we help you make the case. What we do is build the product so the answer is SAQ A wherever possible, produce the evidence, and sit in the room when the assessor asks how the payment page is protected.

What PCI compliant app development costs

EngagementPriceWhat you getTimeline
Discovery and scoping$3k to $8kData-flow diagram, SAQ determination, threat model, architecture, backlog and estimate1 to 2 weeks
Fintech MVP$40k to $80kA payments product with hosted fields, tokenisation, webhooks, reconciliation, the controls above and an assessor pack4 to 6 months
Fintech platform$80k to $180kWallets, payouts, lending or multi-processor routing, a separate payment service, segmentation, pen-test cycle6 to 12 months
Dedicated engineerFrom $4,000 a monthA senior engineer embedded with your team to bring an existing product into scopeOngoing

QSA assessments, ASV scans and penetration tests are paid to those providers and are not included; we scope them so you are not paying to test systems that should be out of scope. The fintech app development cost guide and the cost to build a payment app like Cash App show how the figures break down, and pricing lists every published rate.

Timeline

  1. Weeks 1 to 2: discovery, data-flow diagram, SAQ determination and threat model.
  2. Weeks 3 to 8: payment service, hosted fields or tokenisation, webhooks and reconciliation, with CI scanning and code review from the first commit.
  3. Weeks 9 to 12: payment page controls, logging, access model, secrets, policies.
  4. Weeks 13 to 16: penetration test, ASV scan, fixes, assessor pack and SAQ walkthrough.
  5. After launch: quarterly scans, dependency updates and annual re-attestation on a support retainer.

Payment work we have shipped

  • Zeuss: a telehealth storefront and CRM on Azure where card tokenisation runs through Spreedly, so the platform's 20-plus microservices never handle a card number, alongside Key Vault secrets, a complete HTTP audit trail and PII masking in API responses.
  • Paint Nite: checkout rebuilt as a six-stage pipeline with idempotent Stripe payments and separate Stripe accounts, keys and webhook secrets for the US and Canada.
  • TamTracker: Stripe Connect billing for an agency portal on serverless AWS, with organisation-scoped multi-tenancy and audited access.

Our security page describes the practices we apply to every project, and if your product also handles health data, see HIPAA compliant software development for how the two frameworks overlap. The wider fintech app development page covers KYC, ledgers and open banking.

Next step

Tell us what you're building and get a written estimate.

A senior engineer replies within one business day. NDA on request.

FAQ

Questions we get asked a lot.

Is PCI DSS compliance required for a small app that takes card payments?

Yes. PCI DSS applies to every merchant regardless of size. Small merchants validate with a self-assessment questionnaire; the smallest, SAQ A, applies when card data is fully outsourced to hosted fields or a redirect and your payment page scripts are controlled.

What is the difference between SAQ A and SAQ A-EP?

SAQ A applies when the provider's hosted page, iframe or hosted fields collect the card data and your code cannot touch it. SAQ A-EP applies when your own page or JavaScript collects the card details and sends them to the provider, which puts your web server in scope for most of the standard.

What does PCI DSS Requirement 6 ask of developers?

Secure development of bespoke software, with developer training and code review. Vulnerabilities are identified and fixed by severity, including in third-party components. Public-facing web applications are protected and changes are controlled. Since 2025 every script on a payment page must be authorised, integrity-checked and inventoried (6.4.3).

Do you provide the PCI certificate?

No. Attestations come from your own self-assessment or from a Qualified Security Assessor. We build the product to the standard, produce the evidence and support you through the assessment.

Can we store card numbers for repeat payments?

Store a token from your processor instead. Tokens and the last four digits are out of scope. Storing PANs yourself moves you to SAQ D or a full assessment and is almost never worth it.

How much does PCI compliant software development cost?

Discovery is $3k to $8k. A fintech MVP built to PCI DSS with an assessor pack costs $40k to $80k, a larger platform $80k to $180k, and a dedicated engineer from $4,000 a month. Assessor, scanning and penetration testing fees are paid to those providers.