feat(api): lifecycle actions (void/uncollectible/expire) + list paging + remaining Stripe 2025 params - #74
Merged
Conversation
…ing with starting_after/has_more, remaining create/update params
- POST /v1/invoices/{id}/void and /mark_uncollectible: lifecycle transitions with invoice.voided / invoice.marked_uncollectible webhooks; known-route gate skips implemented-without-claim paths
- POST /v1/checkout/sessions/{id}/expire: open -> expired + checkout.session.expired webhook
- all top-level lists honor starting_after and report has_more (SDK auto-paging no longer silently stops at page 1)
- GET /v1/subscriptions supports current_period_end[gte]/[lt] filters
- subscription create accepts proration_behavior and payment_settings[...]; update accepts cancel_at (own axis vs cancel_at_period_end)
- customer update accepts invoice_settings[default_payment_method]; payment method attach sets default only when unset
- invoice payment_settings customer_balance tree echoed in responses
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Wave 3 (final) of the Stripe 2025+ API surface program (follows #71, #72, #73).
What
POST /v1/invoices/{id}/void,/mark_uncollectible,POST /v1/checkout/sessions/{id}/expire— status transitions + webhooks, following the existing finalize/pay handler pattern. The known-route gate now skips implemented paths that lack a compatibility claim.starting_afterand reportshas_more, so SDK auto-paging iterates past page 1 instead of silently truncating atlimit. Sort orders were already deterministic (created_at DESC, id DESCfamily); nested embedded lists unchanged.current_period_end[gte]/[lt]; createproration_behavior+payment_settings[...]; updatecancel_at(separate axis fromcancel_at_period_end); customerinvoice_settings[default_payment_method](attach sets default only when unset); invoicecustomer_balancepayment settings echoed.Tests
8 new tests covering the 9 contract scenarios.
go build/vet/testgreen.