<?php  namespace App\Services\Orders\Payments;  use Exception; use Throwable; use App\Models\Order; use Illuminate\Support\Facades\Log; use Srmklive\PayPal\Services\PayPal; use App\Contracts\OrderFinalizationInterface;  class PayPalPaymentService implements OrderFinalizationInterface { 	public const SANDBOX = 'sandbox'; 	public const LIVE = 'live'; 	protected string $clientId; 	protected string $clientSecret; 	protected string $mode; 	protected array $config = [];  	public function __construct(private PayPal $provider){}  	public function finalize(Order $order): void{}  	public function isOrderValid(string $payId, Order $originalOrder): bool{}  	public function getOrderDetails(string $payId): ?array{}  	public function convertToEur(Order $order): string{}  	public function generatePayLink(Order $order): string{}  	protected function appendToOrder(Order $order, string $link): void{}  	private function setConfig(): void{}  	private function captureOrder(string $payId): bool{} }