STUDIO 1

Stripe integration for your site

Stripe is a card payment platform used worldwide. If you sell to customers abroad or run a subscription service, we integrate Stripe so that paying by card is smooth and the order moves on automatically.

What Stripe is

Stripe is a global card payment platform that developers value for its thorough API and documentation. It does not provide Estonian bank links, but card payments work worldwide. Stripe fits well if your customers are abroad or if you need subscriptions and recurring billing.

What you need before connecting Stripe

An Estonian company, including an e-resident's OÜ, can open a Stripe account. To activate it Stripe asks for company details, identity verification of the representative and a bank account for payouts. After that the dashboard shows API keys for test mode and live mode.

  • Company details and the representative's ID document
  • A bank account for payouts
  • A website that makes clear what you sell, with terms and contacts
  • A decision on what you need: one-off payments, subscriptions or both

Fees depend on card type and the country of issue. Current pricing is published on Stripe's website.

How a card payment works for the buyer

  • The buyer clicks pay and sees Stripe's hosted payment page or a payment form embedded in your site
  • They enter card details or choose Apple Pay or Google Pay
  • The bank asks for extra confirmation when required (3-D Secure), in Estonia mostly via Smart-ID or the bank's app
  • Stripe returns the buyer to your site and sends your server a notification (webhook) that confirms the order

Card details never pass through your server: the buyer types them into Stripe's form. That keeps the security requirements on your side small.

WooCommerce, Shopify and custom builds

On WooCommerce we use the official Stripe plugin: enter the keys, enable the payment methods you need and set up notifications. On Shopify, card payments generally run through the platform's own payment solution, so a separate Stripe integration is usually not built there.

Stripe pays off most in a custom Next.js project: we create the payment on the server, receive notifications on a dedicated endpoint and verify their signature. For subscriptions we add a customer portal where the client changes their card or cancels on their own.

Testing and typical problems

Stripe has a test mode with test cards. We run a successful payment, a declined card, a card that requires extra confirmation and a refund. When going live we swap the keys and register the notification endpoint again, because test and live settings are separate.

  • Signature verification fails because the framework alters the request body before the check
  • The notification endpoint is registered in test mode only
  • The same event arrives more than once and the order is confirmed twice if processing ignores repeats
  • A subscription charge fails on an expired card but the user keeps access

How we integrate Stripe

Stripe, Montonio or Maksekeskus

Montonio and Maksekeskus are built around Estonian buyer habits: checkout shows bank links and the buyer pays straight from their bank. Stripe starts from the card and from international sales, and its strengths are subscriptions, multi-currency billing and a flexible API.

In an Estonian store Stripe is therefore mostly an addition rather than the only payment method: a local provider covers bank links, Stripe covers foreign cards and subscriptions. For a SaaS product or a booking system Stripe can be the only solution. Current fees for all three are on the providers' websites.

Frequently asked

Does Stripe replace Montonio?+

No, they complement each other. Stripe covers card payments, Montonio the Estonian bank links. In a store selling to Estonian buyers a bank link is still the expected payment method.

Does Stripe suit subscriptions?+

Yes, recurring billing is one of Stripe's main use cases. It fits SaaS products and membership fees well.

Can an Estonian company use Stripe?+

Yes, Stripe supports Estonian companies. We help with account setup and integration.

Are card details stored on our server?+

No. The buyer enters card details into Stripe's form and your server only receives the payment result and a reference. The card number is not kept in your database.

What happens when a subscription charge fails?+

Stripe retries the charge according to the configured rules and sends a notification for each attempt. We set it up so the customer gets a reminder and access is paused after the last failed attempt.

We'll connect Stripe to your product

Send us a description of your product or store. We reply within one business day.