archive) { $discounts->archiveDiscount($this->coupon); $this->coupon->forceFill([ 'lemonsqueezy_discount_id' => null, 'lemonsqueezy_snapshot' => null, 'lemonsqueezy_last_synced_at' => now(), ])->save(); return; } $data = $discounts->updateDiscount($this->coupon); $this->coupon->forceFill([ 'lemonsqueezy_discount_id' => $data['id'] ?? $this->coupon->lemonsqueezy_discount_id, 'lemonsqueezy_snapshot' => $data, 'lemonsqueezy_last_synced_at' => now(), ])->save(); } catch (LemonSqueezyException $exception) { Log::channel('lemonsqueezy-sync')->error('Failed syncing coupon to Lemon Squeezy', [ 'coupon_id' => $this->coupon->id, 'message' => $exception->getMessage(), 'status' => $exception->status(), 'context' => $exception->context(), ]); $this->coupon->forceFill([ 'lemonsqueezy_snapshot' => [ 'error' => $exception->getMessage(), 'status' => $exception->status(), 'context' => $exception->context(), ], ])->save(); throw $exception; } } }