Stripe billing payment page#8748
Draft
ericokuma wants to merge 5 commits into
Draft
Conversation
- Add CreateCheckoutSession to payment provider interface
- Implement Stripe Checkout session creation with billing address collection
- Add API endpoint for creating checkout sessions (/v1/orgs/{org}/billing/payments/checkout-session)
- Handle checkout.session.completed webhook events
- Update frontend to use Checkout for payment issues:
- StartTeamPlanDialog
- Payment.svelte (manage button)
- BillingCTAHandler
- upgrade-callback page
- billing/upgrade route
This provides a better UX similar to Lovable's payment page with:
- Multiple payment method options (cards, Amazon Pay, Cash App Pay, etc.)
- Integrated billing address collection
- Quick checkout flow
Resolves APP-706
Co-authored-by: eric.okuma <eric.okuma@rilldata.com>
|
Cursor Agent can help with this pull request. Just |
…ling - Remove invalid PaymentMethodCollection parameter for setup mode - Add Currency parameter required for setup mode - Add logging for checkout session creation errors - Add fallback to billing portal if checkout fails - Add try-catch error handling in StartTeamPlanDialog - Show user-friendly error notifications on failure This should fix the loading hang when clicking upgrade. Co-authored-by: eric.okuma <eric.okuma@rilldata.com>
- Create new payment page at /[org]/-/settings/billing/payment - Show Team plan pricing (50/month, 10GB included, 5/GB extra) - Display payment/billing requirements status (checkmarks/X) - Show accepted payment methods - Add 'Continue to payment' button that opens Stripe Checkout - Update all entry points to redirect to this page: - StartTeamPlanDialog - BillingCTAHandler - Payment.svelte - billing/upgrade route - upgrade-callback page This provides better context about pricing before going to Stripe Checkout. Co-authored-by: eric.okuma <eric.okuma@rilldata.com>
Reverting to use Stripe Checkout directly with pricing information instead. Co-authored-by: eric.okuma <eric.okuma@rilldata.com>
Added custom text message to Stripe Checkout showing Team Plan pricing: - $250/month base price - 10 GB included - $25/GB additional - Unlimited projects & users Note: For the full Lovable-style checkout with pricing UI, line items, and subscription details, Stripe Checkout would need to use 'subscription' mode with a Stripe Price ID instead of 'setup' mode. Co-authored-by: eric.okuma <eric.okuma@rilldata.com>
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.
This PR implements Stripe Checkout integration to provide a modern and clear payment experience, addressing the issues with the previous Stripe Billing Portal page (APP-706).
Why:
The existing payment flow lacked clear pricing information and required multiple steps to enter payment and billing details. By integrating Stripe Checkout, we aim to offer a streamlined, "Lovable-style" payment page with upfront plan details and diverse payment options.
What:
CreateCheckoutSessionmethod to the payment provider interface and its Stripe implementation.checkout.session.completedto process payment method and billing address updates.POST /v1/orgs/{org}/billing/payments/checkout-sessionto create these sessions.StartTeamPlanDialog,/billing/upgraderoute,/upgrade-callbackerror link,Payment.svelte"Manage" button,BillingCTAHandler) to redirect users to the new Stripe Checkout session URL when payment is required or an upgrade is initiated.Benefits:
Important Note: To enable various payment methods (Amazon Pay, Cash App Pay, etc.), they must be configured and activated in your Stripe Dashboard under Settings → Payments → Payment methods.
Checklist:
Linear Issue: APP-706