indrajitghosh20006/HgfhhuybotPublic · Bot Template

ProfileTelegram

AIThis bot provides a command‑based admin interface for managing user balances, products, and resellers. It supports adding balances via UPI or Binance Pay, approving payments, and configuring product details and categories. The bot also handles user role changes, stock uploads, and offers a simple calculator UI for entering amounts. All interactions are handled through short commands and inline keyboards, with no long‑running listeners or external frameworks.

Utilityadminbalanceproductresellerpaymentupi
138 commands0 envUpdated 15h agoCreated Sep 27, 2026
Back to folder

commands/_onPreCheckoutQuery.js

javascript · 40 lines

Raw
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}