various fixes for checkout

This commit is contained in:
Codex Agent
2025-12-22 21:51:34 +01:00
parent c8f0f880d2
commit 0f2604309d
12 changed files with 681 additions and 277 deletions

View File

@@ -301,7 +301,31 @@ class CheckoutController extends Controller
$session->save();
}
$this->attemptPaddleRecovery($session, $sessions, $assignment, $transactions);
if (app()->environment('local')
&& $session->provider === CheckoutSession::PROVIDER_PADDLE
&& ! in_array($session->status, [
CheckoutSession::STATUS_COMPLETED,
CheckoutSession::STATUS_FAILED,
CheckoutSession::STATUS_CANCELLED,
], true)
&& ($transactionId || $checkoutId)
) {
$sessions->markProcessing($session, array_filter([
'paddle_status' => 'completed',
'paddle_transaction_id' => $transactionId,
'paddle_local_confirmed_at' => now()->toIso8601String(),
]));
$assignment->finalise($session, [
'source' => 'paddle_local',
'provider' => CheckoutSession::PROVIDER_PADDLE,
'provider_reference' => $transactionId ?? $checkoutId,
]);
$sessions->markCompleted($session);
} else {
$this->attemptPaddleRecovery($session, $sessions, $assignment, $transactions);
}
$session->refresh();