ekart/backend/app/Data/StripeLineItemDTO.php
kusowl 0799965212 wip: stripe implementation
- add model, dto
2026-03-20 19:03:33 +05:30

36 lines
893 B
PHP

<?php
namespace App\Data;
use App\Contracts\OutputDataTransferObject;
use App\Enums\StripeCurrency;
final readonly class StripeLineItemDTO implements OutputDataTransferObject
{
public function __construct(
public StripeCurrency $currency,
public int $price,
public string $productName,
public string $productDescription,
public int $quantity
) {}
/**
* @return array<string, int|string>
*/
public function toArray(): array
{
return [
'price_data' => [
'currency' => $this->currency->value,
'unit_amount' => $this->price,
'product_data' => [
'name' => $this->productName,
'description' => $this->productDescription,
],
],
'quantity' => $this->quantity,
];
}
}