rlamb2, Hardeep,
Yes its the problem, file_get_contents() not work on some server
anyway replace
$recaptcha = new \ReCaptcha\ReCaptcha( $private_key );
By
$recaptcha = new \ReCaptcha\ReCaptcha($private_key, new \ReCaptcha\RequestMethod\SocketPost());
File : bp-recaptcha.php
Solved by creating a custom Ajax popup register/login that redirect to same cart page after register/login (it work like checkout page, force register or login befor can checkout)