Direct Links: local methods, wallets and crypto

Direct Links let you show your own payment-method buttons and send each one to an Omno Direct Link, with no Omno payment page. Behind each link Omno routes the payment across several providers of the same method. You create a pay-in with a directRouteId, process it to get a redirectUrl or a wallet address, and take the final status from the webhook or GET /public/payin/{id}.

Updated

On this page6 sections

Use Direct Links when you build the checkout yourself and want your own buttons for local payment methods, wallets and crypto. Each button links to a Direct Link. Behind it, Omno routes the payment across several providers of that method, so the shopper sees one choice. The shopper then approves the payment in the method’s own page or app.

You set up each Direct Link in the Omno Merchant Dashboard: its name, its providers and its routing type. Split traffic by share or set a priority order between providers. A Direct Link can also be used as a route inside your main Omno router.

Direct Links do not take cards. For cards on your own checkout, use Card Fields. When you want Omno to host the checkout instead, use the hosted checkout.

Four steps, all driven by your backend:

  1. Create the transaction. Call POST /public/payin with a directRouteId. The response contains a payinId.
  2. Start processing. Call POST /public/payin/{id}/process/direct-link with the customer’s browser data and the method-specific additionalData. The response contains a redirectUrl.
  3. Redirect the customer to the redirectUrl to complete the payment with the provider.
  4. Get the final status from the webhook, or check it with GET /public/payin/{id}.
POST /public/payin
Host: api.omno.com
Authorization: Bearer <access_token>
Content-Type: application/json

{ "directRouteId": "<route-id>", "currency": "BRL", "amount": 150.00 }
POST /public/payin/{id}/process/direct-link
Host: api.omno.com
Authorization: Bearer <access_token>

The create body above is illustrative. The body of the process call carries browser data and the additionalData your chosen method needs; the exact fields differ by method.

Three: pay-ins through local payment methods, pay-ins to a crypto wallet address retrieved without the checkout UI, and pay-outs. Pay-outs use the same eligibility rules as pay-ins, so each payout goes through a provider that can pay the recipient.

Why is the redirect not the result?

Because the redirect only tells you where the customer went, not what the provider decided. Customers close tabs, mobile browsers drop redirects, and some methods confirm minutes later. Treat the webhook as the record, handle repeated deliveries idempotently, and use GET /public/payin/{id} when in doubt.

With fake providers on your production account. For local method pay-ins, enter a three-digit decline code in the recipient field to force an outcome; for pay-outs, use the payout codes. The full code list is in Getting started.

What about raw card data?

Direct Links never carry card data. Merchants with their own PCI DSS attestation can ask Omno about host-to-host card processing. Most merchants take cards with Card Fields on their own checkout, or with the hosted checkout.

Frequently asked questions

Can I take cards with Direct Links?

No. Direct Links cover local payment methods, wallets and crypto. For cards on your own checkout, use Card Fields, or use the hosted checkout.

How are Direct Link payments routed?

Each Direct Link has its own providers for one method. You split traffic between them by share, for example 70/30, or set a priority order. A Direct Link can also be used as a route in your main Omno router.

Can I trust the redirect back to my site as the payment result?

No. The final result comes from the webhook or the GET transaction endpoint, never from redirects. A customer can close the tab or a redirect can fail after the provider has approved the payment.

What is a directRouteId?

It pins the transaction to a specific Direct Link route configured on your account. Provide either a directRouteId or a routerId on a request, not both; with neither, default routing applies.

When should I choose Direct Links over the hosted checkout?

When you want your own checkout and your own payment-method buttons for local methods, wallets and crypto. The shopper approves the payment in the method's own page or app.

esc
↑↓ to move ↵ to open All results