public function create(AppAction
$action, array
$payload, Context
$context): ActionButtonResponse
{ $this->
validate($payload,
$action->
getActionId());
$appSecret =
$action->
getAppSecret();
if ($appSecret) { $payload['iframeUrl'
] =
(string) $this->signer->
signUri($payload['iframeUrl'
],
$appSecret,
$context);
} $response =
new OpenModalResponse();
$response->
assign($payload);
return $response;
} /**
* @param array<mixed> $payload
*/
private function validate(array
$payload, string
$actionId): void
{ if (!
isset($payload['iframeUrl'
]) ||
empty($payload['iframeUrl'
])) {