Вот код:
<script src="https://captcha-api.yandex.ru/captcha.js" defer></script>
	<div id="captcha-container" class="smart-captcha"
      style="height: 100px"
      id="captcha-container"
      class="smart-captcha"
      data-sitekey="4uJL8Ux12Ai5TFZtPamOIgL4evbtTq93Veqo1wnv"
      data-hl="en"
      data-callback="yandex_captcha"
    >
    <input type="hidden" name="smart-token" id="smart_token" value="dQ0">
    </div>
    <script>
    function yandex_captcha() {
        var smart_token = $('#smart_token').val();
        console.log(smart_token);
    }
    </script>
На выходе получаю 
undefined
делаю как в документации яндекса
<div id="captcha-container" class="smart-captcha" ...>
    <input type="hidden" name="smart-token" value="<token>">
    ...
</div>
Разобрался, рабочий код:
<script src="https://captcha-api.yandex.ru/captcha.js" defer></script>
	<div id="captcha-container" class="smart-captcha"
      style="height: 100px"
      id="captcha-container"
      class="smart-captcha"
      data-sitekey="<ключ_клиента>"
      data-hl="en"
      data-callback="yandex_captcha"
    >
    </div>
    <script>
    function yandex_captcha() {
        var smart_token = document.querySelector('input[name="smart-token"]').value;
        console.log(smart_token);
    }
    </script>