kkapil9112/Hguuuuuv45botPublic · Bot Template
AITelegram commerce bot for an admin-managed digital store: admins create categories, products, time-based plans, stock entries and license keys, and can grant reseller roles or adjust user balances. End users can view their balance, start a deposit flow with an inline amount keypad, apply coupon codes, and navigate back to the store menu. It uses Bot properties for product/stock/coupon data and Libs.ResourcesLib for per-user balances.
Commercecommerceshopreselleradmin-panelbalanceproduct-management
102 commands0 envUpdated 29d agoCreated Aug 7, 2026
commands/_onPreCheckoutQuery.js
javascript · 40 lines
1/**#command2name: /onPreCheckoutQuery3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12// =========================================================13// ⭐ Handles Telegram's pre_checkout_query event (Stars payments).14// MUST answer within 10 seconds or the payment is auto-cancelled by Telegram.15// ⚠️ PLATFORM NOTE: This file assumes Bots.Business routes incoming16// pre_checkout_query updates to a command named "/onPreCheckoutQuery" or17// exposes it via `request.pre_checkout_query`. If this event isn't reaching18// this file in testing, the same handling logic is duplicated as a fallback19// inside _start.js (which appears to be the platform's general message router).20// =========================================================21 22try {23 var pcq = (request && request.pre_checkout_query) ? request.pre_checkout_query : null;24 if (!pcq) { return; }25 26 // ✅ Always approve — our payloads are self-validated at successful_payment time.27 // (If you later want to reject e.g. out-of-stock items, check pcq.invoice_payload here first.)28 HTTP.post({29 url: "https://api.telegram.org/bot" + bot.token + "/answerPreCheckoutQuery",30 body: {31 pre_checkout_query_id: pcq.id,32 ok: true33 }34 });35 36} catch (err) {37 try {38 Bot.sendMessage("⚠️ PreCheckout Error: " + err.message);39 } catch (e2) {}40}