API / Server-Led + 3DS

This pack validates a server-led ecommerce card flow where your system controls the request and challenge handling directly. It is higher risk than hosted flows because incorrect 3DS orchestration, flags, or evidence capture are easier to get wrong.

Use this pack when:

  • your application calls the payment API directly
  • you handle ecommerce 3DS request and response processing
  • you need to validate challenge initiation, challenge completion, and evidence quality
IDScenarioLaneProfileSeverityPass criteriaEvidence
A3-01Approved Visa ecommerce paymentAutomatedTD-VISA-APPROVAL-01Criticalpayment is authorised successfully and request identifiers are traceablecontext_id, trans_no, identifier, timestamp
A3-02Approved Mastercard ecommerce paymentAutomatedTD-MC-APPROVAL-01Criticalpayment is authorised successfully and evidence is completecontext_id, trans_no, identifier, timestamp
A3-03Generic decline is returned safelyAutomatedTD-VISA-DECLINE-01Criticaldecline is explicit and no ambiguous partial success remainscontext_id, trans_no, identifier, timestamp, response summary
A3-04AVS, CSC, fraud, and comms mappings behave as expectedAutomatedmapped negative profilesImportantsandbox mappings produce the expected outcome and are recorded correctlycontext_id, trans_no, identifier, timestamp
A3-05Frictionless authenticated 3DS path succeedsAutomatedCSC 750Critical3DS result is authenticated and the final auth is traceablecontext_id, trans_no, identifier, timestamp, auth result
A3-06Challenge-required path reaches request-challenged stateAutomatedchallenge-triggering CSCCriticalAPI returns the expected challenge response and session identifierscontext_id, identifier, timestamp, challenge response
A3-07Challenge result can be completed safelySyntheticchallenge pathCriticalchallenge-result handling produces one final traceable outcomecontext_id, trans_no, identifier, timestamp
A3-08Failed or rejected challenge does not produce an approved authorisationSyntheticchallenge-failed pathCriticalfailed authentication is preserved and not treated as successcontext_id, trans_no, identifier, timestamp, auth result
A3-09Duplicate-prevention behaviour is stableAutomatedapproval profileCriticalsame logical attempt does not create multiple chargescontext_id, trans_no, identifier, timestamp
A3-10Visible challenge handoff can be smoke-tested onceManual onlychallenge pathImportanttester can observe the challenge handoff controller working end to endtester notes, timestamp

Manual checks for this pack should stay narrow:

  • one visible challenge handoff smoke test
  • confirmation that the cardholder-facing handoff is understandable

Everything else should be exercised through Automated or Synthetic lanes.