php-commerce/Contracts/Orderable.php

34 lines
656 B
PHP
Raw Normal View History

2026-01-27 00:24:22 +00:00
<?php
declare(strict_types=1);
namespace Core\Commerce\Contracts;
/**
* Contract for entities that can place orders.
*
* Implemented by User, Workspace, or any entity that needs billing.
*/
interface Orderable
{
/**
* Get the billing name for orders.
*/
public function getBillingName(): ?string;
/**
* Get the billing email for orders.
*/
public function getBillingEmail(): string;
/**
* Get the billing address for orders.
*/
public function getBillingAddress(): ?array;
/**
* Get the tax country code (for tax calculation).
*/
public function getTaxCountry(): ?string;
}