tuqo
Payments (Russia)

Tuqo + payments in Russia

Stripe does not work in Russia, so to take payments from customers there you need a Russian provider — and they work fine with a static site on Tuqo. The simplest path is payment links and invoices from the provider's dashboard (YooKassa, T-Bank, CloudPayments): an ordinary link on your site, with no code and no server, and the provider issues the fiscal receipt that Russian law 54-FZ requires. CloudPayments also has a JS widget: card payment right in the browser with a public publicId.

Payment links on any static site; the CloudPayments widget takes payments in the browser · free SSL

What Tuqo + Payments in Russia gives you

  • Payment links and invoices (YooKassa, T-Bank, CloudPayments), no code
  • The CloudPayments widget: card payment in the browser (publicId)
  • One-time payments and subscriptions
  • 54-FZ receipts via the provider's cloud fiscalization, no cash register of your own
1

Set up acquiring

YooKassa, T-Bank or CloudPayments. You need a sole proprietorship or a company registered in Russia; setup takes a couple of days.

2

The simple path: a payment link

Create an invoice or a payment link (single-use or reusable) in the provider's dashboard and put it on the site as a button. No code, no backend; the provider issues the receipt.

3

Or the CloudPayments widget

Embed the JS widget with the public publicId: the card is entered in a secure iframe, and the payment runs from the browser.

4

Production and compliance

Reliable payment confirmation and subscriptions need server-side webhooks. On a static site that means an edge function (planned at Tuqo) or the provider's own cloud tools (cloud receipts and the like).

<!-- CloudPayments: publicId is a public key -->
<script src="https://widget.cloudpayments.ru/bundles/cloudpayments.js"></script>
<script>
  const widget = new cp.CloudPayments()
  widget.charge(
    { publicId: 'pk_xxx', description: 'Order #1', amount: 1000, currency: 'RUB' },
    () => { /* success */ },
    () => { /* declined */ }
  )
</script>

Security

The public publicId (CloudPayments) can live in JS. Secret keys — the T-Bank terminal password, the YooKassa secret, API passwords — belong ONLY on a server; never put them in a static site. The full API (creating a payment with Init, webhooks) is server-side; on static hosting that means an edge function (planned) or the provider's own tools. Under 54-FZ a receipt is mandatory: providers offer cloud fiscalization, and with payment links the receipt is on the provider's side.

Tuqo serves the front end over HTTPS and never touches your data or the service's secrets.

Tuqo + Payments in Russia — frequently asked questions

Can I take payments without a backend of my own? +

Yes, with payment links or invoices (YooKassa, T-Bank, CloudPayments): it is just a link on a static site, and the provider issues the receipt. The CloudPayments widget also takes payments from the browser, but reliable confirmation and subscriptions need a server (webhooks).

What about 54-FZ receipts? +

54-FZ is the Russian law on cash registers: every payment needs a fiscal receipt. Providers offer cloud fiscalization (CloudPayments cloud receipts, for example) so you don't buy a register; with payment links, fiscalization is on the provider's side.

Where do I keep the secret key? +

Never in a static site. Only on a server. The full YooKassa and T-Bank API (Init with a secret) is server-side; on Tuqo that will be a future edge function.

What about Stripe? +

Stripe is for international payments and does not support Russian cards. For Russia, use YooKassa, CloudPayments or T-Bank, as described on this page.

Other integrations