Step 01 / 06 — Business Setup

Tell us about
your business.

This creates your ZenoPay tenant — an isolated environment for your customers, billing data, and brain instance. Takes 30 seconds.

Legal or trading name of your business
URL-safe · lowercase · hyphens only
Displayed in audit log entries
Customers see this on billing issues
Optimizes default rail scoring for your market
Shadow Mode: Your tenant starts in shadow mode. The brain will reason through decisions and write to the audit log, but no real charges execute until you disable it in Step 6.
Read the docs first ↗
Step 02 / 06 — Payment Rails

Select your
payment rails.

Choose which rails to activate. The router will score all selected rails before every charge and route to the optimal one. Start with 2–3. Add more anytime.

Stripe
Card · Global
~290 bps
Authorize.net
Card · ACH · US
~230 bps
Braintree
PayPal · Venmo
~270 bps
GoCardless
ACH · BACS · SEPA
~50 bps
Adyen
Enterprise · Intl
~250 bps
Checkout.com
Auth-Optimized
~260 bps
UPI
India · Instant
~10 bps
PIX
Brazil · Instant
~15 bps
M-Pesa
Africa · Mobile
~150 bps
Alipay
China · 1.4B users
~60 bps
UnionPay
China · Global
~180 bps
Coinbase
Crypto · Global
~100 bps
Tip: For subscription businesses in the US or EU, select Stripe + GoCardless to start. The router will automatically prefer GoCardless at ~50bps for recurring billing vs ~290bps for card rails — that's $24K/month saved at $1M/month volume.
Step 03 / 06 — Billing Plans

Define your
pricing plans.

Create at least one plan. The brain uses plan data for churn scoring, BNPL offer calibration, and upgrade intent detection.

📋
No plans configured
Add your first plan below
Add Plan
9900 = $99.00/month
Step 04 / 06 — Webhooks

Connect your
event stream.

Point your processor's webhooks at ZenoPay. This is how the brain gets notified of payment failures, subscription changes, and renewal events.

Your Webhook Endpoint
https://app.zenopay.ai/api/webhooks?source=stripe
Change source= to match your processor: stripe | adyen
Events to Subscribe
invoice.payment_failed→ Brain: dunning + rail switch
customer.subscription.deleted→ Brain: churn analysis + retention
invoice.upcoming→ Brain: renewal prep + rail scoring
customer.subscription.updated→ Brain: profile update + upgrade detect
invoice.paid→ Brain: LTV update + churn score refresh
Required: Set metadata.tenant_id = YOUR_TENANT_ID on every Stripe Customer object. ZenoPay uses this to route events to your brain instance.
Set tenant metadata on Stripe customer
// When creating a new customer in Stripe
const customer = await stripe.customers.create({
  email: user.email,
  name: user.name,
  metadata: {
    tenant_id: process.env.ZENOPAY_TENANT_ID,
    internal_user_id: user.id
  }
})
Step 05 / 06 — Guardrails

Set your
boundaries.

Guardrails are hard limits enforced independently of the AI. The brain cannot exceed these values. Review the defaults below — they're conservative and can be adjusted at any time.

Guardrail
Default
Max single charge
max_single_charge_cents
$500.00
Daily charge ceiling
max_daily_charge_cents
$2,000.00
Minimum confidence to charge
min_confidence_to_charge
85%
Consent required above
require_consent_above_cents
$100.00
Max retry attempts
max_retry_count
3 per 24h
Churn score → autonomous action
max_churn_score_auto_act
< 0.80
Shadow mode
shadow_mode
TRUE
These can only be changed by humans. The brain can propose guardrail updates, but they require your explicit approval before taking effect. The brain cannot change its own rules.
Step 06 / 06 — Activation

Ready to
activate.

Review your configuration. The platform starts in shadow mode — the brain will reason through decisions and log them, but execute no real charges until you flip the switch.

Configuration Summary
Tenant Created
Payment Rails Selected
Stripe (default)
Billing Plans
No plans added — add after activation
Guardrails Configured
9 guardrails · defaults applied
!
Shadow Mode Active
Brain will reason but not execute real charges
Your API keys
# Add to your environment variables
ZENOPAY_TENANT_ID=a1b2c3d4-e5f6-7890-abcd-ef1234567890
ZENOPAY_INTAKE_KEY=your_intake_api_key
ZENOPAY_BRAIN_SECRET=your_brain_agent_secret
ZENOPAY_BASE_URL=https://app.zenopay.ai

# Health check — verify connection
curl https://app.zenopay.ai/api/health
Before disabling shadow mode: Watch the audit log for 2–7 days. Verify the brain is making sensible decisions for your customer base. Then disable via the guardrail API or dashboard.

You're connected.

Your tenant is active in shadow mode. The brain is reasoning through your customer base. Check the audit log to see what it's thinking.

0
Live Decisions
1
Rails Active
Shadow Mode
Open Dashboard → Full API Docs Get Help