Compare commits
1 commit
dev
...
feat/test-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5bce748a0f |
1 changed files with 20 additions and 12 deletions
|
|
@ -52,10 +52,12 @@ Route::prefix('webhooks')->group(function () {
|
||||||
// });
|
// });
|
||||||
|
|
||||||
// ─────────────────────────────────────────────────────────────────────────────
|
// ─────────────────────────────────────────────────────────────────────────────
|
||||||
// Commerce Billing API (authenticated)
|
// Commerce Billing API (authenticated + verified)
|
||||||
// ─────────────────────────────────────────────────────────────────────────────
|
// ─────────────────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
Route::middleware('auth')->prefix('commerce')->group(function () {
|
Route::middleware(['auth', 'verified'])->prefix('commerce')->group(function () {
|
||||||
|
// ── Read-only endpoints ──────────────────────────────────────────────
|
||||||
|
|
||||||
// Billing overview
|
// Billing overview
|
||||||
Route::get('/billing', [CommerceController::class, 'billing'])
|
Route::get('/billing', [CommerceController::class, 'billing'])
|
||||||
->name('api.commerce.billing');
|
->name('api.commerce.billing');
|
||||||
|
|
@ -74,21 +76,27 @@ Route::middleware('auth')->prefix('commerce')->group(function () {
|
||||||
Route::get('/invoices/{invoice}/download', [CommerceController::class, 'downloadInvoice'])
|
Route::get('/invoices/{invoice}/download', [CommerceController::class, 'downloadInvoice'])
|
||||||
->name('api.commerce.invoices.download');
|
->name('api.commerce.invoices.download');
|
||||||
|
|
||||||
// Subscription
|
// Subscription (read)
|
||||||
Route::get('/subscription', [CommerceController::class, 'subscription'])
|
Route::get('/subscription', [CommerceController::class, 'subscription'])
|
||||||
->name('api.commerce.subscription');
|
->name('api.commerce.subscription');
|
||||||
Route::post('/cancel', [CommerceController::class, 'cancelSubscription'])
|
|
||||||
->name('api.commerce.cancel');
|
|
||||||
Route::post('/resume', [CommerceController::class, 'resumeSubscription'])
|
|
||||||
->name('api.commerce.resume');
|
|
||||||
|
|
||||||
// Usage
|
// Usage
|
||||||
Route::get('/usage', [CommerceController::class, 'usage'])
|
Route::get('/usage', [CommerceController::class, 'usage'])
|
||||||
->name('api.commerce.usage');
|
->name('api.commerce.usage');
|
||||||
|
|
||||||
// Plan changes
|
// ── State-changing endpoints (rate-limited) ──────────────────────────
|
||||||
Route::post('/upgrade/preview', [CommerceController::class, 'previewUpgrade'])
|
|
||||||
->name('api.commerce.upgrade.preview');
|
Route::middleware('throttle:6,1')->group(function () {
|
||||||
Route::post('/upgrade', [CommerceController::class, 'executeUpgrade'])
|
// Subscription management
|
||||||
->name('api.commerce.upgrade');
|
Route::post('/cancel', [CommerceController::class, 'cancelSubscription'])
|
||||||
|
->name('api.commerce.cancel');
|
||||||
|
Route::post('/resume', [CommerceController::class, 'resumeSubscription'])
|
||||||
|
->name('api.commerce.resume');
|
||||||
|
|
||||||
|
// Plan changes
|
||||||
|
Route::post('/upgrade/preview', [CommerceController::class, 'previewUpgrade'])
|
||||||
|
->name('api.commerce.upgrade.preview');
|
||||||
|
Route::post('/upgrade', [CommerceController::class, 'executeUpgrade'])
|
||||||
|
->name('api.commerce.upgrade');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue