🌐 10nPayments — End-to-End Onboarding & KYC Flow (Public API) #
With our Public API endpoints you can build a fully self-service onboarding experience—start to finish. From sending and verifying a phone number, through Borica/B-Trust web identification and cloud QES signing, to persisting KYC data and issuing tokens—everything is arranged in a sequential, step-by-step flow. By calling the endpoints in order, your client can complete onboarding smoothly and securely.
🔧 What You Get #
-
A complete KYC flow structured as clear, consecutive steps.
-
Guaranteed redirects (Success/Fail) from Borica, configured in the Merchant Portal.
-
Robust security with OAuth 2.0 mTLS tokens and auditable correlations.
-
Deterministic statuses & polling to drive the UI at each stage.
▶️ Quick Sequence (Step-by-Step) #
- Create user
POST /User
- Email Verification POST /User/email/confirm
-
Send / Resend SMS Code
POST /User/phone-number/send-code
→POST /User/{id}/phone-number/resend-code
-
Verify Phone
POST /User/phone-number/verify
-
Initiate External Identification (Borica/B-Trust)
POST /Enrollment/initiate-external-identification
→ receivevideoIdentificationUrl
-
Redirects from Borica
Borica redirects to your Success/Fail URLs (configured in the Merchant Portal). -
Polling — Phase A (pre-sign)
GET /Enrollment/{id}/{userType}/true/get-identification-process-status
Poll untilSIGN_SESSION_ID_SUCCESSFULLY_CREATED
, then open the returnedvideoIdentificationUrl
to start 10nPayments document signing. -
Success redirect after signing
-
Polling — Phase B (post-sign)
Call the same status endpoint again (withisIdentificationCompleted=true
) untilDOCUMENT_SIGN_SUCCESS
. -
Persist KYC & Finalize
-
POST /User/add-additional-data
— submit the structured risk/KYC JSON collected from your KYC steps. -
POST /Enrollment/finalize-external-identification
— receivecorrelationId
andindividualId
.
-
-
Issue Access Token (mTLS)
POST /connect/mtls/token
— obtain an OAuth 2.0 Bearer token for subsequent API calls.
🔁 Redirects & Polling #
-
Success/Fail redirect URLs are managed in the Merchant Portal and automatically honored by Borica.
-
Use two polling phases against get-identification-process-status:
-
Until
SIGN_SESSION_ID_SUCCESSFULLY_CREATED
(pre-sign). -
Until
DOCUMENT_SIGN_SUCCESS
(post-sign).
-
-
Recommended client polling interval: 2–5s with a sensible timeout and clear UX.
🔒 Security by Design #
-
Mutual TLS (mTLS) for token issuance; request only the scopes you need.
-
Standardized error shapes (Problem Details / RFC 7807) for predictable handling.
-
Auditability via
correlationId
and consistent status transitions.
✅ Get Started Fast #
-
Configure Success/Fail redirect URLs in the Merchant Portal.
-
Download the ready-made cURL for the mTLS token from the Portal.
-
Implement UI for SMS code, verification, and the External Identification handoff.
-
Add two-phase polling and status handling.
-
Gather KYC fields during the flow, submit with
/User/add-additional-data
, then finalize with/Enrollment/finalize-external-identification
.