Connect Binance Pay payments
Create a read-only Binance API key, enter your Pay ID, currency and rate in ChatHub, test the connection and automatically credit customer balances.
How Binance Pay works with ChatHub#
When a customer reaches a Top up via Binance Pay workflow step, ChatHub converts the requested wallet balance into the configured currency and reserves a unique decimal amount. The customer sends that exact amount to the shop's Pay ID. ChatHub uses a read-only API key to scan Binance Pay history, match the amount and credit the promised balance.
- 1
Create a System generated (HMAC) API Key/API Secret pair on the Binance account receiving funds.
- 2
Find the shop's Pay ID in Binance Pay.
- 3
Enter the keys, Pay ID, received currency and conversion rate in ChatHub, then test the connection.
- 4
Use a Top up via Binance Pay workflow step and verify one test transfer with the exact amount.
1. Prepare the account and conversion rate#
- 1
A ChatHub account allowed to open and save Administration → Settings → Payments.
- 2
A Binance account that meets Binance's current verification requirements for creating an API key and can receive Binance Pay transfers.
- 3
Decide what one wallet balance unit means. If ChatHub balances are in VND and you receive USDT, set an operating rate such as 1 USDT = 25000 balance units.
- 4
If the key will be IP-restricted, obtain the public outbound IP of the ChatHub server. Keep the server clock synchronized so Binance accepts signed requests.
2. Open API Management in Binance#
- 1
Sign in to the Binance account that will receive funds, then open Account → API Management.
- 2
Review Binance's security notices: protect keys like passwords, restrict trusted IPs when possible, and complete KYC if required.
- 3
Click Create API. Do not choose Create Tax Report API because that key is not intended for ChatHub's Binance Pay history check.
3. Create a read-only HMAC key#
- 1
Under Choose API Key type, select System generated. ChatHub expects an HMAC API Key and API Secret pair, not a Self-generated Ed25519/RSA key.
- 2
Click Next, enter a recognizable label such as ChatHub, and continue.
- 3
Complete Binance's security verification yourself and confirm key creation. This guide did not perform that action on the example account.
- 4
After creation, keep Enable Reading. Do not enable Spot & Margin Trading, Futures, Withdrawals or asset-transfer permissions.
- 5
If Binance offers IP restrictions and the server has a fixed outbound IP, allow only that ChatHub server IP. Securely copy the API Key and API Secret for step 5.
4. Find the shop's Binance Pay ID#
- 1
Open the Binance app with the receiving account, go to Pay, and locate the Pay ID on the Binance Pay profile.
- 2
Copy the numeric Pay ID. ChatHub can also send an email address or phone number, but Pay ID is usually easier to verify and less likely to change.
- 3
To verify the recipient only, start a transfer to that identifier and stop before confirmation. Do not send money merely to create a screenshot.
5. Enter Binance Pay settings in ChatHub#
- 1
In ChatHub, open Administration → Settings → Payments. Expand Binance Pay under Crypto.
- 2
Enter the shop's Binance Pay ID and the new API Key and API Secret.
- 3
Currency received: enter the asset customers must send, such as USDT. ChatHub ignores transfers in other assets.
- 4
Exchange rate: enter how many wallet balance units one Binance currency unit is worth. For example, 25000 means 1 USDT credits 25000 balance units. Use the shop's rate policy, not the screenshot as a live market rate.
- 5
Click Test connection before saving. When the key fields contain a new pair, ChatHub tests that pair; when blank, it tests the stored pair.
- 6
After ChatHub reports that the keys work and history is readable, click Save. Wait for Payment settings saved and confirm the card becomes Configured.
6. Use Binance Pay in a wallet top-up workflow#
- 1
Open Automation → Workflows and add or review a Top up via Binance Pay step.
- 2
Provide the amount in the shop's wallet units. ChatHub divides it by the rate and creates a unique receiving amount with up to four decimal places.
- 3
Keep the Pay ID, transfer amount and currency variables in the customer message so each session receives its exact instructions.
- 4
Tell customers to send the entire amount including decimals. Binance Pay transfers have no bank-style reference text, so the unique amount is how ChatHub matches the payment.
- 5
Review success, error and timeout branches before enabling the workflow for real customers.
7. Verify payment and wallet crediting#
- 1
First click Test connection. A success result means the server can read Binance Pay history; it does not move money.
- 2
Run a test contact to the Binance Pay step and record the requested balance and exact decimal USDT amount.
- 3
From another Binance account, verify the Pay ID and recipient name, then send the exact asset and full amount. This is a real-money transfer, so use a small amount under your internal process.
- 4
Wait for transaction polling, then confirm the workflow continues, the wallet increases by the requested balance and the credit history records Binance as the source.
- 5
For an immediate lookup, the customer may send the Binance transaction ID to the bot; it is accepted only when it matches a real history entry.
8. Troubleshooting#
- 1
Binance rejects the pair: recheck the API Key and API Secret, confirm the key is active, and make sure the secret belongs to that key. Create a new pair if the secret was lost.
- 2
Missing read permission: open Edit restrictions in Binance and turn on Enable Reading; leave unnecessary financial permissions off.
- 3
Blocked by IP: add the ChatHub server's actual outbound IP to the allowlist, or temporarily remove the restriction to isolate the cause and then secure it again.
- 4
Clock error: synchronize the server clock with NTP and retry.
- 5
Network or rate-limit error: confirm the server can reach api.binance.com, inspect DNS/firewall rules, and wait before testing again.
- 6
Keys work but no credit appears: check the configured asset, the complete decimal amount, whether the request is still waiting, and that the transfer happened within 24 hours of opening the request.
- 7
Wrong amount or asset: do not alter transaction data to force a match. Reconcile it manually and follow the shop's refund or manual-credit process.
9. Security and operations#
- 1
Limit who can manage ChatHub Payment settings and Binance API Management.
- 2
Use an IP allowlist when the infrastructure has a fixed address, and periodically confirm the key still has only Enable Reading.
- 3
If exposure is suspected, disable or delete the Binance key, create and test a replacement, then update ChatHub immediately.
- 4
Review the shop's rate regularly. Do not change it during a test without preserving the amount already shown to the customer.
- 5
Reconcile Binance Pay history with ChatHub wallet entries, and never manually credit a transaction the system already applied.