status is Pending — see SupportsPay's docblock for the * same async-resolution note. */ interface SupportsAuthorization { /** * Same $type/$amount/$data/$context reasoning as SupportsPay::pay(). * * @param array $data * @param array $context */ public function authorize(string $type, Price $amount, array $data = [], array $context = []): PaymentResult; }