OmniPayDocs
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.

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_action handling in your frontend;
  • to display returned P2C or P2P instructions when requested;
  • to operate HMAC request signing and asynchronous verification.
CapabilityRedirect checkoutH2H checkout
Create endpointPOST /api/v1/depositsSame endpoint
checkout_modeOmit or send redirectSend h2h
AuthenticationBearer API keyBearer API key + HMAC signature
Create responseHosted redirect_urlTyped next_action
Status endpointGET /api/v1/deposits/:idSame endpoint, signed
Webhook eventsSame deposit eventsSame deposit events
Manual transaction-ID submissionNeverOnly for display_instructions

Shared setup

Whichever option you choose:

  1. create an API key in Dashboard → Developers;
  2. call the API only from trusted server-side code;
  3. generate and persist a unique merchant_id;
  4. persist the returned OmniPay deposit id;
  5. configure and verify webhooks;
  6. 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.

Build redirect checkout →

Build H2H checkout →

On this page