<?php

namespace SplitPay\Contracts;

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

interface GatewayAdapterInterface {

	public function getId(): string;

	public function getName(): string;

	public function isActive(): bool;

	public function isTestMode(): bool;

	public function getSecretKey(): string;

	public function getPublicKey(): string;

	public function getWebhookSecret(): string;

	/** @return string Stripe charge ID resolved from the event or transaction data. */
	public function resolveChargeId( $eventOrTransaction ): string;

	public function getPlatformAccountId(): string;

	public function supportsWebhookSync(): bool;

	public function getWebhookEndpointId(): string;
}
