SMS credit and pricing
Project SMS balances, credit purchases, commission and tax, and multipart message costs
SMS credit belongs to each project separately. Open SMS service → Overview for balances and Buy credit for top-ups.
Balances
| Balance | Meaning |
|---|---|
| Total | Credit held in the project SMS wallet |
| Reserved | Credit allocated to messages awaiting a final send result |
| Available | Total minus reserved; determines whether a new message can be sent |
Reservation is not a final debit. The cost is finalized when the provider accepts sending. If sending ultimately fails after system attempts, the reservation is released.
Purchase credit
- Enter the requested credit amount.
- Review the minimum top-up, commission, tax, and payable amount.
- Complete payment, then check order status and the wallet.
This area uses rial. Ten rial equal one toman. The payment can exceed the wallet credit because commission and tax are separate.
Payable = purchased credit + purchase commission + purchase tax
Both commission and tax are calculated on the purchased credit amount. Read current rates, minimum amounts, and tariffs in the dashboard. Review previous purchases in order history; the gateway return message alone does not establish the final order state.
Monthly free credit
Overview displays the configured monthly free credit. It is a monetary amount, not a fixed number of messages. Sending capacity depends on tariffs and segment counts. The current implementation uses a Gregorian monthly period for this credit, separate from the account's Jalali billing period.
Sending cost
Message cost = final-body segments × per-segment tariff
Persian and other Unicode messages allow 70 UTF-16 units for a single segment, then 67 per segment for multipart messages. GSM-compatible messages allow 160 units for a single segment and 153 per segment for multipart messages.
| Final-body length | Segments |
|---|---|
| Unicode, 70 units | 1 |
| Unicode, 71 units | 2 |
| Unicode, 135 units | 3 |
| GSM, 160 units | 1 |
| GSM, 161 units | 2 |
Units are not always visible characters. Some symbols and emoji use multiple units. Persian content selects Unicode encoding. Customer names, links, and discounts count toward the final body.
Insufficient credit
An unaffordable message is recorded as insufficient balance and is not sent. After topping up, inspect logs and resend if appropriate. A top-up does not automatically resend every failed message.
Next: logs and troubleshooting.