What you need before connecting Montonio
To accept payments your company signs a contract with Montonio. Onboarding happens in Montonio's self-service: you enter company details, the representative verifies their identity and you add the bank account for payouts. Once approved you receive API keys, separate ones for the test and live environments.
- A registered company (an e-resident's OÜ qualifies)
- A company bank account
- A store with visible terms of sale and contact details
- Admin access to the store so we can enter the keys
Fees are agreed with Montonio, and the current price list is published on Montonio's website.
How a bank link payment works for the buyer
- The buyer selects bank link and their bank at checkout
- They are redirected to the bank, log in with Smart-ID, Mobile-ID or a PIN calculator and confirm the payment
- The bank sends the buyer back to the store's thank-you page
- In parallel Montonio sends the store a server notification, and the order is marked paid based on it
The last step matters most: order status must not depend on the buyer reaching the thank-you page. If they close the tab while still in the bank, the order must still be marked paid from the server notification.
WooCommerce, Shopify or a custom store
For WooCommerce, Montonio has an official plugin: we enter the keys, choose which payment methods are shown and set the order of banks. On Shopify, Montonio is added as a separate payment method and the options depend on what Shopify allows third-party payment solutions to do, so we check that before work starts.
In a custom Next.js store we create the payment through the Montonio API ourselves and write the notification handler, which verifies the message signature before changing the order status.
Testing, go-live and typical problems
Before launch we run a successful, an interrupted and a refunded purchase in the test environment and check that stock, the confirmation email and the order status change correctly. Then we swap test keys for live keys and make one real purchase for a small amount.
- The order stays pending: the notification never reaches the store because a firewall, security plugin or cache blocks that URL
- Test keys were left in the live environment, or the other way round
- The buyer pays but does not return to the store, and the logic relies on the thank-you page
- The store moved to a new domain but the return URL still points to the old one