InAppify

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

BalanceMeaning
TotalCredit held in the project SMS wallet
ReservedCredit allocated to messages awaiting a final send result
AvailableTotal 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

  1. Enter the requested credit amount.
  2. Review the minimum top-up, commission, tax, and payable amount.
  3. 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 lengthSegments
Unicode, 70 units1
Unicode, 71 units2
Unicode, 135 units3
GSM, 160 units1
GSM, 161 units2

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.