<?php
/**
 * BookiFlex Payment Extension
 *
 * @package    BookiFlex
 * @subpackage Payment
 * @author     BookiFlex
 * @copyright  Copyright (c) 2025 BookiFlex
 * @license    GPL-2.0-or-later
 *
 * @link       https://bookiflex.com
 */


declare(strict_types=1);
namespace BookiFlex\Extensions\Payment\Contract;

defined( 'ABSPATH' ) || exit;

/**
 * Creates customer-facing redirect URLs to start a payment.
 *
 * Returns the URL the customer is redirected to; the underlying processor
 * (Payum, WooCommerce, ...) decides how that URL is produced.
 */
interface PaymentInitiatorInterface
{
    public function createPublicCaptureUrl(string $sid, array $exceptGateways): string;

    public function createPrivateCaptureUrl(string $sid, int $paymentId): string;

    public function createPrivateCancelUrl(string $sid, int $paymentId): string;
}