Add Events Pro/Business and BYO ticket gateways.
Deploy Ladill Events / deploy (push) Successful in 42s

Cut ticket checkouts off Ladill Pay, settle to merchant gateways at 0% platform fee, and mirror Invoice freemium pricing (GHS 49 / 149).

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-15 01:26:28 +00:00
co-authored by Cursor
parent dda52722ce
commit 4c87c786da
26 changed files with 1376 additions and 105 deletions
+2
View File
@@ -15,3 +15,5 @@ Schedule::command('hosting:process-expired-accounts')->daily()->withoutOverlappi
Schedule::command('hosting:notify-expiring')->daily()->withoutOverlapping();
Schedule::command('hosting:retry-pending-fulfillment')->everyFifteenMinutes()->withoutOverlapping();
Schedule::command('ssl:renew')->daily()->withoutOverlapping();
Schedule::command('events:pro-renew')->dailyAt('02:55')->withoutOverlapping();
+8
View File
@@ -5,6 +5,7 @@ use App\Http\Controllers\WalletBalanceController;
use App\Http\Controllers\Events\AttendeeController;
use App\Http\Controllers\Events\OverviewController;
use App\Http\Controllers\Events\PayoutsController;
use App\Http\Controllers\Events\ProController;
use App\Http\Controllers\Events\ProgrammeController;
use App\Http\Controllers\Events\SpeakerController;
use App\Http\Controllers\NotificationController;
@@ -99,6 +100,13 @@ Route::middleware(['auth', 'platform.session'])->group(function () {
Route::put('/events/{event}/speakers', [SpeakerController::class, 'update'])->name('speakers.update');
Route::post('/events/{event}/speakers/invite', [SpeakerController::class, 'sendInvite'])->name('speakers.invite');
Route::get('/pro', [ProController::class, 'index'])->name('events.pro.index');
Route::post('/pro/subscribe', [ProController::class, 'subscribe'])->name('events.pro.subscribe');
Route::post('/pro/subscribe-enterprise', [ProController::class, 'subscribeEnterprise'])->name('events.pro.subscribe-enterprise');
Route::post('/pro/subscribe-prepaid', [ProController::class, 'subscribePrepaid'])->name('events.pro.subscribe-prepaid');
Route::get('/pro/paystack/callback', [ProController::class, 'paystackCallback'])->name('events.pro.paystack.callback');
Route::post('/pro/cancel', [ProController::class, 'cancel'])->name('events.pro.cancel');
Route::get('/payouts', [PayoutsController::class, 'index'])->name('events.payouts');
Route::get('/payouts/banks', [PayoutsController::class, 'banks'])->name('events.payouts.banks');
Route::put('/payouts/payout-account', [PayoutsController::class, 'updatePayoutAccount'])->name('events.payouts.payout-account');