Skip to content

Action: Receive payment

This action allows you to receive cryptocurrency payments in your bot automatically and directly through two methods:

  1. External network (Blockchain): Generates a deposit address on the corresponding Blockchain network. Network fees apply.
  2. 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?

  1. Set the currency and network:

    Choose the cryptocurrency you want to receive and its respective network (e.g., USDT, on the TRC-20 network).

  2. 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.

  3. Receive payments:

    The funds sent will be automatically credited to your VisualMaker wallet.

  4. 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

  1. Go to your bot and press 🛠 Edit to enter editor mode.
  2. Select the button or command where you want to add this action, or create a new one.
  3. Click Actions 🌟🎯 New action📥 Receive payment.
  4. 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.

➡️ 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?

  1. 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.
  2. Payment link (Telegram):

    • #ActionID.link#: Link to receive instant and fee-free payments using the VisualMaker wallet.
  3. 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:

  1. Generates a deposit address in TON and a QR code.
  2. Sends this information to the user.
  3. Automatically detects the user's payment, updates their balance, and confirms the deposit.

1. Create the Deposit button

  1. Enter the bot editor by clicking 🛠 Edit.
  2. Create a new button by clicking ✳️ New button | command and name it Deposit.
  3. Click Actions 🌟 to configure the button's actions.

2. Configure actions

a) Action 1: Receive payment
  1. Click 🎯 New action📥 Receive payment.
  2. Click Configure 🛠🧾 Set currency 🧾 and select TON.
  3. Click ↙️ Back ↘️ to return to the button's action menu.
  4. Copy the Action ID of this action, as you will need it shortly.
b) Action 2: Send message
  1. Click 🎯 New action✉️ Send message.
  2. 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 of Receive payment action that you copied earlier.

    Note 2: By including {#ActionIDPayment.qr#}, the QR code image will be attached to the message.

  3. 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
  1. Click 🎯 New action🖥 Receive parameters.
  2. This action does not require configuration, simply activate it by clicking ✅ Activate.
  3. Copy the Action ID of this action, as you will need it shortly.
e) Action 4: Change variable
  1. Click 🎯 New action🗃 Change variable.
  2. 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 of Receive parameters action that you copied earlier.

      Note 2: Remember that parameter 1 contains the amount sent.

  3. Return to the action menu and activate this action by clicking ✅ Activate.

f) Action 5: Send message
  1. Click 🎯 New action✉️ Send message.
  2. 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 of Receive parameters action (Action 3).

    Note 2: Remember that parameter 1 contains the amount sent, and parameter 5 contains the cryptocurrency used.

  3. Return to the action menu and activate this action by clicking ✅ Activate.

g) Final Configuration in the Receive payment Action
  1. Go to the Receive payment action (Action 1), and click Configure 🛠.
  2. Click 🕹 Execute action 🕹 and enter the Action ID of Receive parameters (Action 3). Example:

    #AB123#
    
  3. Return to the action menu and activate this action by clicking ✅ Activate.

Final result

  1. 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).
  2. The user sends TON to the address:

    • The deposit is automatically detected, and details are sent to the Receive parameters action (Action 3).
  3. The user’s balance is updated:

    • The deposited amount is added to the balance variable (Action 4).
  4. The bot confirms the deposit:

    • The user receives a confirmation message (Action 5).

This is how the actions look

VisualMaker crypto deposit example

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.