Files
device-management/app/Billing/Contracts/PaymentGateway.php
T
Wian Drs 60946ddf37
tests / ci (push) Has been cancelled
update lisensi prosess
2026-08-25 13:43:55 +07:00

24 lines
747 B
PHP

<?php
namespace App\Billing\Contracts;
use App\Models\BillingOrder;
interface PaymentGateway
{
/** @return array<int,array{code:string,name:string,fee:int}> */
public function paymentMethods(BillingOrder $order): array;
/** @return array{external_id:?string,checkout_url:?string,metadata:array<string,mixed>} */
public function createCheckout(BillingOrder $order): array;
/** @param array<string,mixed> $payload */
public function verifyWebhook(array $payload, array $headers = []): bool;
/** @param array<string,mixed> $payload */
public function statusFromWebhook(array $payload): string;
/** @param array<string,mixed> $payload */
public function externalIdFromWebhook(array $payload): ?string;
}