Skip to main content

Autopayments - TRON, TON, BSC, POLYGON [in Admin]

Guide for self-assist activation of auto payments in TRON, TON, BSC, POLYGON networks.

TRON (TRC20), TON, BSC (Binance Smart Chain - BEP20), POLYGON networks - allows your bot to accept auto payments and credit their amounts to the balance of users in the bot.
● Address of payment systems:
- TRON: https://tron.network/
- TON: https://ton.org/
- BSC: https://bscscan.com/
- POLYGON: https://polygon.technology/

AUTO PAYMENTS (accepting payments)
● Identification: Payer's address (wallet). 

● Available currencies:
- TRON: TRX, USDT (any other available Coins and Tokens, upon request)
- TON: TON (any other available Coins and Tokens, upon request)
- BSC: BNB, USDT (any other available Coins and Tokens, upon request)
- POLYGON: MATIC, USDT, USDC, BUSD, BTC, ETH, BNB, DAI (any other available Coins and Tokens, upon request)

● Auto withdrawal: Available for TRON network, Not available for TON, BSC, POLYGON.
📆 Paid monthly (the current cost see while paying).
🔧 Setting up activation: 🔐Admin | 💸Autopayments

AUTO WITHDRAWAL (payouts)
Automatic withdrawal of funds: Available on the TRON network (paid separately✱), NOT available on the TON, BSC, POLYGON networks.
● Payouts are made within the network itself (the user must have a personal Tron wallet).
📆 Paid monthly (the current cost see while paying).
📞 Connection request: via the bot @MegaHubSupportBot section: «🤑 Manage «Auto Withdrawals» in Your Bot».

✱At the moment, connecting and paying for Automatic Withdrawals is carried out manually (perhaps in the future this process will be automated).

IMPORTANT: Connection of auto payments for all presented networks is carried out in a similar way. For this reason, and also because of the reluctance to duplicate information in separate documents, the instructions for all presented networks have been combined into one manual. However, it must be borne in mind that each of the presented networks, being a separate, independent project, and is connected and paid separately.

When we start talking about autopayments in this guide, we assume that you already have a basic knowledge of how to work with the constructor and we do not need to explain to you, for example, how buttons and messages are added to your bot's menu. If, nevertheless, you still need to be explained these basic things, then you way too early attempting to create the autopayment functionality.


❖ Autopayments (accepting payments)


How to organize automatic payment acceptance for TRON, TON, BSC, POLYGON networks in your bot.


Required Functions

The functionality of the «🧩Extensions» section:
if you do not use a variable balance for accruals, then you will need additional variables.
You
need additional variables to store user's wallets addresses.


Add. Variables
To connect, go to your bot:
☞ 🔐Admin | 🧩Extensions | 📂Variables

Guide to Variables.


Autopayments setup

1. Checker settings

Using the setup wizard, enter all the requested data.

1.1 The address of YOUR wallet in one of the networks

The address of your wallet in one of the networks (from the list above) to which you planing to receive payments. The bot will check the incoming transactions of this wallet.

IMPORTANT: To enable the Autopayment functionality (accepting payments), we recommend that you initially create a SEPARATE empty wallet and DO NOT use your main fund storage for these purposes. At this stage, this is not so critical and you, in general, can use any wallet, but if in the future you want to connect Autowithdrawals (payouts), then you will definitely need a SEPARATE NEW WALLET and the Autopayment system will then have to be reconnected to a new address.

After entering the above data, you will see buttons that were not previously in the menu.

2. Pay the checker

Make payment for the amount shown.

Payment for at least a month. Exchange the required amount in TMH on your @MenuBuilderBot account, based on the number of months of activation.
☞ 🔐Admin | 🧩Extensions | 🏦Your Wallets

3. Activate the checker

Turn on the checker to continue the setup.

4. User Addresses

You must specify a Variable to store the wallet address of the user for the network you have chosen to identify his payments.

GUIDE: If you do not understand what the variable is for, read again “Payment Identification Methods”.

5. Balance in XXXX

It is necessary to set Variables - where to accrue funds for each of the available currencies.

If you have only one currency in your bot, then "balance" is usually used. If there are several currencies, then there may be an individual variable for each currency or a single one, but with conversion at the specified rate. Each currency available for autopayments in a particular network, will have a separate button to specify the Balance.

5.1 Specify the variable to be accrued.

For selection, you will be presented with a list of NUMERIC variables available in the Bot.

If you do not have variables, you need to ADD them to the bot and CREATE - how to do this is described above.
The number of variables you have in the bot should correspond to the number of currencies you plan to accept on different balances in the bot.

5.2 Specify the accrual rate.

Top-up sum will be multiplied by the Rate provided. You can use Expression and macros of Automatic Rates here (they not necessarily have to be purchased in this bot).

What is the Accrual Rate and how to use it.
You can use your own token within your project and its rate may not directly correspond to the replenishment currency, so you can set your own rates and accrue the sum of replenishment immediately in the internal token.
Using the Accrual Rate, you can set a commission for replenishment in a particular currency, and the commission may be different for each of the currencies.
If you have a single balance, and replenishment is made using different currencies, then by specifying one variable you can add different currencies there - automatically converting them using rates and bringing them to a single form (for example, converting everything to USDT).

5.3 Specify the referral bonus.

The size of the referral bonus is determined AFTER the calculation of the amount of actual accrual, taking into account the previously specified Rate.

6. Show Total

During autopayments, the group you specified (see below) will receive reports with the data of a specific autopayment. If you want to be shown the total amount on the balance of your wallet in a separate message, then leave this option enabled.

Enables showing the total amount on the wallet balance during autopayments.
Modes:
Off ⏹️ - the function is disabled (the total amount is not shown).
On ▶️ - the function is enabled (the total amount is shown) - DEFAULT.


Set up a report group for autopayments

As it is mentioned above, during autopayments, reports with the data of a specific replenishment will be sent to the group you specified. In order for the bot to know which group to send reports to, it must be specified in the settings.

To specify a group, go to your bot:
☞ 🔐Admin | 💸Autopayments | Top-up Group/Channel

Set Top-up Group/Channel

Information on how to add a group, see the Groups Manual - the concept is the same.

Group/Channel is Public

The option determines what kind of data will be present in the report. Reports for public groups do not contain personal user data.

Choose the type of group specified for sending reports.
Modes:
Off ⏹️ - groups private (all data)
On ▶️ - public group (without personal data)

Set Custom Top-up Message

Here you can set your own message for the autopayment report. All the macros of your bot are available in the message, and there is also a list of additional macros that is indicated in the instructions when entering the setting.


How to organize Autopayments in your bot's menu

How to organize autopayment for TRON, TON, BSC, POLYGON networks.

If you have already enabled automatic payments (for the networks listed above) in your bot, you need to create a way for people (your users) to automatically top-up. What is needed for this:

Almost all you need in the bot is a button with the «Variable Input» form, using this button, your users will save the address of THEIR wallet (for identification) - from which they will pay and a message with the address of YOUR wallet (so they know where to pay). Name the button as you wish, for example, «Enter Your Wallet Address», and it is desirable to either show the message after the input form, or create a separate button for it, protected by the condition that checks whether the user’s wallet address is entered for identification. Here we describe the second method.

1. Create a common button. Name it: «Top-up the Balance».

2. Inside the «Top-up the Balance» button, create two more buttons:
«Payment Address»
«Enter Your Wallet Address»

2.1 In the message of the «Payment Address» button, show the address of YOUR wallet (which you indicated in paragraph 2 when ordering auto payment). Users will have to make a transfer to this address.

To the button itself, you can add a Condition for displaying content that checks for the presence of the entered your user's wallet address - which will be used to identify the payment.
For example: {%wallet% != ""}
Where %wallet% is the macros of the variable specified by you in paragraph 4 when ordering auto payment.

The condition is necessary so that the user does not receive an address and cannot make a transfer before entering the address of his own wallet to identify the payment.

2.2 In the «Enter Your Wallet Address» button, create the «Variable Input» form. In the initial message of the form, ask the user to enter the address of the wallet from which he will pay (and which will be used to identify the payment).

Also, for the convenience of the user, in this message you can show the current, saved wallet address (possibly entered by the user earlier) - this will give him the opportunity to check which wallet was entered and not enter it again.

BE SURE to explain to your users that they cannot pay by withdrawing funds from exchanges and any other custodial systems - such payments will not be identified, because exchanges use their own wallets for withdrawal and they do not match the addresses to which users make transfers when depositing funds to exchanges. IN A LOT OF CASES, THEY DON'T THINK IT UP TO THIS - OURS DON'T. Good luck with this. 😁

The wallet address entered by the user can be checked (NOT REQUIRED). For this, the advanced functionality of forms is used.

The functionality of the «🧩Extensions» section: the entered data is checked for compliance with the Condition.

Conditions of Forms
To connect, go to your bot:
☞🔐Admin | 🧩Extensions | 📂Forms

TUTORIAL: For more information on how to check the wallet address for each of the networks, see the tutorial “Examples of conditions in Forms”.

• • •

Obviously, all this can be done more beautifully, but the manual is written for those who, without outside help, cannot create this functionality and they do not need additional difficulties when creating it. The rest, can create a Form in a way they need.

• • •

FOR REFERENCE: see how autopayment for available networks is organized in our system. 
To do this, go to your bot:
🔐Admin | 🧩Extensions | 🏦Your Wallets | 💳Top-up


❖ Error messages


FAILED❗️ 🆘 No user comment

This error appears if the user was not identified.

And so, once again: the user can be identified ONLY by the wallet address. If the wallet address in the TRANSACTION (in the blockchain) does not match the wallet address stored by him in the VARIABLE - the bot will show an error and nothing will be added to the Balance.

Reasons why the user was not identified:
1. The user did not set the wallet address at all.
2. The user set the wallet address AFTER he made the transaction.
3. The user made a transaction from crypto-exchange or other type of custodial wallet.

The most common reason is that users send transfers from exchanges or custodial wallets, so wallet addresses do not match.

To make sure that the wallet addresses does not match, you must:
1. Find the transaction on the blockchain using the TXID (hash) of the transaction (you can get it directly in the error message).
2. See the wallet address from which this transaction was actually sent.
3. Using the «/varget var_name user_id» command, you should see what wallet address your user has actually saved in his variable.
4. If these addresses do not match, you explain to the user everything that we have just explained to you here.


FAILED❗️ 🆘 Multiple users found

This error appears if SEVERAL accounts in your bot have specified the SAME wallet to identify their payment. The bot does not know which of them to credit.

Sometimes users indicate the addresses of crypto-exchanges from where those exchanges making withdrawals.
Sometimes users specify the same wallet for several of their accounts.

To correct the situation, find out from the user what address he indicated, where he got it and whether he used it for another account. Remove matching addresses in variables for all but one account.

❖ Autowithdrawals (payouts)


Withdrawals (semi-automatic)

If you have Autopayments functionality, you may need a button to withdraw funds. The button allows you to automatically debit funds from the variable you specify where the user’s Balance is stored. The actual transfer of funds to the user’s external wallet is carried out manually by the administrator. The button allows you to partially facilitate the withdrawal process by limiting yourself to solely transfers, as well as maintaining a kind of history (Log) of withdrawals in a separate group where withdrawal requests will be send.

For more information about working with the Withdraw Button, see the manual.


Withdrawal of funds (automatic with admin confirmation)

The functionality of automatic withdrawal of funds is available for the TORN network payment system.

IMPORTANT: Do not attempt to negotiate the connection of Automatic Withdrawals until you fully understand how the Withdraw Button works in semi-automatic mode.

If you have fully understood how the Withdraw Button works - you have at least one such button connected, configured and already working for some time, you can consider the option of activating automatic withdrawals

IMPORTANT: for automatic payments to work on the TRON network, the “Private Key” of the wallet is required, this is the only way to access funds and make withdrawals on behalf of the system. For this reason, you will need to have a SEPARATE EMPTY WALLET with a separate private key.

We emphasize: AUTOMATIC WITHDRAWALS SHOULD BE MADE FROM A SEPARATE EMPTY WALLET TO WHICH YOU WILL BE TRANSFERRING SMALL, REQUIRED AMOUNT OF FUNDS.

Never connect automatic payments to your main wallet, which stores the main funds of your project.

GENERAL RULE: Never, under any circumstances, provide Private Keys and Seed Phrases from your main wallets to anyone. That is why we demand and once again emphasize - for automatic payments you will need to create a SEPARATE EMPTY wallet on which you will store insignificant amounts only for the purposes of automatic withdrawals.

The @MenuBuilderBot project will never ask for Private Keys from your main wallets. Whoever does this is a scammer.

That is, you start a separate wallet for withdrawals and replenish it as needed in small amounts. If you don't know how to get the Private Key of a new wallet, we can create such a wallet for you. In any case, the system SHOULD know the Private Key, so such a wallet cannot be considered a reliable storage and used for some other purpose, in this regard, it does not really matter who we or you will create it.

In further instructions for connecting Automatic Withdrawals (payouts), we assume that Autopayments (payments receival) are ALREADY connected to your own separate wallet that is not a main storage for the project’s funds. If this is not the case, then you will need to return to the beginning of this guide, connect Autopayments to a new empty wallet and then continue creating the Autowithdrawal functionality.

Data required for the Auto-Withdrawal function to work

For the TRON system: 
 • Wallet's Private Key

How to connect withdrawal of funds in automatic mode

1. Log into your wallet on the Tron network that you use for Autopayments.
2. Copy its “Private Key”.
3. Go to the bot @MegaHubSupportBot section: «🤑 Manage «Auto Withdrawals» in Your Bot».
4. Read and agree to all Terms (done once).
5. Select the desired system to place an order to activate Automatic Withdrawals.
6. Top up the TMH wallet of your account with the specified amount (payment is done monthly, in manual mode at this time. Payment for the first month is a connection fee and is NOT refundable, even if you change your mind about using Auto Withdrawals).
7. Enter all the data necessary for connection and send a request to activate Automatic Withdrawals.

8. Wait for a response from the Admins about the activation of Automatic Withdrawals (a sign of activation may be the appearance of a PayID list for each of the currencies you specified in the «💸 Autopayments» section for the system you have chosen).

9. After activation, go to the «💸 Autopayments» section.
10. Select the section of the payment system you just activated for Automatic Withdrawals.
1
1. For each currency you use, in the «Balance XXX» button, indicate the MAXIMUM amount available for automatic withdrawals (payouts).

Indicating the maximum amount available for automatic withdrawals is necessary in order to minimize the possible consequences of errors in accidental or thoughtless confirmation of payouts. Auto-withdrawals are irreversible. That is why, we suggest you withdraw large amounts manually in a semi-automatic mode.

12. In the settings of the «Withdraw Button», the «Set PayID» section will appear - allowing you to associate a specific Withdraw Button with a specific currency. One button works with one currency.
13. After setting, BE SURE to test the operation of the button on a small amount.
14. A reminder about monthly payment will be sent to the @MegaHubSupportBot bot and/or to the head bot @MenuBuilderBot of the project.

IMPORTANT: If your Automatic Withdrawals functionality was disabled for non-payment, reconnection is paid separately from the monthly fee.