This algorithm describes payment verification for Cryptomus / Heleket in TV Team.
Payment system in TV Team: Cryptomus All Crypto [ BONUS +3% ] (psId=24).
Do not apply this algorithm for direct TON / USDT TON, Trybit, or Plisio.
If the user explicitly named another payment method, stay in that method's branch.
Apply if at least one condition is met:
CryptomusHeleketCryptomus / HeleketTV Team data shows a disputed payment related to psId=24Generic words like crypto, txid, hash, address, network, wallet by themselves do not select Cryptomus / Heleket.
If the exact payment system is not named, first clarify: TON / USDT TON, Cryptomus, Trybit, Plisio, or another method.
For the typical user case I paid via Cryptomus/Heleket, payment did not arrive, balance not replenished, the bot should not start by asking for a UUID or order_id.
The bot already has enough tools to first check the case by user.
The procedure is strictly:
get_current_datetime and record the real server time.api_request with apiAction=getUserId and the user’s userLogin.api_request with apiAction=getLastPayments and the user’s userLogin.api_request with apiAction=getUserBalance.heleket_lookup with action=list, from_date, to_date, and the user's user_login.Heleket payments with TV Team payments by UUID / psPaymentId / order_id, date, amount, and status.TV Team, what to do next.Use UUID or order_id as a clarification:
UUID / order_idIf a regular user sends a UUID / order_id, still do not disclose details of someone else’s payment until ownership is confirmed through TV Team or heleket_lookup action=list for that user.
For Heleket/Cryptomus, payment/info accepts only uuid or order_id; there is no direct txid -> payment search in the merchant API.
To search by hash, use heleket_lookup action=txid:
txid / search — blockchain hashdate_from / date_to — search periodThe endpoint scans payment/list for the period and looks for a match in the txid field.
If date is unknown, do not guess a large period without necessity: ask for an approximate date/period or use already known payment context.
If heleket_lookup action=txid found payment by hash, do not write additionally that this hash was not found in TON/Plisio/Trybit, unless the moderator requested a full cross-provider audit.
Respond about the found Cryptomus/Heleket payment:
To verify credit in TV Team you need the client login.Do not end with phrases like If you want, I can....
After get_current_datetime, compare payment time with current time.
If less than 30 minutes passed and the payment at provider is not yet final, usually say that the payment is still being processed.
But if for the user a final provider status or record in TV Team is already visible, do not reply with the template wait 30 minutes; give factual output based on found data.
In TV Team log:
paymentIdpsPaymentId / UUIDpaymentStatusIn Heleket log:
uuidorder_idinvoice_amount_usdprovider_amount_usd / payment_amount_usdtxid, if present and ownership confirmedcheck / process / confirm_checkPayment is not yet final. Inform that provider is still processing the payment. If less than 30 minutes passed, do not resend.
cancel / failPayment is cancelled or failed. No credit will be made; user needs to create a new payment.
paidPayment is paid against invoice.
TV Team record exists with paymentStatus=1, inform that payment is already creditedpaymentStatus=0, can call heleket_resend and then recheck TV Teamwrong_amountwrong_amount — regular final partial payment, not an API error.
Need to compare:
invoice_amount_usdprovider_amount_usd / payment_amount_usdTV TeamNormal result on underpayment:
TV Team credits the actually received amount recalculated in USDTV Team may differ from provider amount due to rate, commission, bonus, or internal recalculationUUID automaticallyIf a record in TV Team already exists and paymentStatus=1, resend is not needed.
If no record or paymentStatus=0, can call heleket_resend and then recheck TV Team.
Confirmed conclusion: wrong_amount is credited by the actually received sum; if payment already processed in TV Team, resend is not needed.
paid_overpaid_over — regular final overpayment.
The bot must compare:
TV TeamIf payment already exists in TV Team, do not promise resend will automatically credit overpayment.
In case of dispute transmit to the moderator the facts: invoice amount, provider amount, TV Team amount.
Use heleket_resend only for final statuses: paid, paid_over, wrong_amount.
Do not resend if:
30 minutes passed and status still processingTV Team with paymentStatus=1After resend always recheck TV Team.
Do not disclose UUID/order_id details to regular users until ownership confirmed:
TV Teamheleket_lookup action=list for this user and periodFor mod/admin, analysis of others' payments is done via moderator_flow.
Give the user a short summary:
TV TeamDo not write nothing found until you have checked the latest user payments in TV Team and the Heleket list for the user and period.
In the moderator response to a payment case, immediately show client identification if known from request or provider data:
client: <login>client: userId <id>client: <login> / userId <id>This rule is for the moderator work summary. In the What to answer the client block, do not write internal userId/order_id unless the client named them.