Skip to content

Implement subscription invoice type with recurring billing cycles #259

Closed

Description

@Kingsman-99

Overview

Add a subscription invoice variant where a creator defines a billing interval and the contract automatically opens a new invoice each cycle. Payers opt-in once and are billed per cycle until they cancel.

Acceptance Criteria

  • New InvoiceType::Subscription { interval_ledgers: u32, max_cycles: Option<u32> } variant in types.rs
  • create_subscription(params) entry point creates the first invoice and registers the subscription
  • advance_cycle(subscription_id) opens the next invoice when the previous cycle closes
  • cancel_subscription(subscription_id, caller) stops future cycles; caller must be the payer or creator
  • Contract enforces that only opted-in payers can pay a subscription invoice
  • Events emitted: subscription_created, cycle_advanced, subscription_cancelled

Activity

  1. added
    complexity: highComplex feature requiring deep knowledge - 200 pts
    featureNew contract feature or operation
    on Jun 27, 2026
  2. Osifowora commented on Jun 27, 2026

    @Osifowora

    @Osifowora has applied to work on this issue as part of the Stellar Wave Program's 6th wave.

    ​Hi maintainer, I would love to work on this issue. I can get started on it right away.

    ℹ️ Repo Maintainers: To accept this application, review their application or assign @Osifowora to this issue.

  3. Emmy6654 commented on Jun 27, 2026

    @Emmy6654
    Contributor

    @Emmy6654 has applied to work on this issue as part of the Stellar Wave Program's 6th wave.

    Hi maintainer, I would love to work on this issue

    ℹ️ Repo Maintainers: To accept this application, review their application or assign @Emmy6654 to this issue.

  4. drips-wave commented on Jun 27, 2026

    @drips-wave

    Congratulations, @Emmy6654! 🎉 Your application was accepted by the repo's maintainers, and the issue is due on June 30, 2026.

    🧑‍💻 @Emmy6654: Please resolve the issue such that the repo's maintainers have enough time to review your contribution before the due date. You'll earn Points for completing the issue on-time, which will make you eligible for a share of the Stellar Wave Program's reward pool.

    Warning

    When opening a PR, please link it to this issue to ensure it gets tracked accurately. Points are awarded when this issue is marked as completed by the maintainer.

    🤠 Repo maintainers: Please keep an eye on the contributor's progress and review their work before the due date. You can manage this issue, including adjusting its complexity and points, here.

    🌊 Happy Wave 🌊

  5. grantfox-oss commented on Jun 27, 2026

    @grantfox-oss

    🦊 GrantFox — @Emmy6654 has been assigned to this issue as part of the Official Campaign campaign!

    Next steps:

    1. Open a Pull Request referencing this issue (e.g., Closes #259)
    2. Your PR will be reviewed by the Stellar-split maintainers

    Good luck! Track your progress on GrantFox.

  6. deleted a comment from Faithy5 on Jun 27, 2026
  7. grantfox-oss commented on Jun 27, 2026

    @grantfox-oss

    🎉 This issue has been marked as completed on GrantFox as part of the Official Campaign campaign!

    @Emmy6654's PR #300 was approved and merged by @Kingsman-99.

    🏆 @Emmy6654: You earned 35 FoxPoints for this contribution! Your current tier: Explorer (471 total points). Track your full progress on GrantFox.

    👏 Great work, @Emmy6654! Keep contributing to Stellar-split.

  8. drips-wave commented on Jun 27, 2026

    @drips-wave

    This issue has been completed by @Emmy6654 as part of the Stellar Wave Program's 6th Wave 🥳

    😎 @Emmy6654: You earned 200 Points for completing this issue! After the current Wave ends, you'll be eligible for a percentage of the Wave's reward pool based on the percentage of total points you've earned. Learn more here. You can also Leave a review to share your experience working on this issue.

    🧑‍💻 Repo maintainers: How'd the contributor do? Leave a review to share your experience working with them.

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

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programcomplexity: highComplex feature requiring deep knowledge - 200 ptsfeatureNew contract feature or operation

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions