<?php

namespace App\Contracts;

use App\Models\PaymentTransaction;
use Illuminate\Http\Request;

interface BanglaQrProviderInterface
{
    public function initiatePayment(PaymentTransaction $transaction, array $payload): array;

    public function checkStatus(PaymentTransaction $transaction): array;

    public function verifyCallback(Request $request): string;

    public function refund(PaymentTransaction $transaction, float $amount, array $context = []): array;

    public function getSettlement(array $filters = []): array;
}
