Stripe Payments
Skill433 starsChanged 10 months agoMITView on GitHub
Automate Stripe payment processing, subscription management, invoicing, and financial reporting
In this repository137 other files it gives its agents.
- .cursor/rules/project-rules.mdcCursor rule
- academic-searchSkill
- ads-copywriterSkill
- ai-agent-builderSkill
- airtable-automationSkill
- ai-slidesSkill
- Amazon SellerSkill
- Apple Shortcuts IntegrationSkill
- Applicant ScreeningSkill
- Asana AutomationSkill
- batch-convertSkill
- batch-processorSkill
- Brand Guidelines GeneratorSkill
- Browser AutomationSkill
- calendar-automationSkill
- Changelog GeneratorSkill
- chart-designerSkill
- Chat with PDFSkill
- ClickUp AutomationSkill
- company-researchSkill
- competitive-analysisSkill
- Content Research WriterSkill
- contract-reviewSkill
- contract-templateSkill
- cover-letterSkill
- crm-automationSkill
- crypto-reportSkill
- customer-successSkill
- cv-builderSkill
- data-analysisSkill
- Database SyncSkill
- data-extractorSkill
- data-pipelineSkill
- dcf-valuationSkill
- deep-researchSkill
- devops-automationSkill
- dev-slidesSkill
- diagram-creatorSkill
- discord-botSkill
- doc-parserSkill
- doc-pipelineSkill
- DocuSign AutomationSkill
- docx-manipulationSkill
- Email ClassifierSkill
- email-drafterSkill
- email-marketingSkill
- ETL PipelineSkill
- excel-automationSkill
- expense-reportSkill
- Expense TrackerSkill
- Facebook/Meta AdsSkill
- File OrganizerSkill
- financial-modelingSkill
- form-builderSkill
- gmail-workflowsSkill
- google-ads-managerSkill
- Home Assistant AutomationSkill
- hr-automationSkill
- html-slidesSkill
- html-to-pptSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 514
Use Webhooks: Don't rely on redirect alone
- Distinctive: line 517
PCI Compliance: Use Stripe Elements
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Stripe Payments
Comprehensive skill for automating Stripe payment processing and subscription management.
Core Workflows
1. Payment Flow
STRIPE PAYMENT FLOW:
┌─────────────────┐
│ Customer │
│ Payment Intent │
└────────┬────────┘
▼
┌─────────────────┐
│ Checkout │
│ - Card Input │
│ - Validation │
└────────┬────────┘
▼
┌─────────────────┐
│ Processing │
│ - Auth │
│ - Capture │
└────────┬────────┘
▼
┌─────────────────┐
│ Confirmation │
│ - Receipt │
│ - Webhook │
└─────────────────┘2. Webhook Events
webhook_handlers:
payment_intent.succeeded:
actions:
- fulfill_order
- send_receipt
- update_crm
payment_intent.payment_failed:
actions:
- notify_customer
- retry_payment
- log_failure
customer.subscription.created:
actions:
- provision_access
- send_welcome_email
- update_metrics
customer.subscription.deleted:
actions:
- revoke_access
- send_offboarding_email
- trigger_retention_flow
invoice.payment_failed:
actions:
- send_dunning_email
- update_subscription_status
- create_support_ticketSubscription Management
Plan Configuration
subscription_plans:
- name: Starter
id: plan_starter
price: 29
currency: usd
interval: month
features:
- "5 users"
- "10GB storage"
- "Email support"
metadata:
tier: 1
- name: Growth
id: plan_growth
price: 79
currency: usd
interval: month
features:
- "25 users"
- "100GB storage"
- "Priority support"
metadata:
tier: 2
- name: Enterprise
id: plan_enterprise
price: custom
interval: month
features:
- "Unlimited users"
- "Unlimited storage"
- "24/7 support"
- "Custom integrations"
metadata:
tier: 3Subscription Lifecycle
subscription_automation:
on_create:
- provision_service
- send_welcome_email
- create_customer_record
- schedule_onboarding_call
on_upgrade:
- adjust_limits
- prorate_billing
- send_upgrade_confirmation
- unlock_features
on_downgrade:
- schedule_limit_reduction
- send_downgrade_notice
- offer_retention_discount
on_cancel:
- schedule_access_revocation
- send_exit_survey
- trigger_win_back_campaign
on_renewal:
- send_renewal_receipt
- update_usage_quotas
- check_plan_eligibilityInvoice Management
Invoice Automation
invoice_settings:
defaults:
auto_advance: true
collection_method: charge_automatically
days_until_due: 30
templates:
header:
company_name: "{{company}}"
logo: "{{logo_url}}"
footer:
payment_terms: "Net 30"
thank_you: "Thank you for your business!"
automation:
- event: invoice.created
actions:
- add_line_items
- apply_discounts
- calculate_tax
- event: invoice.finalized
actions:
- send_to_customer
- log_to_accounting
- event: invoice.paid
actions:
- send_receipt
- update_revenueDunning Management
dunning_sequence:
- day: 0
event: payment_failed
actions:
- retry_payment
- email_template: payment_failed_1
- day: 3
actions:
- retry_payment
- email_template: payment_failed_2
- sms_reminder
- day: 7
actions:
- retry_payment
- email_template: payment_failed_3
- mark_at_risk
- day: 14
actions:
- final_retry
- email_template: final_notice
- pause_subscription
- day: 30
actions:
- cancel_subscription
- email_template: cancellation
- revoke_accessCheckout Integration
Checkout Session
// Create Checkout Session
const session = await stripe.checkout.sessions.create({
mode: 'subscription',
payment_method_types: ['card'],
line_items: [{
price: 'price_xxx',
quantity: 1,
}],
success_url: 'https://example.com/success?session_id={CHECKOUT_SESSION_ID}',
cancel_url: 'https://example.com/cancel',
customer_email: 'customer@example.com',
subscription_data: {
trial_period_days: 14,
metadata: {
plan_tier: 'growth'
}
},
allow_promotion_codes: true,
});Payment Elements
// Create Payment Intent
const paymentIntent = await stripe.paymentIntents.create({
amount: 2000,
currency: 'usd',
customer: 'cus_xxx',
payment_method_types: ['card'],
metadata: {
order_id: '12345'
}
});
// Confirm Payment
const result = await stripe.confirmCardPayment(
paymentIntent.client_secret,
{
payment_method: {
card: cardElement,
billing_details: {
name: 'John Doe'
}
}
}
);Revenue Analytics
Dashboard Metrics
STRIPE REVENUE DASHBOARD
═══════════════════════════════════════
MRR: $125,450 (+8.5%)
ARR: $1,505,400
New MRR: $12,340
Churned MRR: $4,120
Net MRR: +$8,220
SUBSCRIPTION BREAKDOWN:
Active: 892
Trialing: 156
Past Due: 23
Cancelled: 45 (this month)
BY PLAN:
Starter ████████░░░░░░░░ 45% │ $28,500
Growth ██████████░░░░░░ 38% │ $47,600
Enterprise ██████░░░░░░░░░░ 17% │ $49,350
CHURN ANALYSIS:
Monthly Churn Rate: 4.2%
MRR Churn: $4,120
Reasons:
- Price ████████░░░░ 35%
- Competitor ██████░░░░░░ 25%
- No longer needed ████░░░░░░░░ 20%
- Support issues ███░░░░░░░░░ 12%
- Other ██░░░░░░░░░░ 8%Cohort Analysis
cohort_metrics:
- cohort: "2024-01"
customers: 150
month_1_retention: 95%
month_3_retention: 82%
month_6_retention: 71%
ltv_estimate: $890
- cohort: "2024-02"
customers: 180
month_1_retention: 93%
month_3_retention: 79%
ltv_estimate: $820Fraud Prevention
Risk Rules
radar_rules:
- name: block_high_risk
condition: "risk_level = 'highest'"
action: block
- name: review_elevated_risk
condition: "risk_level = 'elevated'"
action: review
- name: block_disposable_email
condition: "email_domain in @disposable_domains"
action: block
- name: velocity_check
condition: "card_country != ip_country"
action: review
- name: amount_threshold
condition: "amount > 100000" # $1000
action: reviewCustomer Portal
Portal Configuration
customer_portal:
features:
subscription_update:
enabled: true
products:
- product_starter
- product_growth
- product_enterprise
proration_behavior: create_prorations
subscription_cancel:
enabled: true
mode: at_period_end
cancellation_reason:
enabled: true
options:
- "Too expensive"
- "Missing features"
- "Switched to competitor"
- "No longer needed"
- "Other"
payment_method_update:
enabled: true
invoice_history:
enabled: true
branding:
colors:
primary: "#5469d4"
icon: "{{company_icon}}"Reporting Automation
Scheduled Reports
reports:
- name: daily_revenue
schedule: "0 9 * * *"
metrics:
- gross_volume
- net_volume
- new_customers
- failed_payments
destination: slack_finance
- name: weekly_mrr
schedule: "0 9 * * 1"
metrics:
- mrr
- arr
- churn_rate
- expansion_revenue
destination: email_leadership
- name: monthly_reconciliation
schedule: "0 9 1 * *"
metrics:
- total_revenue
- fees
- refunds
- payouts
destination: accounting_systemAPI Examples
Common Operations
// Create Customer
const customer = await stripe.customers.create({
email: 'customer@example.com',
name: 'John Doe',
metadata: {
user_id: '12345'
}
});
// Create Subscription
const subscription = await stripe.subscriptions.create({
customer: customer.id,
items: [{ price: 'price_xxx' }],
trial_period_days: 14,
payment_behavior: 'default_incomplete',
expand: ['latest_invoice.payment_intent']
});
// Update Subscription
await stripe.subscriptions.update(subscription.id, {
items: [{
id: subscription.items.data[0].id,
price: 'price_new_xxx'
}],
proration_behavior: 'create_prorations'
});
// Issue Refund
const refund = await stripe.refunds.create({
payment_intent: 'pi_xxx',
amount: 1000 // Partial refund
});Best Practices
- Use Webhooks: Don't rely on redirect alone
- Idempotency Keys: Prevent duplicate charges
- Error Handling: Graceful failure recovery
- PCI Compliance: Use Stripe Elements
- Test Mode: Validate before production
- Monitor Disputes: Respond promptly
- Dunning Strategy: Recover failed payments
- Revenue Recognition: Track MRR properly
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

