Skip to main content
PayBridgeNP sends transactional SMS to your customers’ Nepali phone numbers for the events your business cares about - successful payments, failed payments, refunds, and invoice reminders. Every send (and every suppression) is logged so you can verify what went out and why.
Free is sandbox-only for SMS - the dispatcher logs each live-mode event as skipped_free_plan so you can see what would have gone out, but never contacts the provider. Growth and Pro include a monthly allowance of live SMS receipts (200 and 1,000 respectively) - see Plans and limits.

What triggers an SMS

A customer phone number must be present on the checkout session, payment, or billing customer for SMS to fire - there’s no separate phone-collection step.

Sandbox testing - logged, never delivered

In test mode, SMS is never delivered to a real phone. Every sandbox SMS dispatch is logged in your SMS history with the full message body and a skipped_sandbox status - so you can confirm exactly what would be sent (template rendering, formatting, the recipient number we resolved) - but nothing reaches the SMS provider or the recipient. A test transaction must never trigger a real message to a real person. This matches our sandbox email behavior and our privacy policy commitment: test-mode messages are logged but never delivered. To verify the real send path, use your sk_live_… key and a real phone number you control. Live sends require a Growth plan or higher, and count against that plan’s monthly allowance.

Live SMS allowance (live mode)

In live mode, Free accounts never send SMS - the dispatcher resolves merchant entitlements on every send and short-circuits with status: skipped_free_plan. Growth and Pro accounts get a monthly allowance of live sends (200 and 1,000 respectively, reset at the start of each calendar month). Once an account has used its allowance for the month, further live sends for that calendar month are suppressed and logged with status: skipped_live_quota instead of being delivered. Payment processing is never affected by the SMS allowance - only the customer receipt SMS is skipped. The log row still shows the would-have-been-sent body in both cases, handy if you’re evaluating whether to upgrade or whether you’re approaching your allowance. In sandbox mode, no SMS is ever delivered regardless of plan - dispatches are logged only (status skipped_sandbox), and sandbox sends never count against your live allowance. When you upgrade, in-flight live events from the moment of upgrade onward send normally against your new plan’s allowance. There’s no backfill of skipped sends. When you downgrade, the next live event after your billing period ends is evaluated against your new plan’s allowance (zero for Free, which produces skipped_free_plan again; a lower monthly figure for Growth). No SMS is held in a queue.

Phone number format

The SMS API expects 10-digit Nepali mobile numbers. The dispatcher accepts and normalizes:
  • 9XXXXXXXXX (10 digits, starts with 96–99) - used as-is
  • 977XXXXXXXXXX (13 digits with country code) - country code stripped
  • +977XXXXXXXXXX (E.164) - formatting and country code stripped
Spaces, hyphens, parentheses, and dots are tolerated and stripped. Numbers that don’t match these formats log as skipped_invalid_phone with the original value preserved for debugging.

Viewing SMS history

The SMS history page in your dashboard (Account → SMS) shows every send attempt for the last 30 days, including suppressed ones. Each row carries:
  • Status pill - sent, failed, skipped_sandbox, skipped_sandbox_quota, skipped_free_plan, skipped_live_quota, skipped_rate_limited, skipped_invalid_phone, skipped_template_disabled, or skipped_no_provider
  • Template - which event triggered it
  • Recipient - the normalized phone number
  • Mode - live or sandbox
  • Body preview - the exact text that was (or would have been) sent
  • Timestamp
Use the filter pills to narrow by status or mode. The summary cards at the top show running counts for the current month, including how much of your monthly allowance you’ve used.

Body templates

Bodies are short, plain text, optimized to fit a single SMS segment (160 ASCII characters). They include:
  • The amount in NPR (e.g. NPR 1,500)
  • Your merchant name as registered in PayBridgeNP
  • For invoice reminders: a short hosted-token URL the customer can click to pay
You cannot customize the body in this release. If you need branded messaging, contact support - we’re tracking demand for a v2 with merchant-defined templates.

Cost

SMS receipts are included in your plan up to the monthly allowance (Growth: 200, Pro: 1,000) - there’s no separate per-message charge for sends within that allowance. Once you’re at the allowance for the calendar month, further live sends are skipped rather than billed; there is currently no way to pay for additional sends beyond the allowance. If your sending volume is consistently at or near the cap, we’ll reach out to talk through options.

Failure modes

Privacy and retention

The body of each SMS is stored in the log so you can audit what your customers received. Bodies contain only the same information already visible to you in the corresponding payment, refund, or invoice - no additional PII. SMS log rows are retained for the same period as your other transactional data (Free: 30 days, Growth: 90 days, Pro and Enterprise: unlimited).

Disabling SMS

Growth and Pro merchants who want to selectively suppress SMS templates (e.g. send refund SMS but not payment-success SMS) can toggle individual templates in Settings → Notifications. Toggling a template off logs subsequent events as skipped_template_disabled and does not call the provider. To disable SMS entirely, downgrade to the free plan or contact support to apply a per-merchant override.