> ## Documentation Index
> Fetch the complete documentation index at: https://ownpay.org/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> OwnPay is licensed under AGPL-3.0 and is completely free - no licensing fees.
> Production docs URL: https://ownpay.org/docs - append .md to any page URL for clean markdown.
> OwnPay requires PHP 8.3+, MySQL/MariaDB, and Redis.
> MCP server available at https://ownpay.org/docs/mcp for programmatic documentation queries.
> Use root-relative links (e.g. /quickstart) for internal navigation - do NOT include /docs prefix.
> Plugin development: consult /developer/plugins/ pages for correct interfaces and manifests.
> Canonical locations: API auth = /api/authentication, webhook verification = /api/webhooks, rate limits = /resources/rate-limiting, transaction statuses = /fundamentals/payment-flow.
> The documentation uses the Diataxis framework: Tutorials (learning), How-to (tasks), Reference (lookup), Explanation (understanding).

# SMS Center

> Monitor incoming payment SMS logs from the companion app, and manage outbound notification SMS queue status from the SMS Center.

The SMS Center gives you a centralized view of SMS activity across your OwnPay instance. You can review incoming **payment confirmation** messages forwarded by the [companion app](/docs/mobile/companion-app), inspect outbound notification SMS (if configured), and monitor queue health.

<Note>
  The companion app only forwards **incoming payment receipt SMS** (for example, bKash/Nagad/Rocket confirmations). OTP messages, personal SMS, and all other non-payment SMS are filtered on-device and never reach your OwnPay server. The SMS Center only displays messages that passed this filter.
</Note>

## View SMS logs

Navigate to **Notifications > SMS Center**. The main table displays every SMS processed by the system.

| Column           | Description                                           |
| ---------------- | ----------------------------------------------------- |
| **Phone number** | Sender or recipient number                            |
| **Direction**    | Incoming (from companion app) or Outbound             |
| **Transaction**  | Linked transaction ID, if matched                     |
| **Gateway**      | Payment gateway that triggered the SMS, if applicable |
| **Status**       | Processed, queued, failed, or ignored                 |
| **Timestamp**    | When the SMS was received or sent                     |

Use the search bar to filter logs by **phone number** or **transaction ID**. The date range picker lets you narrow results to a specific period.

## Incoming SMS

Incoming SMS arrive from Android companion apps via the [Mobile API](/docs/api/overview). When a device receives an SMS, the companion app's on-device privacy filter checks whether it looks like a payment confirmation. Only payment receipt SMS are forwarded; all others (OTP, personal, promotional) are silently discarded. The system then attempts to match the forwarded message against active [SMS verification templates](/docs/mobile/sms-templates) and auto-complete the associated transaction.

<Info>
  Incoming payment SMS that do not match any template are still logged for auditing purposes. You can review unmatched messages to identify templates that need updating.
</Info>

## Outbound SMS

Outbound SMS are sent when your gateways or addons trigger customer-facing text messages. The SMS Center shows the delivery queue status for each outbound message:

<Columns>
  <Column>
    **Queued** - Waiting to be sent

    **Sent** - Handed off to the SMS provider
  </Column>

  <Column>
    **Delivered** - Provider confirmed delivery

    **Failed** - Delivery failed; check the error column
  </Column>
</Columns>

## SMS template testing

You can send a test SMS directly from the SMS Center to verify that your templates and gateway routing work correctly. Enter a phone number, select a template, and click **Send Test**. The message appears in the log with a `test` label.

## Queue status

The **Queue Status** card at the top of the page shows real-time counts:

* Messages waiting in the queue
* Messages sent in the last hour
* Messages failed in the last hour

If the failed count rises unexpectedly, check your SMS provider credentials and gateway configuration.

## Related Pages

* [SMS Templates](/docs/mobile/sms-templates) - Create and manage regex-based verification templates
* [SMS Verification](/docs/gateways/sms-verification) - Full auto-verification flow documentation
* [Companion App](/docs/mobile/companion-app) - Set up Android devices for incoming payment SMS forwarding


## Related topics

- [SMS Templates](/docs/mobile/sms-templates.md)
- [Companion App](/docs/mobile/companion-app.md)
- [Devices](/docs/mobile/devices.md)
- [SMS auto-verification](/docs/gateways/sms-verification.md)
- [Retry Outbound SMS](/docs/api-reference/retry-outbound-sms.md)
