Migrate billing from Paddle to Lemon Squeezy

This commit is contained in:
Codex Agent
2026-02-03 10:59:54 +01:00
parent 2f4ebfefd4
commit a0ef90e13a
228 changed files with 4369 additions and 4067 deletions

View File

@@ -33,11 +33,11 @@ class Package extends Model
'description',
'description_translations',
'description_table',
'paddle_product_id',
'paddle_price_id',
'paddle_sync_status',
'paddle_synced_at',
'paddle_snapshot',
'lemonsqueezy_product_id',
'lemonsqueezy_variant_id',
'lemonsqueezy_sync_status',
'lemonsqueezy_synced_at',
'lemonsqueezy_snapshot',
];
protected $casts = [
@@ -54,8 +54,8 @@ class Package extends Model
'name_translations' => 'array',
'description_translations' => 'array',
'description_table' => 'array',
'paddle_synced_at' => 'datetime',
'paddle_snapshot' => 'array',
'lemonsqueezy_synced_at' => 'datetime',
'lemonsqueezy_snapshot' => 'array',
];
protected $appends = [
@@ -146,20 +146,20 @@ class Package extends Model
];
}
public function getPaddleSyncErrorMessageAttribute(): ?string
public function getLemonSqueezySyncErrorMessageAttribute(): ?string
{
$message = data_get($this->paddle_snapshot, 'error.message');
$message = data_get($this->lemonsqueezy_snapshot, 'error.message');
return is_string($message) && $message !== '' ? $message : null;
}
public function linkPaddleIds(string $productId, string $priceId): void
public function linkLemonSqueezyIds(string $productId, string $variantId): void
{
$this->forceFill([
'paddle_product_id' => $productId,
'paddle_price_id' => $priceId,
'paddle_sync_status' => 'linked',
'paddle_synced_at' => now(),
'lemonsqueezy_product_id' => $productId,
'lemonsqueezy_variant_id' => $variantId,
'lemonsqueezy_sync_status' => 'linked',
'lemonsqueezy_synced_at' => now(),
])->save();
}