How It Works
Creating Checkout Sessions
Via Dashboard
Create a checkout link for a customer:- Navigate to Customers → [Customer Name]
- Click Create Checkout Session
- Select the plan
- Copy the checkout URL
- Share with customer (email, chat, etc.)
Via Your Application
Create the session server-side withPOST /checkout-sessions and redirect the customer to the url in the response:
Checkout Experience
When customers visit the checkout URL, they see:- Plan summary - Selected plan with pricing
- Customer information - Name, email, company
- Billing address - For tax calculation
- Payment method - Card or bank transfer
- Order summary - Total with tax
- Subscription is created automatically
- Customer is redirected to your success URL
- You receive webhook notification
Checkout Settings
Per session
Checkout behaviour is set per session, when you create it:Branding and payment methods
Checkout uses the logo, colors and brand slug set under Settings → Organization → Customizations → Branding (Branding) and the payment methods enabled under Settings → Workflows → Payments → Payment methods (Stripe, ACH). To serve it from your own domain, see Custom domains.Handling Checkout Completion
Success Page
When payment succeeds, customers are redirected to your success URL. Create a page that:- Confirms their subscription is active
- Provides next steps or onboarding
- Links to your application
Webhooks
For reliable delivery confirmation, set up webhooks:
Configure webhooks under Settings → Connections → Developers → Webhooks; payload in the Webhooks reference. You can also poll
GET /checkout-sessions/{id} until status is successful.
Testing Checkout
Sandbox Mode
Test checkout in sandbox before going live:- Use a sandbox API key against
https://api.sandbox.alguna.io - Checkout sessions created in sandbox don’t process real payments
- Use test card numbers provided by your payment processor
Test the Flow
- Create a checkout session
- Visit the checkout URL
- Complete payment with test card
- Verify:
- Redirected to success URL
- Subscription created in dashboard
- Webhook received (if configured)
Common Questions
Can customers apply discount codes?
No. Discounts are set on the plan or the subscription before checkout, not entered by the customer at the till.What payment methods are supported?
Depends on your payment processor configuration:- Credit/Debit cards
- ACH bank transfers (if enabled)
How long are checkout links valid?
24 hours by default. Setexpires_in_seconds when you create the session to change it, between 5 minutes and 7 days.
Can I pre-fill customer information?
Yes. Pass an existingcustomer_id or customer_alias, or a customer object for a guest checkout, and the customer account is created when checkout completes.
Troubleshooting
Checkout Page Not Loading
- Verify the checkout URL is valid
- Check the session hasn’t expired
- Ensure the plan is active
Payment Failed
- Customer should verify card details
- Check for sufficient funds
- Try a different payment method
Customer Not Redirected After Payment
- Verify success URL is correctly configured
- Check for browser popup blockers
- Ensure URL is publicly accessible
Best Practices
Clear Success Page
Create a success page that confirms the subscription and provides next steps.
Handle Webhooks
Always verify payment via webhooks, not just the redirect.
Test Thoroughly
Test the full flow in sandbox before going live.
Communicate Errors
If checkout fails, help customers understand what went wrong.
Next Steps
Customer Portal
Let customers manage their subscriptions.
Webhooks
Set up event notifications.
Launch self-serve
Trials, credits, checkout and portal in one flow.
Developer quick start
API basics, SDK and sandbox.