> For the complete documentation index, see [llms.txt](https://kreatorverse-2.gitbook.io/kollect-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kreatorverse-2.gitbook.io/kollect-documentation/guides.md).

# Guides

End-to-end steps from **credentials** to **fulfillment**, aligned with the Kollect backend behavior.

***

### Phase 1 — Account and configuration <a href="#phase-1-account-and-configuration" id="phase-1-account-and-configuration"></a>

1. Complete **merchant onboarding** and **KYB** (or Mesta verification) as required by your program.
2. Configure a **deposit wallet** on the merchant **form** or **user** profile so Smart Contract payout initiation can resolve a payee address.
3. Create **API key + secret** (access token) and store them in a secrets manager.
4. (Recommended) Register a **`webhookUrl`** with **`scope: "invoice_settlement"`** via the profile webhook APIs and save the **signing secret**. See [Registration & delivery](/kollect-documentation/webhook-overview/registration-and-delivery.md).

***

### Phase 2 — Create payment (S2S) <a href="#phase-2-create-payment-s2s" id="phase-2-create-payment-s2s"></a>

1. Build the JSON body per [Create payment URL](/kollect-documentation/api-reference/create-payment.md). Leave `interface` unset so it defaults to `kollect-server` — overriding it disables your webhook for that payment.
2. Generate **`X-Timestamp`** (Unix seconds) within server clock skew.
3. Compute **`X-Signature`** over the **raw body** per [Request signing](/kollect-documentation/security/request-signing.md).
4. Send **`X-Idempotency-Key`** unique to the order or checkout session.
5. On **`200`**, persist **`paymentId`**, **`invoiceId`**, and **`invoiceNumber`** in your system.

***

### Phase 3 — Customer payment <a href="#phase-3-customer-payment" id="phase-3-customer-payment"></a>

1. Deliver **`paymentUrl`** to the customer (email, SMS, redirect, or in-app browser).
2. The customer completes payment on the **hosted Kollect** experience.

Kollect may also send invoice-related email per product configuration.

***

### Phase 4 — Settlement notification <a href="#phase-4-settlement-notification" id="phase-4-settlement-notification"></a>

1. **Smart Contract** notifies **Kollect** at the internal webhook endpoint.
2. Kollect updates **invoice** and **payment** records.
3. For **`kollect-server`** payments with an **active** `invoice_settlement` webhook, Kollect **POSTs** to your URL with **`x-kollect-signature`** / **`x-kollect-signature-v2`**, retrying up to 4 times with backoff if delivery fails.

***

### Phase 5 — Your fulfillment <a href="#phase-5-your-fulfillment" id="phase-5-your-fulfillment"></a>

1. **Verify** the signature [as documented](/kollect-documentation/webhook-overview/payload-and-verification.md).
2. **Upsert** order state by `eventId`/`paymentId` (idempotent — deliveries are at-least-once).
3. Return **2xx** quickly; run heavy work in a queue.

***

### Reconciliation <a href="#reconciliation" id="reconciliation"></a>

Even with retries, webhook delivery can ultimately fail (endpoint down for an extended period, persistent non-2xx). Maintain a **reconciliation** process — a scheduled job polling `GET /sdk/server/status/:paymentId` for open orders, or a support tool — that can compare your orders against Kollect state.

***

### Related pages <a href="#related-pages" id="related-pages"></a>

* ​[Architecture & data flow](/kollect-documentation/introduction/architecture-and-data-flow.md)​
* ​[Testing & sandbox](/kollect-documentation/guides/testing-and-sandbox.md)​
