Lovable, V0, Bolt — a landing page that accepts payments
A ready-made prompt for Lovable, V0 or Bolt. It builds a sales landing page with a payment button that leads to Tegro.Money. No code required.
Prompt
Copy it and paste it into Lovable / V0 / Bolt. Replace the product description in the first line with your own.
I sell: [a short description of the product or service, e.g. "an online photography course for 2900 RUB"].
Build me a landing page with these sections:
1) Hero: large headline, description, a "Buy for [price]" button.
2) Benefits — 3 columns with icons.
3) Social proof — 3 testimonials.
4) FAQ — 4 questions.
5) Final CTA.
Style — modern, minimal, light background.
Technical requirements:
- The "Buy" button POSTs to its own Next.js API route /api/checkout.
- That route must:
* Get a payment URL from Tegro.Money by POSTing to https://tegro.money/api/createOrder/
* Request body: {shop_id, nonce, currency:"RUB", amount:[price], order_id:[uuid], description:[product name]}
* Read shop_id and api_key from process.env.TEGRO_SHOP_ID and process.env.TEGRO_API_KEY
* nonce is Date.now().toString()
* Auth — HTTP header "Authorization: Bearer <sign>", where sign is HMAC-SHA256(request_body, api_key) hex
* IMPORTANT: the signature is computed AFTER JSON.stringify, and you must send exactly those same bytes — otherwise the signature breaks
* Tegro response: {type:"success", data:{url:"..."}} — redirect the client to data.url
* On type:"error" — show desc
After building the landing page, add a README explaining where to put TEGRO_SHOP_ID and TEGRO_API_KEY (get them in the merchant cabinet at https://tegro.money/my/).
Use TypeScript + Next.js App Router + Tailwind.
What to do next
- Lovable/V0/Bolt will produce a finished site.
- Open the
.envfile (Lovable shows it under Settings → Environment Variables). - Sign up at tegro.money and create a shop in your merchant cabinet.
- Copy
shop_idandapi_keyfrom the shop settings — paste them intoTEGRO_SHOP_IDandTEGRO_API_KEY. - While testing — enable "Test mode" in the shop. No real money is charged.
- Once everything works — turn off test mode and start accepting payments.
If something breaks
Tell the AI: "I'm getting the error «Empty required param shop_id», look through the code and find where I went wrong". The prompt already gave the AI everything it needs to know about the API — it will be able to fix it.
Tip. If you want cleaner code or a Stripe-style redirect checkout, see the
Master Prompt for Cursor / Claude Code.