*/ class PaymentOptionFactory extends Factory { /** * Define the model's default state. * * @return array */ public function definition(): array { $type = fake()->randomElement(PaymentOptionType::cases())->value; $interval = $type === PaymentOptionType::Onetime->value ? 'once' : fake()->randomElement(['monthly', 'yearly']); return [ 'article_number' => 'ART-'.fake()->unique()->numerify('#####'), 'type' => $type, 'price_cents' => fake()->numberBetween(990, 49900), 'currency' => 'EUR', 'interval' => $interval, 'is_hidden' => false, 'stripe_product_id' => 'prod_'.fake()->regexify('[A-Za-z0-9]{14}'), 'stripe_price_id' => 'price_'.fake()->regexify('[A-Za-z0-9]{14}'), ]; } }