Skip to content

feat(contributions): implement recurring monthly contribution option … - #1303

Open
devogechukwu wants to merge 2 commits into
Fundable-Protocol:mainfrom
devogechukwu:feat/recurring-monthly-contributions
Open

devogechukwu wants to merge 2 commits into
Fundable-Protocol:mainfrom
devogechukwu:feat/recurring-monthly-contributions

Conversation

@devogechukwu

Copy link
Copy Markdown

Summary

Allows backers to opt into a recurring monthly contribution to a campaign or creator, enabling subscription-style ongoing support.

Acceptance Criteria Implemented:

  1. Toggle at checkout for one-time vs recurring:

    • Added interactive contribution frequency selector (ONE_TIME vs MONTHLY) to CampaignDonationPanel.tsx.
    • Selecting monthly passes cadence details and initiates recurring subscription tracking upon checkout completion.
    • Added comprehensive unit tests covering toggle state and submission payload in CampaignDonationPanel.test.tsx.
  2. Recurring subscriptions managed in backer dashboard:

    • Created BackerSubscriptionsManager.tsx integrated directly into the backer dashboard (apps/web/src/app/(overview)/dashboard/page.tsx).
    • Backers can view active monthly subscriptions, next billing charge dates, cumulative lifetime volume, and pause, resume, or cancel subscriptions.
    • Supported by /api/backer/subscriptions (GET, POST) and /api/backer/subscriptions/[id] (PATCH) routes with complete test coverage.
  3. Creator receives recurring revenue report:

    • Implemented CreatorRecurringRevenueReportView.tsx integrated within CreatorStatsDashboard.tsx.
    • Displays real-time MRR (Monthly Recurring Revenue), ARR run-rate, active subscriber metrics, churn stats, per-campaign recurring volume breakdown, and JSON export functionality.
    • Supported by /api/reports/recurring-revenue endpoint.

Testing:

  • Unit tests added and verified for RecurringContributionService, BackerSubscriptionsManager, CreatorRecurringRevenueReportView, API endpoints, and donation panel checkout toggle.

Closes #1215

@drips-wave

drips-wave Bot commented Oct 18, 2026

Copy link
Copy Markdown

@devogechukwu Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@coderabbitai

coderabbitai Bot commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 0665fe68-2aed-4bdb-b747-95ca5d4d69a3
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement recurring monthly contribution option for backers

1 participant