Looking for ePay classic docs? Go to docs.epay.dk
ePay documentationDocsePay documentation

Choose your integration

ePay can be integrated in different ways depending on how much control you need over the payment experience.

Use this page to choose the best starting point.

Quick recommendation

You want toChooseBest for
Add payments to an existing webshopPluginWebshops using WooCommerce, Magento, Shopify, Shopware or similar
Redirect customers to a hosted payment windowCheckoutSimple custom integrations
Embed payment fields in your own checkoutBlocksCustom checkout designs
Send or display a payment linkLinkManual orders, invoices, quotes, QR payments and support flows
Take the first payment and charge laterSubscriptionMemberships, recurring services and stored-consent billing
Add age verification to your payment flowVerifyAge-restricted products such as alcohol, tobacco or similar
Build a fully custom payment flowAPIPlatforms, SaaS, marketplaces and custom systems

Use a plugin if you have a webshop

Choose a plugin if your webshop already runs on a supported platform.

Plugins are the fastest way to connect your webshop to ePay. The plugin handles the connection to ePay, payment creation, order updates and much of the technical setup.

This is usually the best choice if you do not want to build a custom checkout flow.

Choose this if:

  • You use WooCommerce, Magento, Shopify, Shopware or another supported platform
  • You want to get started without writing code
  • You want ePay payments to work inside your existing webshop checkout
  • You want order statuses to update automatically in your webshop admin

Next step: Accept your first payment with a plugin

Use Checkout if you want the simplest custom integration

Choose Checkout if you want ePay to host the payment window.

Your backend creates a payment session. ePay returns a payment window URL. You redirect the customer to that URL, and ePay handles the payment page.

Checkout is usually the best choice for custom integrations where you want a simple, secure and reliable payment flow without building the payment form yourself.

Choose this if:

  • You have a custom website, app or backend
  • You want the fastest custom integration
  • You do not need to design the payment fields yourself
  • You want ePay to handle the hosted payment experience

Next step: Accept your first payment with Checkout

Use Blocks if you want full checkout control

Choose Blocks if you want to embed secure payment fields directly in your own checkout.

Your backend creates a payment session. Your frontend loads ePay.js and mounts the payment fields in your own UI.

Blocks gives you more control over the checkout experience, but it also requires more frontend work than Checkout.

Choose this if:

  • You want the payment form inside your own checkout
  • You want full control over layout and design
  • You have frontend developers available
  • You are comfortable handling client-side payment events and validation

Next step: Accept your first payment with Blocks

Choose Link if you want to create a payment link that can be sent to a customer or displayed as a QR code.

Payment links are useful when the customer does not go through a normal checkout. For example, you can use them for manual orders, invoices, support cases, quotes, internal sales flows or QR-based payments.

Your backend creates a payment link. ePay returns a unique URL and a base64-encoded QR code that opens ePay Checkout.

Choose this if:

  • You want to request a payment manually
  • You want to send a customer a link by email, SMS, invoice or chat
  • You want to display a QR code on-screen or on a document
  • You do not need a full webshop checkout
  • You want to track payment link status in the ePay back office

Next step: Create your first payment link

Use Subscription if the first payment should also authorize future charges

Choose Subscription if the customer should complete the first payment now and also allow future MIT charges without re-entering payment details.

This is the right starting point for memberships, recurring services and other billing flows where a successful CIT must establish the subscription first.

Your backend creates the initial payment session through /public/api/v1/cit and includes the subscription object. After the first payment succeeds, the subscription can be used for later MIT charges. If you want ePay to run automatic scheduled billing on your behalf, you can add billing agreements as a next step.

Choose this if:

  • You need the first customer payment to also create a reusable subscription
  • You want to charge the customer again later with MIT
  • You run a membership, subscription or recurring service
  • You have a backend that can create payment sessions securely
  • You want a clear path to later billing agreements or scheduled billing

Next step: Create your first subscription payment

Use Verify if you need age verification

Choose Verify if you sell age-restricted products and need to verify the customer's age during the payment flow.

Verify adds age verification directly to ePay Checkout. Your backend creates a payment session with age verification requirements, and ePay handles the verification flow before the payment can be completed.

The verification flow depends on the selected payment method. For MobilePay, ePay can use available age information from MobilePay/Vipps. For cards and other methods, the customer may be asked to verify their age with MitID in Checkout.

Choose this if:

  • You sell age-restricted products
  • You need to verify that the customer meets a minimum age requirement
  • You want age verification as part of the payment flow
  • You want to avoid building and maintaining a separate age verification integration
  • You want to reuse age verification for returning customers when possible

Next step: Accept your first payment with Verify

Use the API if you need full backend control

Choose the API if you are building a custom system and want full control over the payment flow.

The API is the foundation behind ePay integrations. You can use it to create payments, manage transactions, handle captures, refunds, subscriptions and more.

Choose this if:

  • You are building a platform, SaaS product or custom integration
  • You want full control over backend logic
  • You need to connect ePay to your own order, billing or subscription system
  • You are comfortable working with APIs and webhooks

Next step: Make your first API request

Still not sure?

Start with Checkout.

Checkout is the simplest custom integration and gives most teams a fast, secure and flexible way to accept payments.

You can use Link if your main need is to send payment requests without building checkout logic.

You can use Subscription if the first payment must also authorize future MIT charges.

You can use Verify if you need to add age verification to the payment flow.

You can always move to Blocks later if you need more control over the payment form.

How is this guide?

On this page