User needs to implement or debug payment processing, subscription lifecycles, invoicing, or revenue operations. Agent handles Stripe/Paddle integration, webhook architecture, multi-currency, tax compliance, chargebacks, usage-based billing, marketplace splits, and revenue recognition patterns.
| Topic | File |
|---|---|
| ------- | ------ |
| Stripe integration | stripe.md |
| Webhooks & events | webhooks.md |
| Subscription lifecycle | subscriptions.md |
| Invoice generation | invoicing.md |
| Tax compliance | tax.md |
| Usage-based billing | usage-billing.md |
| Chargebacks & disputes | disputes.md |
| Marketplace payments | marketplace.md |
| Revenue recognition | revenue-recognition.md |
amount: 1000 = $10.00amount_cents_usdStripe-Signature header)event_id and check idempotency — webhooks duplicatewebhooks.md for implementation patternsCritical states and transitions:
| State | Meaning | Access |
|---|---|---|
| ------- | --------- | -------- |
trialing | Free trial period | ✅ Full |
active | Paid and current | ✅ Full |
past_due | Payment failed, retrying | ⚠️ Grace period |
canceled | Will end at period end | ✅ Until period_end |
unpaid | Exhausted retries | ❌ None |
Never grant access based on status === 'active' alone — check current_period_end.
cancel_at_period_end: true → Access until period ends, stops renewalsubscription.delete() → Immediate termination, possible refundWhen changing plans mid-cycle:
| Mode | Behavior | Use When |
|---|---|---|
| ------ | ---------- | ---------- |
create_prorations | Credit unused, charge new | Standard upgrades |
none | Change at renewal only | Downgrades |
always_invoice | Immediate charge/credit | Enterprise billing |
Never rely on PSP defaults — specify explicitly every time.
customer.subscription.updated fires BEFORE invoice.paid frequently.
| Scenario | Action |
|---|---|
| ---------- | -------- |
| Same country | Charge local VAT/sales tax |
| EU B2B + valid VAT | 0% reverse charge (verify via VIES) |
| EU B2C | MOSS — charge buyer's country VAT |
| US | Sales tax varies by 11,000+ jurisdictions |
| Export (non-EU) | 0% typically |
Missing required invoice fields = legally invalid invoice. See tax.md.
pm_, cus_)disputes.md for compliance patterns| Stage | Timeline | Action |
|---|---|---|
| ------- | ---------- | -------- |
| Inquiry | 1-3 days | Provide evidence proactively |
| Dispute opened | 7-21 days | Submit compelling evidence |
| Deadline missed | Automatic loss | Set alerts |
>3 intentos de cobro fallidos consecutivos = posible trigger de fraude monitoring.
For SaaS under ASC 606/IFRS 15:
revenue-recognition.md for accounting patternsinvoice.paidsubscription_id → impossible to reconcile refundspayment_intent.requires_action → stuck paymentsmode: 'subscription' without handling customer.subscription.deleted共 1 个版本