switched to paddle inline checkout, removed paypal and most of stripe. added product sync between app and paddle.

This commit is contained in:
Codex Agent
2025-10-27 17:26:39 +01:00
parent ecf5a23b28
commit 5432456ffd
117 changed files with 4114 additions and 3639 deletions

View File

@@ -2,7 +2,6 @@
use App\Http\Controllers\Api\EventPublicController;
use App\Http\Controllers\Api\PackageController;
use App\Http\Controllers\Api\StripeController;
use App\Http\Controllers\Api\Tenant\DashboardController;
use App\Http\Controllers\Api\Tenant\EmotionController;
use App\Http\Controllers\Api\Tenant\EventController;
@@ -13,10 +12,10 @@ use App\Http\Controllers\Api\Tenant\PhotoController;
use App\Http\Controllers\Api\Tenant\SettingsController;
use App\Http\Controllers\Api\Tenant\TaskCollectionController;
use App\Http\Controllers\Api\Tenant\TaskController;
use App\Http\Controllers\Api\TenantBillingController;
use App\Http\Controllers\Api\TenantPackageController;
use App\Http\Controllers\OAuthController;
use App\Http\Controllers\RevenueCatWebhookController;
use App\Http\Controllers\StripeWebhookController;
use App\Http\Controllers\Tenant\CreditController;
use Illuminate\Support\Facades\Route;
@@ -150,21 +149,15 @@ Route::prefix('v1')->name('api.v1.')->group(function () {
Route::post('/payment-intent', [PackageController::class, 'createPaymentIntent'])->name('packages.payment-intent');
Route::post('/complete', [PackageController::class, 'completePurchase'])->name('packages.complete');
Route::post('/free', [PackageController::class, 'assignFree'])->name('packages.free');
Route::post('/paypal-create', [PackageController::class, 'createPayPalOrder'])->name('packages.paypal-create');
Route::post('/paypal-capture', [PackageController::class, 'capturePayPalOrder'])->name('packages.paypal-capture');
});
Route::prefix('stripe')->group(function () {
Route::post('/payment-intent', [StripeController::class, 'createPaymentIntent'])->name('stripe.payment-intent');
Route::post('/subscription', [StripeController::class, 'createSubscription'])->name('stripe.subscription');
Route::post('/paddle-checkout', [PackageController::class, 'createPaddleCheckout'])->name('packages.paddle-checkout');
});
Route::prefix('tenant/packages')->group(function () {
Route::get('/', [TenantPackageController::class, 'index'])->name('tenant.packages.index');
});
Route::get('tenant/billing/transactions', [TenantBillingController::class, 'transactions'])
->name('tenant.billing.transactions');
});
// Stripe Webhook (no auth)
Route::post('/stripe/webhook', [StripeWebhookController::class, 'handleWebhook'])
->name('stripe.webhook');
});