Billing
Plans and Billing
PassportBox uses Stripe for all payment processing. Your plan determines how many products and passports you can create per month. This page explains available plans, how to upgrade or cancel, and what happens when a subscription lapses.
Purpose
Billing management lives at /dashboard/billing and in the Billing tab of /dashboard/settings. Both surfaces show your current plan and provide access to the Stripe Customer Portal where you can change plans, update payment methods, and download invoices.
Plans Comparison
| Feature | Starter | Growth | Enterprise |
|---|---|---|---|
| Price | $79/mo | $199/mo | Contact Us |
| Products | 50 | 500 | Unlimited |
| Passports/month | 500 | 5,000 | Unlimited |
| QR labels | Basic | Advanced | White-label |
| Analytics | Basic | Advanced | Advanced |
| Shopify sync | No | Yes | Yes |
| API access | No | No | Yes |
| White-label | No | No | Yes |
| Support | Priority | Dedicated |
Starting a Free Trial
New accounts are eligible for a 14-day free trial. No credit card is required to start the trial, but you must add a payment method before the trial ends to continue using PassportBox.
- 1
Create your account
Sign up at passportbox.io. After email verification, you are directed to the plan selection page at /plan.
- 2
Select a plan
Choose Starter, Growth, or Enterprise. Each plan includes a 14-day free trial. Click "Start free trial" on your chosen plan.
- 3
Enter payment details
You are taken to the Stripe checkout page. Enter your card details. Your card is stored securely by Stripe and is not charged until the trial ends.
- 4
Trial begins
Your subscription status is set to trialing. You have full access to all features of your chosen plan for 14 days.
Upgrading Your Plan
Upgrades take effect immediately. You are charged a prorated amount for the remainder of the current billing period, and your new plan limits apply right away.
- 1.Go to /dashboard/billing or open Settings → Billing tab.
- 2.Click "Manage Billing". This opens the Stripe Customer Portal in a new tab.
- 3.In the Stripe portal, select "Change plan" and choose the plan you want.
- 4.Confirm the upgrade. Return to PassportBox — your plan badge updates immediately.
Canceling or Downgrading
You can cancel or downgrade at any time through the Stripe Customer Portal. Cancellation does not take effect immediately — access continues until the end of the current billing period.
Downgrade limits
If your current product or passport count exceeds the lower plan's limits after a downgrade, existing records are not deleted but you will be unable to create new ones until your counts fall within the new plan's limits.
- 1.Go to /dashboard/billing or Settings → Billing tab.
- 2.Click "Manage Billing" to open the Stripe Customer Portal.
- 3.Select "Cancel plan" or "Change plan" for a downgrade.
- 4.Confirm. A cancellation confirmation email is sent to your account email.
Managing Payment Methods and Invoices
All payment method changes and invoice downloads happen in the Stripe Customer Portal. PassportBox does not store card numbers or payment details internally.
Add or update a card
Open Stripe Customer Portal → "Payment methods" → "Add payment method".
Download an invoice
Open Stripe Customer Portal → "Billing history". Click any invoice row to download a PDF.
Update billing email
Open Stripe Customer Portal → "Billing information" → "Edit". Invoices are sent to this email.
Subscription Status Reference
| Status | Meaning | Access |
|---|---|---|
trialing | Free trial is active. Card on file but not yet charged. | Full plan access |
active | Paid subscription is current. Last payment succeeded. | Full plan access |
past_due | A payment attempt failed. Stripe is retrying automatically. | Full access during retry window. Update payment method to avoid interruption. |
canceled | Subscription ended. Either canceled by user or all Stripe payment retries exhausted. | Blocked — only /dashboard/billing accessible. |
none | No subscription record found. User may not have completed plan selection. | Redirected to /plan to select a plan. |
What Happens When a Subscription Expires
When your subscription reaches canceled status, access to PassportBox is restricted:
What is blocked
All dashboard pages except /dashboard/billing are inaccessible. Existing published passport public URLs remain live — end-consumers can still scan QR codes.
How to restore access
- 1.Go to /dashboard/billing (the only accessible page) and click "Manage Billing".
- 2.In the Stripe portal, reactivate your subscription or start a new one.
- 3.Return to PassportBox. Access is restored within seconds of Stripe confirming payment.
Validation Rules and Edge Cases
Trial ending without a payment method
If no card was added during trial signup, the subscription transitions to canceled when the trial expires. You must restart from /plan.
Downgrading while over the new plan's limits
Existing products and passports above the new limit are retained but cannot be edited until counts return to within limits. No data is deleted automatically.
Multiple failed payment retries
Stripe retries failed payments on a schedule (typically 3 times over 7 days). If all retries fail, the subscription moves to canceled. You receive email notifications at each retry.
What Success Looks Like
Billing page shows your plan name with an "Active" or "Trialing" badge.
You can navigate freely to all dashboard pages without being redirected to /plan.
The Stripe Customer Portal shows a current subscription with a next billing date.
Invoices are available in the Stripe portal for all past charges.
Troubleshooting
Charged unexpectedly after trial
The 14-day trial converts to a paid subscription automatically. If you intended to cancel, open the Stripe Customer Portal immediately and cancel. Contact support@rogueonetech.com for refund requests within 48 hours of the charge.
Cannot access the Stripe billing portal
The "Manage Billing" button opens a Stripe-hosted portal in a new tab. If it fails to open, check that your browser is not blocking pop-ups or new tabs from passportbox.io. Try opening it in a private window.
Subscription still shows as expired after reactivating
Stripe webhook events can take up to 60 seconds to reach PassportBox. Wait a minute and hard-refresh the billing page. If the status does not update after 5 minutes, contact support.
Cannot find an invoice for a specific month
Invoices are generated by Stripe on each billing date. If a charge was prorated (e.g., mid-cycle upgrade), the invoice amount may differ from the standard monthly fee. Check the Billing history section in the Stripe portal for all line items.
Plan shows correct in Stripe but incorrect in PassportBox
This is a webhook sync delay. Log out and log back in to force a session refresh. If the mismatch persists after 10 minutes, contact support@rogueonetech.com with your account email and the expected plan name.