', esc_attr( $site_key ) ); } /** * Verification endpoint. */ protected function endpoint(): string { return 'https://api.hcaptcha.com/siteverify'; } /** * Sends the site key so hCaptcha rejects tokens issued for another key. * * @param string $site_key Site key. * @return array */ protected function extra_params( string $site_key ): array { return array( 'sitekey' => $site_key ); } /** * HCaptcha's published test site keys. * * @return string[] */ protected function test_site_keys(): array { return array( '10000000-ffff-ffff-ffff-000000000001', '20000000-ffff-ffff-ffff-000000000002', '30000000-ffff-ffff-ffff-000000000003' ); } }