Separate balances, transactions and revenue
Stars balances, transaction history, revenue statistics and withdrawable amounts are distinct. Query permissions differ for users, bots and channels. Use current responses and configuration rather than promising a permanent dollar conversion.
Wait for final payment evidence
Invoices, forms, submission and completed payment are separate stages. Stars uses XTR; refunds reference the original charge. This guide covers the MTProto client side. See Bot payments for merchant-side integration.
Subscriptions have renewal states
Cancellation, insufficient balance, expiry and access within a paid period differ. Leaving a channel does not necessarily cancel its subscription; use the explicit subscription-management operation.
Accounting recommendations
Store amounts using the protocol’s integer or amount type, together with currency. Keep payment, fulfillment and refund ledgers separate, and deduplicate by charge identity. Explain price, renewal and cancellation before purchase. A chat message saying “paid” is not settlement evidence.