Elements + 3DS

This pack validates an ecommerce CityPay Elements integration with 3DS enabled. It focuses on state handling, challenge orchestration, duplicate prevention, and support-grade evidence.

Use this pack when:

  • checkout uses CityPay Elements
  • the payment is an ecommerce cardholder-initiated transaction
  • 3DS is required in scope
  • you need a practical go-live pack before stored credential or MIT flows are added
IDScenarioLaneProfileSeverityPass criteriaEvidence
E3-01Create payment intent and complete approved Visa flowAutomatedTD-VISA-APPROVAL-01Criticalintent is created and remains traceable through authorisationpayment_intent_id, trans_no, timestamp
E3-02Create payment intent and complete approved Mastercard flowAutomatedTD-MC-APPROVAL-01Criticalapproval path succeeds and identifiers are capturedpayment_intent_id, trans_no, timestamp
E3-03Declined payment returns a stable failed outcomeAutomatedTD-VISA-DECLINE-01Criticaldecline is handled safely without ambiguous statepayment_intent_id, trans_no, timestamp, response summary
E3-04Frictionless 3DS authenticated path completesSyntheticuse Visa or Mastercard with frictionless outcomeCriticalintent reaches the expected authenticated state without customer challenge UIpayment_intent_id, trans_no, timestamp, auth result
E3-05Challenge-required path is accepted and results in successSyntheticuse challenge outcomeCriticalchallenge orchestration succeeds and final auth is traceablepayment_intent_id, trans_no, timestamp, challenge result
E3-06Challenge-required path does not duplicate authorisationSyntheticuse challenge outcomeCriticalsame logical attempt results in one final authorisation onlypayment_intent_id, trans_no, identifier, timestamp
E3-07Duplicate-prevention controls work across the same logical attemptAutomatedapproval profileCriticalreuse of the same logical attempt does not create duplicate chargingpayment_intent_id, trans_no, identifier or idempotency evidence, timestamp
E3-08Evidence extraction bundle is completeAutomatedany completed scenarioCriticalsupport can trace the scenario using the standard identifierspayment_intent_id, trans_no, timestamp
E3-09Hosted field mount and submit affordance are visibleManual onlyn/aImportanttester can mount fields, enter details, and see expected submit behaviourtester notes, screenshots if needed
E3-10Visible challenge smoke path behaves correctlyManual onlychallenge pathImportanttester can see the challenge handoff and expected post-challenge outcometester notes, timestamp

Manual checks for this pack should be limited to:

  • fields mount successfully
  • card entry is possible
  • visible challenge handoff works at least once
  • final user-visible outcome is understandable

Do not use browser automation for these checks in v1.