Action: Receive payment¶
This action allows you to receive cryptocurrency payments in your bot automatically and directly through two methods:
- External network (Blockchain): Generates a deposit address on the corresponding Blockchain network. Network fees apply.
- Internal network (Telegram): Generates a link to receive instant deposits from other VisualMaker wallets. No fees apply.
Deposits are credited directly to your VisualMaker wallet.
How does this action work?¶
-
Set the currency and network:
Choose the cryptocurrency you want to receive and its respective network (e.g., USDT, on the TRC-20 network).
-
Generate an address or link:
-
External network (Blockchain): You will get a deposit address (and a QR code), and a Memo if required.
-
Internal network (Telegram): You will get a deposit link to receive instant and fee-free transfers from another Telegram user through their VisualMaker wallet.
-
-
Receive payments:
The funds sent will be automatically credited to your VisualMaker wallet.
-
Execute an action upon receiving the payment:
Configure an action of type Receive parameters to be automatically executed upon deposit completion and receive payment data for use in other actions.
How to configure this action?¶
1. Create the action¶
- Go to your bot and press
🛠 Edit
to enter editor mode. - Select the button or command where you want to add this action, or create a new one.
- Click
Actions 🌟
→🎯 New action
→📥 Receive payment
. - Click
Configure 🛠
to set it up.
2. Configure the options¶
➡️ Set currency
¶
Select the cryptocurrency (and network) you want to receive payments in (e.g., TON
).
-
Or set the currency manually:
- Manually enter the deposit currency name (e.g.,
BTC
). - If the currency has multiple networks, enter the preferred network after the currency name, separated by a colon (e.g.,
USDT:TRC-20
). - You can use expressions and IDs from other actions to dynamically set the currency.
- Manually enter the deposit currency name (e.g.,
➡️ Execute action
¶
Enter the Action ID of the action that will execute upon deposit receipt. It must be of type Receive parameters to capture payment data, and should be isolated by a separator.
3. Activate the action¶
Click ✅ Activate
to enable this action.
What does this action return through its ID?¶
-
Deposit address (Blockchain):
#ActionID.address#
: Generated deposit address.#ActionID.memo#
: Memo for the generated address (if applicable).#ActionID.qr#
: QR code corresponding to the address.
-
Payment link (Telegram):
#ActionID.link#
: Link to receive instant and fee-free payments using the VisualMaker wallet.
-
Currency and network information:
#ActionID.currency#
: Currency used for the deposit (e.g.,USDT
).#ActionID.network#
: Network of the deposited currency (e.g.,ERC-20
).
Replace
ActionID
with the Action ID of this action (Receive payment
).
Parameters sent to the Receive parameters
action¶
Upon deposit receipt, the configured Receive parameters action will execute. Through it, you can obtain details about the completed deposit.
- Amount sent:
#ActionIDRecParam.param1#
- Credited amount:
#ActionIDRecParam.param2#
- Credited amount in USD:
#ActionIDRecParam.param3#
- Fee charged:
#ActionIDRecParam.param4#
- Currency used:
#ActionIDRecParam.param5#
- Network used:
#ActionIDRecParam.param6#
- User ID:
#ActionIDRecParam.param7#
- TXID:
#ActionIDRecParam.param8#
Replace
ActionIDRecParam
with the Action ID of the action of type Receive parameters you created.
Practical example: Receiving payments in TON¶
In this example, we will create a button called Deposit
that:
- Generates a deposit address in TON and a QR code.
- Sends this information to the user.
- Automatically detects the user's payment, updates their balance, and confirms the deposit.
1. Create the Deposit
button¶
- Enter the bot editor by clicking
🛠 Edit
. - Create a new button by clicking
✳️ New button | command
and name itDeposit
. - Click
Actions 🌟
to configure the button's actions.
2. Configure actions¶
a) Action 1: Receive payment¶
- Click
🎯 New action
→📥 Receive payment
. - Click
Configure 🛠
→🧾 Set currency 🧾
and selectTON
. - Click
↙️ Back ↘️
to return to the button's action menu. - Copy the Action ID of this action, as you will need it shortly.
b) Action 2: Send message¶
- Click
🎯 New action
→✉️ Send message
. -
Click
Configure 🛠
→💬 Set message 💬
and enter:{#ActionIDPayment.qr#} Send TON to the following address: {#ActionIDPayment.address#} Use the following memo: {#ActionIDPayment.memo#} If you prefer to pay without fees, use this link: {#ActionIDPayment.link#}
Note 1: Replace
ActionIDPayment
with the Action ID ofReceive payment
action that you copied earlier.Note 2: By including
{#ActionIDPayment.qr#}
, the QR code image will be attached to the message. -
Return to the action menu and activate this action by clicking
✅ Activate
.
c) Add a Separator¶
Click New separator 📍
to add a separator at the end and create a new action block. Learn about separators.
d) Action 3: Receive parameters¶
- Click
🎯 New action
→🖥 Receive parameters
. - This action does not require configuration, simply activate it by clicking
✅ Activate
. - Copy the Action ID of this action, as you will need it shortly.
e) Action 4: Change variable¶
- Click
🎯 New action
→🗃 Change variable
. -
Click
Configure 🛠
and set the following:- Select variable: Enter
balance
. - Modification type: Select
🔺 Increment 🔺
. -
Value to save: Specify the value to increase, enter:
{#ActionIDRecParams.param1#}
Note 1: Replace
ActionIDRecParams
with the Action ID ofReceive parameters
action that you copied earlier.Note 2: Remember that parameter 1 contains the amount sent.
- Select variable: Enter
-
Return to the action menu and activate this action by clicking
✅ Activate
.
f) Action 5: Send message¶
- Click
🎯 New action
→✉️ Send message
. -
Click
Configure 🛠
→💬 Set message 💬
and enter a confirmation message for the user:✅ We have received your deposit of {#ActionIDRecParams.param1#} {#ActionIDRecParams.param5#}.
Note 1: Replace
ActionIDRecParams
with the Action ID ofReceive parameters
action (Action 3).Note 2: Remember that parameter 1 contains the amount sent, and parameter 5 contains the cryptocurrency used.
-
Return to the action menu and activate this action by clicking
✅ Activate
.
g) Final Configuration in the Receive payment
Action¶
- Go to the
Receive payment
action (Action 1), and clickConfigure 🛠
. -
Click
🕹 Execute action 🕹
and enter the Action ID ofReceive parameters
(Action 3). Example:#AB123#
-
Return to the action menu and activate this action by clicking
✅ Activate
.
Final result¶
-
The user clicks the
Deposit
button:- The bot generates a deposit address using the
Receive payment
action (Action 1) and sends a message with the deposit address, QR code, and internal deposit link (Action 2).
- The bot generates a deposit address using the
-
The user sends TON to the address:
- The deposit is automatically detected, and details are sent to the
Receive parameters
action (Action 3).
- The deposit is automatically detected, and details are sent to the
-
The user’s balance is updated:
- The deposited amount is added to the
balance
variable (Action 4).
- The deposited amount is added to the
-
The bot confirms the deposit:
- The user receives a confirmation message (Action 5).
This is how the actions look¶
Important notes:¶
-
External addresses (Blockchain):
- They never expire, and you can receive multiple deposits at the same address.
- Deposits may take a few minutes to be credited, depending on the network.
-
Internal links (Telegram):
- They expire in 90 days but can be used multiple times while active.
- Payments are instant and fee-free.
-
Available currencies:
Check the available currencies for deposit by visiting your VisualMaker wallet.
-
Using Memo:
Some currencies (such as
TON
) may require a Memo. This is mandatory for the deposit to be correctly credited to your VisualMaker wallet. If required and not included, funds will not be credited.