As it uses cashier under the hood...
Well, you already know it uses Cashier under the hood, what do you need different than making a simple charge using Cashier methods directly?
From the docs:
use Illuminate\Http\Request;
Route::post('/purchase', function (Request $request) {
$stripeCharge = $request->user()->charge(
100, $request->paymentMethodId
);
// ...
});
reference: https://laravel.com/docs/9.x/billing#simple-charge
Or would this be too much of a hassle and should I stick to just cashier for this?
I think it is not worth the hassle. Spark is build around subscriptions, and making changes around it, could led to your code being tightly coupled to Spark and make it difficult to upgrade to a new version in the future.