Get started
Choose a checkout
Compare redirect and H2H checkout before starting your OmniPay integration.
OmniPay offers two checkout integrations. Neither is required by the other, and both create the same kind of deposit resource.
Redirect checkout
Create a deposit, redirect the payer to hosted checkout, and confirm the result through the API or webhooks.
H2H checkout
Create a signed deposit and follow the returned next_action in your own checkout flow.
Which option should I choose?
Choose redirect checkout when you want:
- the shortest implementation path;
- a hosted payment experience;
- bearer authentication without request signing;
- OmniPay to present the payment steps.
Choose H2H checkout when you want:
- your application to control more of the checkout experience;
- typed
next_actionhandling in your frontend; - to display returned P2C or P2P instructions when requested;
- to operate HMAC request signing and asynchronous verification.
| Capability | Redirect checkout | H2H checkout |
|---|---|---|
| Create endpoint | POST /api/v1/deposits | Same endpoint |
checkout_mode | Omit or send redirect | Send h2h |
| Authentication | Bearer API key | Bearer API key + HMAC signature |
| Create response | Hosted redirect_url | Typed next_action |
| Status endpoint | GET /api/v1/deposits/:id | Same endpoint, signed |
| Webhook events | Same deposit events | Same deposit events |
| Manual transaction-ID submission | Never | Only for display_instructions |
Shared setup
Whichever option you choose:
- create an API key in Dashboard → Developers;
- call the API only from trusted server-side code;
- generate and persist a unique
merchant_id; - persist the returned OmniPay deposit
id; - configure and verify webhooks;
- fulfill only when the deposit status is
succeeded.
You can start with redirect checkout and add H2H later. The API base URL, deposit identifiers, status model, and webhook event names remain the same.