Skip to main content

Demo provider

Provider: demo

A special test provider that lets you complete the entire verification flow without integrating with real providers such as mObywatel or banks. The session waits for manual approval or rejection in the administration panel.

How it works

  1. The customer opens verification_url and sees a "Waiting for approval" screen
  2. You, as the administrator, open the DPay Web EID panel and manually approve or reject the session
  3. The HUB sets the status to completed, with a verified or rejected result
  4. A verification.completed or verification.failed webhook is sent to your endpoint
POST/api/v1/verificationsCreate a Demo session: manual approval in the panel and test result scenarios.Full contract in the API Reference

What is it for?

  • End-to-end tests of the entire integration pipeline, from session creation to webhook handling
  • Client demonstrations without real identity verification
  • Testing different result scenarios (verified, rejected, inconclusive)
  • Testing error handling with different rejection reasons
  • Automated CI/CD tests of a DPay Web EID integration

Availability

The Demo provider is available in both the sandbox and production environments:

EnvironmentAvailability
Sandbox (deid_test_xxx)Yes (always)
Production (deid_live_xxx)Yes (for integration testing)
tip

Use provider: demo cautiously in production and only for testing. Production Demo sessions are not billed, but they appear in the panel as real records.

Session creation example

curl -X POST https://hub.snd.dpay.pl/api/v1/verifications \
-H "Authorization: Bearer deid_test_xxx" \
-H "Content-Type: application/json" \
-d '{
"provider": "demo",
"external_id": "test-e2e-12345",
"redirect_url": "https://twoja-strona.pl/test-redirect",
"locale": "pl"
}'

Approving a session in the panel

  1. Sign in to the DPay Web EID panel at hub.dpay.pl/admin
  2. Go to Verification sessions
  3. Find the session by its external_id or UUID
  4. Click Approve or Reject
  5. Select the result status: verified, rejected or inconclusive
  6. Optionally fill verified_data with mock data
  7. Save the session; the HUB sends a webhook to the configured endpoints

Controlled test results

By selecting different result status combinations in the panel, you can test the corresponding integration behavior:

TestSession statusResult statusWhat it tests
Happy pathcompletedverifiedSuccessful customer onboarding
RejectioncompletedrejectedHandling a verification rejection
InconclusivecompletedinconclusiveFlagging a case for manual review
Technical errorfailed(none)Handling infrastructure errors

Pool mode with Demo

You can add demo to the provider list in pool mode to let testers bypass real providers in a test environment:

{
"mode": "pool",
"providers": ["bank_transfer", "mobywatel", "demo"]
}
warning

Never add demo to pool mode in production. End users must not be able to select a fake verification method.