<?php

declare (strict_types=1);
namespace DropshippingExportFreeVendor\WPDesk\Library\DropshippingExport\Service\Ucp\Checkout\Payment;

use WC_Order;
/**
 * Interface for all UCP payment handlers.
 */
interface PaymentHandlerInterface
{
    /**
     * Check if this processor can handle the given handler ID.
     *
     * @param string $handler_id The handler ID from the payment instrument.
     */
    public function supports(string $handler_id): bool;
    /**
     * Process the payment for the given order using the provided instrument data.
     *
     * @param array<string, mixed> $instrument The UCP payment instrument data.
     */
    public function process(WC_Order $order, array $instrument): PaymentResult;
}
