I am excited to share the latest update for Spike - THE billing portal for your Laravel app. The update contains several exciting updates, as well as a few other small undocumented changes and improvements.

Spike v3 is now available and can be installed by following the install instructions.

If you're updating from a previous version of Spike, please see the upgrade instructions.

Now, let's see what's new in Spike v3.

Credit Types

One of the most significant updates in Spike v3 is the ability to define, sell and use multiple types of credits. This is perfect for cases where you want to represent different resources via different currencies (credits). For example, "email credits" for sending marketing emails via your platform, and "sms credits" for sending SMS messages. Why have just one when you can have both!

Your subscriptions and/or products can then provide multiple types of credits every month (subscriptions) or once purchased (products).

Code for configuring credit types in Spike
config/spike.php

Above is an example of what your configuration for multiple credits might look like, which configures 3 different types of credits:

  • a generic "credits" currency for various actions in your app
  • "emails" currency to be used for sending emails
  • "SMS" currency to be used for sending SMS messages

And here's what it would look like in the UI:

Screenshot of Spike UI, showcasing how multiple types of credits can be stored and purchased by users.
Multiple types of credits can be stored and purchased by your users

Easy! The icons can be SVG strings, URLs, or just null if you'd like to use the default coins icon.

To learn more about configuring credit types, please visit the Credit Types documentation.

Providables

In addition to providing credits to your users for subscribing or purchasing products, you can also define your own, custom Providables. They can then be added to your Spike's subscription/product configuration which will then be provided to your user upon purchase (for products), or repeatedly every month (for subscriptions).

To learn more about Providables and create your own, check out the documentation for Providables.

Paddle support

Paddle is a popular payment provider used to sell products and subscriptions. Paddle is a "merchant of record", which means it takes on the responsibility of managing sales tax compliance, billing support, fraud prevention, and more on behalf of the businesses it serves. This allows you to focus on building the product and not worrying about taxes.

Spike v3 brings out much-requested support for Paddle as the payment provider. It is also based on Laravel Cashier, but the Paddle version of it. Much of Cashier is abstracted away by Spike, so you shouldn't need to perform any Cashier-specific configuration.

Setting up Paddle as the payment provider for Spike is easy, guided, and well documented.

Paddle uses its own overlay checkout, which means Paddle does all the work of collecting user payment details, collecting the necessary tax, and handling payment failures. How convenient!

Screenshot of Paddle checkout inside Spike
Paddle checkout inside Spike

To learn how to set up Paddle for your project, visit the documentation for Paddle.

How to upgrade?

If you like the changes above and want to have them in your Spike billing portal, the upgrade process is short and easy. Just follow the instructions in the Upgrade Guide.


If you have questions, issues or feature requests for Spike, do not hesitate to reach out to me on arunas@arunas.dev .