Accept payments on Shopify the Ukrainian way. On your own server.
Mistok (Місток, Ukrainian for “little bridge”) puts a pay button on the standard Thank you page, takes the buyer through plata by mono, mono installments, LiqPay, WayForPay, NovaPay, BLIK/Przelewy24, PayU or Stripe, and marks the order as paid by itself. No checkout replacement, no middleman fee, open source.
Why not a third-party checkout
Risk of being shut down
Third-party checkouts (GetCheckout, Chekly, Walnut) replace Shopify Checkout and create orders through the API after the fact. Shopify’s terms explicitly forbid this; Shop Pay, Markets and discounts stop working. Mistok uses the standard manual payment method and a Checkout UI Extension — mechanisms Shopify supports on every plan.
Money never passes through us
The buyer pays on the bank’s or PSP’s hosted page. Funds land in your account under your own acquiring agreement. Mistok only creates the invoice and verifies the signed webhook. The server never sees card data — PCI DSS SAQ A.
Open documentation
For every gateway we publish the endpoints, signature formulas, status mapping and whatever we could not verify. You see exactly what happens to your money — not six marketing steps of “paste the token”.
What it does
Payments
Cards, Apple/Google Pay, hold with capture on fulfilment, prepayment + cash on delivery (fixed amount, percentage or rules), split across several sole proprietors, failover between gateways.
Installments
mono installments (“Покупка частинами”) confirmed in the mono app, PrivatBank installments (“Оплата частинами”), PayPo/Klarna/Raty via P24 and PayU for Poland.
Poland
BLIK and cards via Przelewy24 and PayU, złoty via Shopify Markets, Polish localisation of the buttons. For buyers worldwide — Stripe from your European company’s account.
Fiscal receipts
mono PRRO (receipt link in the order) or Checkbox: sale and refund receipts, a separate rule for cash on delivery, receipt emailed to the buyer.
Refunds, cancellations, edits
Refund in Shopify → refund in the PSP (partial ones too). Cancel → invoice voided. Changed the amount — the invoice is recreated. Reversed by the bank → tag or auto-refund.
Payment follow-up
Email + SMS reminders for unpaid orders, a “Pay / Paid” block on the Order status page, payment links for Instagram and Telegram sales.
Analytics
Dashboard: funnel, geography (country, region, city), devices, gateways, time to payment and drop-off points — exactly where the buyer left and how much money is sitting there. Anomalies are highlighted.
Telegram bot for the owner
/today, /status, /refund, /link (draft + payment link in 5 seconds), /cod_off for phone numbers that refused a parcel.
For developers
Signed outgoing event webhook for CRMs (KeyCRM, SalesDrive, Zapier), JSON API, Docker, SQLite, 518 automated tests and a pentest suite in the repository.
How it works
Shopify Checkout (manual method “plata by mono”) ──► order PENDING
└─ block on the Thank you page ──► GET /pay/:id?c=… ──► mono invoice/create ──► mono payment page
│
Shopify PAID ◄── orderCreateManualPayment("plata by mono") ◄── POST /webhooks/mono (ECDSA) ◄──┘
◄── GET /return/:id · poller (safety net)
Shopify refund ──► invoice/cancel Shopify cancel ──► invoice/remove Paid ──► PRRO · SMS · CRMThe status in a webhook is never taken on trust: Mistok re-reads it from the gateway API and checks the amount and currency. One payment — one transaction in Shopify, even if the webhook arrived ten times.
Pricing
Self-hosted
Free. Open source, MIT. Hosting — any VPS at $5–10 a month or Docker on your own server. You pay only the bank’s fee under your own agreement.
Turnkey installation
We set it up on your server and in Shopify within a day: gateways, fiscal receipts, reminders, Telegram. One-off payment, no subscription. Price on request.
Managed hosting
Coming soon: a dedicated Mistok instance on our servers with updates and monitoring. Flat price, no percentage of turnover.
Honest about the limitations
| Limitation | Why | What we do |
|---|---|---|
| Payment happens after the order is created, not inside the checkout | a native method inside the checkout can only be added by a Shopify-approved payments partner (invitation-only programme) | reminders, a block on the Order status page, drop-off analytics; the path to a native gateway is described in the documentation |
| The status in Shopify is a “manual payment with a method name”, not a gateway transaction | the Admin API only allows orderCreateManualPayment/orderMarkAsPaid | method name, tags with the payment id, notes; in Shopify reports the payment shows as a separate line |
| Choosing a Nova Poshta branch inside the checkout | Shopify Plus only, or a public app with Functions | branch / parcel-locker picker on the Thank-you page (done) or the standard NP apps |
| NovaPay installments | no merchant API | NovaPay acquiring is connected; for installments — mono and PrivatBank |
FAQ
Won’t Shopify shut down my store?
Mistok does not replace the checkout and does not create orders behind Shopify’s back. Manual payment methods and Checkout UI Extensions on the Thank you page are standard tools available on every plan. It is the same mechanism agencies sell as a “Thank You page integration” for ₴8 800.
Do I need Shopify Plus?
No. Basic is enough. Plus is only needed for extensions inside the checkout and for choosing a Nova Poshta branch in the checkout.
Does Shopify charge a fee for a third-party gateway?
No: manual payment methods carry no third-party transaction fee. For a native gateway via the Payments Apps API Shopify charges 2% on Basic, 1% on Grow, 0.6% on Advanced.
How does the buyer see that they have paid?
After paying they are sent back to the Shopify Order status page, which already shows “Paid”; the Mistok block shows the fiscal receipt. If the payment failed — the same place has a “Retry payment” button.
What about cash on delivery?
Cash on delivery is a standard Shopify manual method. Mistok adds a prepayment (amount, percentage, rules by order total or phone history) and tags risky orders if the number has previously refused a parcel.
Can I sell to Poland?
Yes: Przelewy24 (BLIK, PayPo) and PayU connect alongside the Ukrainian gateways; złoty — via Shopify Markets. Details on the Poland page.