Download the PHP package leafs/billing without Composer
On this page you can find all versions of the php package leafs/billing. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download leafs/billing
More information about leafs/billing
Files in leafs/billing
Informations about the package billing
Leaf Billing (Beta)
Leaf's billing system helps makers move faster by handling payments and subscriptions out of the box. With built-in Stripe support—and more providers like Paystack coming soon—you can set up one-time payments or recurring subscriptions in just a few minutes. That means less time worrying about billing and more time building.
Setting up
To get started, create a Stripe account and grab your API keys. Then, drop them into your .env
file:
You then have to install the Stripe module for Leaf:
Billing on-the-fly
Billing on-the-fly is the fastest way to charge customers—ideal for one-time payments, donations, or services. Just generate a payment link with Leaf Billing, and we’ll handle the rest. You can do this using the billing()
helper in your controller.
Leaf takes care of the entire payment session for you—automatically tracking the user (if available), any metadata you provide, and the payment status, keeping your code clean and focused on your app.
Billing Callbacks
By default, Leaf Billing redirects users to /billing/callback
after a payment is completed or canceled. You can customize this behavior by setting BILLING_SUCCESS_URL
and BILLING_CANCEL_URL
in your .env
file, or by passing custom URLs directly to the charge()
method.
billing()->callback()
parses and validates the callback, returning a BillingSession with full payment details. Use isSuccessful()
to determine the outcome. This is ideal for one-time payments—no subscription logic needed.
Billing with subscriptions
Unlike one-time payments, subscriptions require a more structured setup—but Leaf Billing makes it effortless. Just run the scaffold:subscriptions
command to instantly generate everything you need: billing config, controllers, routes, and views. You'll be up and running with subscriptions in minutes.
You then need to update the generated config/billing.php
file with your subscription tiers under the tiers
key:
Displaying your plans
The scaffold:subscriptions
command also generates a pricing component tailored to your chosen view engine—Blade, React, Vue, or Svelte. You can display your plans with just one line of code. The component is fully customizable, so you can tweak the design to match your app’s look and feel seamlessly.
Billing Events/Webhooks
Once you’ve charged a customer—especially for a subscription—you’ll want to track their payment status. The best way to do this is through webhooks. When you run the scaffold:subscriptions
command, Leaf Billing automatically generates a webhook controller that listens for events from your billing provider and handles them for you.
Since webhooks are stateless, you can't use the session()
or auth()
helpers to retrieve the user who made the payment. This is a common issue with webhooks, as they are designed to be stateless and don't have access to the session or authentication data. However, Leaf Billing automatically parses the webhook payload and provides you with a BillingEvent
instance, which gives you access to the user who made the payment, the subscription, and all other relevant details.