When should I use Direct Links?
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.
How does a Direct Link pay-in work?
Four steps, all driven by your backend:
- Create the transaction. Call
POST /public/payinwith adirectRouteId. The response contains apayinId. - Start processing. Call
POST /public/payin/{id}/process/direct-linkwith the customer’s browser data and the method-specificadditionalData. The response contains aredirectUrl. - Redirect the customer to the
redirectUrlto complete the payment with the provider. - 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.
Which flows does Direct Link cover?
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.
How do I test Direct Links?
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.