Testing Overview

CityPay testing guidance is structured to be concise, practical, and scalable. Instead of one giant testing guide, each integration starts with a base path and then adds only the layers that actually apply.

The framework is built from:

  • a base pack: Elements, Paylink, or API / server-led
  • a mandatory 3DS layer for ecommerce CIT
  • optional overlays for higher-risk behaviour such as stored credential, scheduling, retries, refunds, and webhooks
  • reference packs that combine the right pieces for common launch paths

The first published reference packs are:

CityPay currently uses a best-effort readiness model rather than a formal certification programme.

StatusMeaning
ReadyCritical scenarios passed and evidence is complete
Ready with risksCritical scenarios passed, but important gaps remain
Not readyA critical scenario failed, is missing, or cannot be evidenced

Scenario severity is defined as:

SeverityMeaning
CriticalMust pass before CityPay recommends go-live
ImportantShould pass; failures raise risk
AdvisoryUseful, but non-blocking

Each scenario is assigned one execution lane:

LaneUse
AutomatedDirect sandbox or API validation
SyntheticNon-browser hosted-flow or intent-flow validation
Manual onlyVisible form, challenge, or redirect behaviour

This is deliberate. CityPay’s highest-risk failures are usually in state handling, flags, retry behaviour, and evidence quality rather than browser mechanics.

The minimum evidence bundle depends on the path.

PathMinimum evidence
Paylinkpaylink_token, trans_no where available, timestamp
Elementspayment_intent_id, trans_no, timestamp
API / server-ledcontext_id, trans_no, identifier, timestamp

For higher-risk stored credential or MIT flows, add:

  • agreement reference
  • original setup reference
  • card holder account / stored credential reference where applicable

Use the Sandbox and test data page for the named test profiles and expected sandbox outcomes.