For the self-hosted network service I am currently using, I still chose ZgoCloud for the server.
I have been using this Los Angeles VPS continuously for about 3 months. When I first purchased it, I chose Alipay for payment, and the whole process was quite simple. After receiving the new renewal invoice this time, instead of continuing to use Alipay, I decided to test ZgoCloud’s newly offered USDT.TRC20 payment method.
I originally just wanted to confirm whether USDT could actually complete the renewal. As it turned out, although the on-chain payment succeeded quickly and CoinPayments explicitly confirmed receipt of the full amount, the ZgoCloud invoice still showed UNPAID for a long time.
Ultimately, I had to submit a Billing ticket for staff to manually process the invoice.
This article documents this complete testing process.
This article records the actual operations performed on August 4, 2026. Cryptocurrency transfers are usually irreversible, so when performing actual operations, you must carefully verify the currency, network, address, and received amount.
1. Continuing to Use ZgoCloud for Self-Hosted Network Services
Three months ago, I purchased ZgoCloud’s Los Angeles VPS to set up my own network service.
The generated renewal invoice information is as follows:
- Product: Los Angeles AMD Optimised VPS – Pro – wireguard
- Invoice amount: $45
- Invoice date: August 2, 2026
- Due date: August 9, 2026
- Renewal period: August 9, 2026 to November 8, 2026
- Invoice number:
20260840507
For my first payment, I used Stripe Alipay, which is Alipay payment integrated via Stripe.
This time, my main goal was to test whether the USDT payment method provided by ZgoCloud actually works.
If you need to know the current plans and prices, you can check them via the “ZgoCloud service page“.

After entering the ZgoCloud Billing page, you can see that the new invoice status is UNPAID, with an amount of $45.

2. Payment Methods Provided by ZgoCloud
After opening the invoice and clicking Pay Now!, you can see that ZgoCloud offered the following payment methods at the time:
- Stripe Alipay
- Stripe Checkout
- PayPal Checkout
- USDT.TRC20
- Credit Balance

After selecting USDT.TRC20, click Pay Now! again.

The page then redirects to CoinPayments.
CoinPayments is the intermediate processing platform for this cryptocurrency payment. The ZgoCloud invoice amount is $45, but the CoinPayments page requires a payment of:
48.32630000 USDT.TRC20

Estimating based on 1 USDT ≈ 1 USD, this is about $3.3263 more than the original invoice amount, equivalent to approximately 7.39% of the invoice amount.
The page does not clearly list the full breakdown of this difference, so it is impossible to determine solely from the page whether it comes from the payment platform’s quote, merchant settings, settlement costs, or other fees.
Since my main purpose this time was to test the USDT payment process, I still decided to proceed.
3. Generating a USDT.TRC20 Receiving Address
After confirming the currency, CoinPayments generated a payment page specifically for this transaction.
The page includes:
- Amount due
- TRC20 receiving address
- QR code
- Payment ID
- Verification Code
- Payment countdown

Special attention is needed here:
- The currency must be
USDT; - The network must be
TRON / TRC20; - You must ensure that the recipient actually receives the full
48.3263 USDT; - The order has a validity period, so you cannot continue paying to the old address after the page expires;
- Do not use other networks like ERC20 or BEP20.
Once a cryptocurrency transfer uses the wrong network, it is usually very difficult to recover.
4. Choosing On-Chain Withdrawal on Binance
I used the Binance mobile app to complete this transfer.
After clicking “Withdraw” in my Binance spot account, the page provided several options:
- Transfer to Binance user
- Withdraw asset
- Withdraw USD
- C2C trading
Here, I needed to select “Withdraw asset”, because CoinPayments provides an external blockchain address, not an internal Binance account.

Next, select the currency USDT.

After scanning the QR code on the CoinPayments page, Binance automatically recognized the address and displayed the main network as TRX.

Here, TRX refers to the TRON network.
The withdrawn asset is still USDT, the full meaning being:
USDT on TRON
USDT.TRC20
The Binance page also suggested that using the BSC network has lower fees, but this is merely a recommendation from Binance.
The CoinPayments order specifies USDT.TRC20, so you cannot switch to BSC just to save on fees. Whatever network the receiving platform specifies, you must select the same network when withdrawing.
5. You Cannot Just Enter 48.3263 USDT Directly
CoinPayments requires:
Actual received amount: 48.3263 USDT
However, the Binance withdrawal fee for the TRON network is:
1.5 USDT
I initially entered 48.3263 USDT directly, and the Binance page showed:
- Withdrawal amount: 48.3263 USDT
- Network fee: 1.5 USDT
- Received amount: 46.8263 USDT

If I had submitted directly at this point, the amount received by CoinPayments would have been insufficient, and the invoice would likely not have been completed automatically.
Therefore, the network fee must be factored in additionally:
48.3263 + 1.5 = 49.8263 USDT
After adjusting the withdrawal amount to 49.8263 USDT, Binance showed:
- Withdrawal amount: 49.8263 USDT
- Network fee: 1.5 USDT
- Received amount: 48.3263 USDT

This point is the most error-prone part of the entire payment process.
CoinPayments displays the amount the merchant needs to receive, while the amount in the Binance input box includes the network fee that is about to be deducted. When operating, you must base your actions on the “Received amount” at the bottom of the Binance page.
6. Confirming the Network, Address, and Amount
After entering the final confirmation page, Binance once again displayed the transfer details:
- Received amount: 48.3263 USDT
- Main network: Tron (TRC20)
- Withdrawal amount: 49.8263 USDT
- Network fee: 1.5 USDT
- Receiving address: Matches the CoinPayments page

After confirming that all the following details were correct, I swiped to submit:
Asset: USDT
Network: Tron (TRC20)
Actual received amount: 48.3263 USDT
Receiving address: Exactly matches CoinPayments
Memo/Tag: Not required
7. Binance Completes the Transfer Quickly
After submitting, Binance first showed “Withdrawal processing”, estimated to complete in about a minute or two.

Subsequently, the withdrawal record changed to “Completed”.
The page shows:
- Actual transfer: 48.3263 USDT
- Network: TRX
- Total withdrawal amount: 49.8263 USDT
- Network fee: 1.5 USDT
- Transaction hash: Generated
- Completion time: Around 10:06 on August 4, 2026

This means Binance has sent the USDT to the TRC20 address provided by CoinPayments.
8. CoinPayments Confirms Receipt of Payment
After Binance completed the withdrawal, the CoinPayments page initially still showed the full remaining amount.

After waiting for blockchain confirmations, the CoinPayments page changed to a green “Paid” status.

CoinPayments subsequently sent an email with the subject Payment Funds Received.
The email clearly stated:
- All required funds have been received;
- The received amount is 48.32630000 USDT.TRC20;
- The payment was made to ZgoCloud;
- The Payment status is Complete.

At this point, it can be confirmed that:
Using Binance to transfer USDT via the TRON network, CoinPayments can indeed properly recognize and complete the ZgoCloud payment.
But the problem also started from here.
9. CoinPayments Paid, but ZgoCloud Still Shows Unpaid
After clicking Continue to seller's store on the CoinPayments page to return to ZgoCloud, the invoice status did not change to PAID.
The page still showed:
Status: Unpaid
Balance: $45.00 USD

At first, I thought there was just a delay in invoice synchronization, so I waited for a while.
But from around 10 AM until the afternoon, after more than 7 hours, the invoice still had not updated.
At this point, it could no longer be simply understood as a normal synchronization delay of a few minutes.
It must be emphasized that:
When CoinPayments has already confirmed receipt of the full payment, absolutely do not make another payment just because ZgoCloud still shows Unpaid.
Paying again will only result in duplicate payments, making subsequent handling much more troublesome.
10. Submitting a Ticket to ZgoCloud’s Billing Department
Since the invoice was not automatically reconciled for a long time, I navigated to:
Support Tickets
→ Open New Support Ticket
→ Billing
I provided the following information in the ticket:
- ZgoCloud invoice number
- Payment method
- Amount actually received by CoinPayments
- CoinPayments Payment ID
- TRON transaction hash
- Payment completion time
- Statement that CoinPayments has confirmed the payment
I also requested ZgoCloud to check the CoinPayments callback or IPN records, and to manually apply the payment to the corresponding invoice.

I also uploaded the following payment evidence:
- CoinPayments payment completion email;
- CoinPayments green “Paid” page;
- Binance withdrawal completion record;
- Page showing the ZgoCloud invoice still as Unpaid.
Since the attachments contained transaction records and account information, I checked the sensitive content encryption option.

The ticket was submitted successfully, with the number:
#578686

After entering the ticket, you can see that the department is BILLING, the status is OPEN, and the body and payment information have been properly saved.

11. ZgoCloud Manually Processes the Invoice
Around 21:15 in the evening, a ZgoCloud staff member replied:
Dear qiang wang,
Manually processed for you.
This means that this payment ultimately required manual processing by staff.

Subsequently, upon opening the invoice again, the status finally changed from UNPAID to the green PAID.
The service period corresponding to the invoice is:
2026-08-09 to 2026-11-08

12. How Much Was Actually Paid This Time
The original invoice amount was:
45.00 USD
CoinPayments required actual receipt of:
48.3263 USDT
Binance charged a TRON network fee of:
1.5 USDT
Therefore, the total amount I actually spent on Binance was:
49.8263 USDT
Estimating roughly based on 1 USDT ≈ 1 USD, compared to the original $45 invoice, the extra amount spent was:
49.8263 - 45 = 4.8263
The total cost is about 10.73% higher than the invoice face value.
Therefore, from a purely cost-saving perspective, this USDT.TRC20 payment was not a better deal than Alipay.
However, the main purpose of this test was not to save money, but to confirm:
- Whether ZgoCloud’s USDT.TRC20 portal actually works;
- Whether Binance can transfer directly to a CoinPayments address;
- Whether CoinPayments can automatically recognize the payment;
- Whether ZgoCloud can automatically reconcile the invoice after the payment is completed.
The final test results are:
- Binance transfer: Successful;
- TRON on-chain receipt: Successful;
- CoinPayments receipt: Successful;
- CoinPayments payment status: Complete;
- ZgoCloud automatic invoice reconciliation: Failed;
- ZgoCloud manual processing: Successful.
13. Lessons Learned from This Test
1. You Must Select the Correct Network
CoinPayments specifies USDT.TRC20, so in Binance you must select:
Tron(TRC20)
You cannot select BSC, ERC20, or other networks.
2. Base Your Actions on the “Received Amount”
The fact that CoinPayments requires receiving 48.3263 USDT does not mean you only need to enter 48.3263 in the Binance withdrawal input box.
You also need to factor in the network fee charged by Binance.
3. Not Suitable for Sending a Small Test Transaction First
CoinPayments orders have a fixed amount and a countdown.
Sending a small test amount first may not properly match the invoice, and could instead result in an insufficient payment or require manual processing.
4. Save All Payment Vouchers
You should save at least:
- ZgoCloud invoice number;
- CoinPayments Payment ID;
- CoinPayments Verification Code;
- TRON transaction hash;
- Binance withdrawal completion record;
- CoinPayments payment completion email.
If the merchant’s invoice is not updated automatically, this information serves as crucial evidence for submitting a ticket.
5. Do Not Make Duplicate Payments After CoinPayments is Complete
As long as CoinPayments clearly shows Paid or Complete, it means the funds have reached the payment processing platform.
Even if the merchant backend still shows Unpaid, you should contact the merchant to handle it first, rather than making another payment.
6. Automatic Callbacks May Fail
This time, the processes on Binance and CoinPayments were both smooth; the real problem occurred during ZgoCloud’s invoice synchronization step.
Given that manual processing was ultimately required, it is highly likely that the CoinPayments callback, IPN, or ZgoCloud’s internal invoice association did not complete properly.
This is just the situation I actually encountered this time, and it does not mean every USDT payment will fail. However, it at least shows that when using this payment method, it is best to allow time for manual processing.
14. Summary
This test ultimately proved that ZgoCloud’s USDT.TRC20 payment method can indeed be used to complete payments.
I transferred USDT from Binance to the TRON address provided by CoinPayments. Binance completed the withdrawal quickly, and CoinPayments explicitly confirmed receipt of the full amount.
However, after the payment was successful, the ZgoCloud invoice still showed UNPAID for a long time. After waiting for more than 7 hours, I submitted a Billing ticket, and the staff ultimately manually processed the invoice as PAID.
Therefore, the conclusion of this test can be summarized as:
The USDT.TRC20 payment itself works, but the payment cost is higher than the invoice face value, and there is a risk that the merchant’s invoice cannot be automatically reconciled.
For routine renewals, if Alipay is still available, I will most likely prioritize Alipay.
USDT.TRC20 is more suitable as a backup payment method when bank cards, Alipay, or PayPal are inconvenient to use.
I am still continuing to use this ZgoCloud VPS. If you need to compare plans, datacenters, and payment methods yourself, you can check [ZgoCloud’s current service information].
