Skip to content
Wozena
ProductSolutionsPricingDocs
Log inGet started
Docs home
Get started
  • How Wozena works
  • Quickstart checklist
  • Create your agency
Products & services
  • Sell an agent as a service
Voice agents
  • Connect Retell
  • Phone numbers
  • Build an agent
  • Knowledge bases
  • Test and publish
  • Share an agent
White-label
  • Branding
  • Custom domains
  • Email and sending domain
  • The client portal
Clients & team
  • Clients
  • Team, roles and invites
Sell & bill
  • Connect Stripe
  • Client plans
  • Plan links and storefront
  • Billing clients
  • Your Wozena plan
Integrations & automation
  • CRMs and calendars
  • In-call tools
  • Post-call automations
  • Webhooks
Outbound & operations
  • Contacts and campaigns
  • Calls and reports
  • Security and access
  • Troubleshooting
Docs / Sell & bill

Connect Stripe

Bill clients on your own Stripe account and keep the full margin.

Wozena bills your clients through your own Stripe account. Connect it once and you can sell plans, send payment links, rebill call usage and see your margin, while every payment lands in your Stripe balance.

Before you start
  • You are the agency owner. Only owners can open Provider Connections.
  • A Stripe account for the business that receives client payments.
  • Access to that account’s API keys in the Stripe dashboard.

How client billing works#

You are the merchant of record. Your clients pay you directly on your Stripe account, under your business name. Wozena never collects, holds or takes a cut of client revenue. It uses your key to create the Stripe objects that billing needs:

  • A product and recurring price for each client plan you create.
  • Customers, Checkout sessions and subscriptions when a client subscribes.
  • Invoice items for usage beyond the plan’s allowance, collected on the client’s next invoice.

Your own Wozena subscription is separate. It is billed by Wozena and never mixed with client payments. See Your Wozena plan.

Get a Stripe secret key#

In Stripe, open the API keys page and copy the secret key for the account that should receive client payments. Live keys start with sk_live_ and test keys start with sk_test_.

A standard secret key works with no extra setup. If your company policy requires a restricted key, give it the permissions listed in Using a restricted key.

Important
A secret key can move money on your Stripe account. Paste it only into Wozena, never into email or chat. Wozena stores it encrypted and shows only the connection status afterwards.

Connect your account#

  1. Open Provider Connections
    Go to Provider Connections. Find the Stripe row, described as “Plans, subscriptions, invoices and client revenue.”, and click “Connect Stripe”.
  2. Paste your key
    Paste the key into “Stripe secret key”. If you don’t have it yet, the “Open Stripe API keys” link opens Stripe in a new tab.
  3. Connect and verify
    Click “Connect and verify”. The button reads “Validating and configuring…” while Wozena checks the key and sets up your account.
  4. Confirm it worked
    You see “Stripe is ready for client billing”. The Stripe row now shows “Connected”, your Stripe account name, and “Live” or “Test”. On Client Billing, the header reads “Stripe connected” followed by your account, “Live mode” or “Test mode”, and “Webhook healthy”.

Next, create your first client plan.

What happens automatically#

When you click “Connect and verify”, Wozena:

  • Checks the key with Stripe.
  • Creates a webhook endpoint on your Stripe account that sends billing events to Wozena.
  • Stores the webhook’s signing secret encrypted, so Wozena can confirm each event really came from your Stripe account.

You don’t need to create a webhook in Stripe yourself. If any part of setup fails, Wozena removes what it created, so you can fix the problem and try again without cleaning anything up. The endpoint listens for these events:

Event categoryEventsWhy Wozena needs them
CheckoutCheckout completedActivates a client’s subscription once Stripe confirms payment.
SubscriptionsCreated, updated, deletedKeeps each client’s status (active, past due, canceled) in step with Stripe.
InvoicesCreated, finalized, paid, payment failed, updatedFills the invoice list and outstanding balance, and triggers failed-payment alerts.
RefundsCreated, updated, failedKeeps revenue reports net of refunds.
DisputesCreated, updated, closedKeeps revenue reports net of lost disputes.
Credit notesCreated, updated, voidedKeeps revenue reports net of credits.
Important
Leave the endpoint Wozena created in place. If it is deleted or disabled in Stripe, Wozena stops hearing about payments, and clients who pay are not activated.

Using a restricted key#

A restricted key works if it is allowed to create webhook endpoints and has access to every resource below. If you are unsure, use a standard secret key.

Stripe permissionWhat Wozena uses it for
Account (read)Confirming which Stripe account is connected.
Webhook endpointsCreating the endpoint that sends billing events to Wozena.
ProductsCreating a product for each client plan.
PricesCreating the recurring price behind each plan.
CustomersCreating a Stripe customer for each subscribing client.
Checkout SessionsPayment links and storefront checkouts.
SubscriptionsStarting, changing and cancelling client subscriptions.
Customer portal (billing portal)Sending clients to your Stripe portal from Usage & Billing.
Invoices and invoice itemsReading invoices and adding usage charges.
RefundsReflecting refunds in revenue reports.
Note
There is currently no field in Wozena for a webhook secret you created by hand. The key you connect must be able to create the webhook endpoint itself.

Start in test mode, then go live#

We recommend proving the whole flow with test money before a real client pays you.

  1. Connect a test key
    Connect a key that starts with sk_test_. The Stripe row shows “Test” and Client Billing shows “Test mode”.
  2. Create a plan and a test client
    Create a plan, then create a client and invite a client admin you control (see Clients).
  3. Run a test checkout
    From the client’s “Billing” tab, send a payment link and pay it with one of Stripe’s test cards.
  4. Check delivery
    The client’s subscription becomes active and the Stripe row on Provider Connections shows “Delivery verified” with the time of the last event.
  5. Switch to your live key
    Click “Update connection”, paste your sk_live_ key and click “Connect and verify”.
Important
Stripe keeps test and live data completely separate. Treat plans and subscriptions you made with a test key as practice. After switching to your live key, create the plans you will actually sell (“Duplicate” is the quickest way) and archive the test ones before you share any links.

Check connection health#

Once connected, the Stripe row on Provider Connections shows:

ItemWhat it tells you
“Events · 24h”How many Stripe events Wozena received in the last 24 hours.
“Failed”Events Wozena could not process. These need your attention.
“Reconciliation”Whether Wozena’s records match Stripe: in sync, or issues found.
“Delivery verified”Events are arriving. Shows how long ago the last one came in.

Before any event has arrived, the row says “No events received yet.” This is normal right after connecting. A real or test checkout is the proof that delivery works end to end.

Use “Test connection” at any time to check that the stored key still works.

Replay failed events

When events fail, a banner at the top of Provider Connections tells you how many need attention, and the Stripe row lists them under “Failed billing events” with the error for each.

  1. Read the error
    Each failed event shows the reason it failed.
  2. Fix the cause first
    Replaying an event without fixing its cause fails again. The product reminds you: “Fix cause first, then replay”.
  3. Replay
    Click “Replay” on one event, or “Replay all” in the banner. Client records catch up from the stored events.

Set up your Stripe dashboard#

Some client-facing billing is configured in Stripe, not in Wozena. Work through this list before going live.

  • Customer portal. Clients reach your Stripe customer portal from “Manage billing” in their Usage & Billing page. In Stripe’s customer portal settings, decide whether clients can update payment methods, cancel, and switch plans.
  • Invoice and checkout branding. Add your logo, colours and business details in Stripe’s branding settings so invoices and Checkout match your brand.
  • Tax. Wozena doesn’t add tax to client checkouts. If you need to collect tax, set it up in Stripe yourself and check the rules that apply to your business.

Rotate or disconnect#

Rotate your key

Create a new key in Stripe, then on the Stripe row click “Update connection”, paste it and click “Connect and verify”. Existing plans, subscriptions and billing records are preserved. Revoke the old key in Stripe only after the new one is connected.

Disconnect

Click “Disconnect” on the Stripe row. New plans and client checkouts stop until Stripe is reconnected. Existing billing records remain. Wozena also removes the webhook endpoint it created on your account. If the key was already revoked in Stripe, Wozena can’t reach your account, so delete that endpoint in Stripe yourself.

Careful
Disconnecting stops new checkouts for every client at once. If you only need a new key, use “Update connection” instead.

Troubleshooting#

ProblemWhat to do
You can’t see Provider ConnectionsOnly the agency owner can manage provider connections. Ask the owner to connect Stripe.
The key is rejectedCopy the full secret key again from the right Stripe account. For a restricted key, check it can create webhook endpoints and has every permission in the table above. Nothing is left behind, so just try again.
Row says “No events received yet.”Run a real or test checkout. Delivery is verified when the first event arrives.
New plan says “Complete Stripe setup first”Stripe isn’t connected, or the connection was removed. Connect it on Provider Connections.
A client paid but still shows Awaiting paymentLook for failed events on the Stripe row, fix the cause and replay. Check that the webhook endpoint still exists in Stripe.

For problems outside billing, see Troubleshooting.

Stuck? Ask Ada or email support, or check Troubleshooting.
PreviousTeam, roles and invitesNextClient plans
On this page
  • How client billing works
  • Get a Stripe secret key
  • Connect your account
  • What happens automatically
  • Using a restricted key
  • Start in test mode, then go live
  • Check connection health
  • Set up your Stripe dashboard
  • Rotate or disconnect
  • Troubleshooting
Wozena

A white-label platform for agencies selling AI phone agents to client businesses.

A Retell AI product
ProductClient portalsAgentsCampaignsClient billingReports
ResourcesDocumentationPricingChangelogStatusSupport
CompanySolutionsPartnersTrust centerPrivacyTerms
© 2026 Wozena · Powered by Retell AI
LinkedInXYouTube