# Direct Link

## When to use

Use Direct Link when you want backend-driven payments with **no OMNO UI**: invoices, quick payment triggers, or your own checkout UI. Direct Link supports **APM** and **crypto** only. For card payments or a hosted checkout, use the [Cashier](/guides/cashier/overview).

## How it works

You create a transaction with a `directRouteId`, start processing (sending browser and method-specific data), then redirect the customer to the PSP's `redirectUrl`. The final status arrives via webhook or GET.

```mermaid
sequenceDiagram
    participant BE as Merchant Backend
    participant FE as Customer Browser
    participant OMNO
    participant PSP
    BE->>OMNO: POST /public/payin (directRouteId)
    OMNO-->>BE: payinId
    BE->>OMNO: POST /public/payin/{id}/process/direct-link (browser, additionalData)
    OMNO->>PSP: Initiate
    PSP-->>OMNO: redirectUrl
    OMNO-->>BE: redirectUrl
    BE->>FE: Redirect customer to redirectUrl
    FE->>PSP: Complete payment
    PSP-->>OMNO: Result
    OMNO-->>BE: Webhook (authoritative final status)
    BE->>OMNO: GET /public/payin/{id} (verify)
    OMNO-->>BE: Final transaction status
```

> ⚠️ **Warning:** The final result comes from [webhooks](/guides/getting-started/webhooks) or the [GET transaction endpoint](https://docs.omno.com/apis), never from redirects.


## Pages

- [Pay-In: APM](/guides/direct-link/payin-apm)
- [Pay-In: Crypto Wallet Address](/guides/direct-link/payin-crypto)
- [Pay-Out](/guides/direct-link/payout)