$ctx customer/email/iban-token/return_url … * @return array{ok:bool, mandate_ref?:string, client_secret?:string, error?:string} */ public function createMandate(array $ctx): array; /** * Charge a stored mandate off-session for a renewal. * * @param array $subscription row from abovault_subscriptions * @return array{status:'succeeded'|'processing'|'failed', reference?:string, reason?:string} */ public function chargeOffSession(array $subscription): array; /** * @return array{ok:bool, reference?:string, error?:string} */ public function refund(string $chargeRef, ?int $amountCents = null): array; }