php-commerce/Contracts/Orderable.php
Snider a774f4e285 refactor: migrate namespace from Core\Commerce to Core\Mod\Commerce
Align commerce module with the monorepo module structure by updating
all namespaces to use the Core\Mod\Commerce convention. This change
supports the recent monorepo separation and ensures consistency with
other modules.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 16:23:12 +00:00

33 lines
660 B
PHP

<?php
declare(strict_types=1);
namespace Core\Mod\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;
}