Przejdź do głównej zawartości

Connect

dpay Connect is dpay's Payments-as-a-Service surface for partners and ISVs. With a single partner key (Authorization: Bearer dpk_...) you onboard your own merchants and, once a merchant delegates access, act on their behalf: read their account (transactions, settlements, balance), register payments, and request payouts.

Every call is scoped to your channel's merchants and gated by both your key's scopes (onboarding:read, onboarding:write, account:read, payments:write, payouts:write) and the merchant's delegation (granted when the merchant signs your channel agreement; payouts require a separate opt-in). All endpoints in this section are served from https://panel.dpay.pl.

Registering a payment on-behalf is not a separate endpoint - it is a mode of the classic Register Payment endpoint (send On-Behalf-Of: {ref} with your partner key). For the conceptual guides, onboarding flows, consent model, and webhook catalog, see the dpay Connect integration guide.

📄️Create Merchant Onboarding Draft

Creates a draft merchant onboarding under your partner channel and returns the merchant `ref`, current `status`, and `channel`. The distribution channel is derived from the authenticated partner key (never trusted from the body); if your key owns more than one channel you must supply `channel`, and it must belong to you. Creation is **idempotent** on `partner_external_ref` (scoped per channel): repeating the call with the same reference returns the existing draft with `200` instead of creating a duplicate — a new draft returns `201`. The response never contains the hosted-flow URL; obtain it from `finalize` or `GET /onboarding/{ref}` in `next_action.url`. Requires scope `onboarding:write`.

📄️Finalize Onboarding

Validates data completeness and returns the hosted hand-off for one merchant onboarding. This is a **read-only** operation: it never advances the onboarding — personal acts (contact and identity verification, declarations such as PEP, agreement signing, verification transfer) are always completed by the merchant under `next_action.url`. It always responds `200`, even when data is incomplete; `missing[]` lists the outstanding data-segment codes (empty array when the data is complete). Takes no request body. Requires scope `onboarding:write`.

📄️Prefill Applicant Identity

Prefills the identity data of the main applicant (a natural person or a sole trader): national id number, identity document, residential address, place of birth and citizenships. It only stores data - the identity verification itself and the statutory declarations (PEP, acting on own behalf) are always completed by the merchant in the hosted flow. For a multi-person company the representative's identity is handled in the hosted flow and this segment returns `422`. Requires scope `onboarding:write`.

📄️Set Company Representation Decision

Records whether the person creating the account is a representative of a multi-person company and derives the representation mode from the company's registered governing body. Applies to multi-person companies only (`422` for sole traders / natural persons). The response includes `representation_mode` (`solo`, `co_representative` or `proxy`) and `requires_invitation_or_poa`; non-`solo` modes require inviting the other person and/or uploading a power of attorney. Requires scope `onboarding:write`.

📄️Upload Onboarding Document

Uploads a supporting document to the onboarding draft (e.g. power of attorney, identity document, or a regulated-activity document). Supply the file either as a multipart `file` part or as base64 (`content_base64` + `filename`). Provide either a free-form `document_type` + `subject`, or a `document_id` referencing a required regulated-activity document. Accepted formats: pdf, png, jpg, jpeg, tiff; maximum size 5120 KB (5 MB). The response includes the created `document_id`, which you can attach to a proxy-representative invitation. Requires scope `onboarding:write`.