Easily add google recaptcha

1.0.3 2016-08-31 09:33 UTC

This package is not auto-updated.

Last update: 2020-04-03 17:54:15 UTC


StyleCI Total Downloads

Google recaptcha for laravel

Easily add google recaptcha


  • PHP >=5.4
  • Laravel >= 5.0
  • GuzzleHttp >= 5.3


Add astritzeqiri/g-recaptcha to your composer.json file:

"require": {
    "astritzeqiri/g-recaptcha": "~1.0"

And do:

$ composer update

Or get composer to install the package:

$ composer require astritzeqiri/g-recaptcha


Now you go and generate a new Google recaptcha on the link below:

Google Recaptcha Generate.

Then you go to your .env file and set these variables

# If you want to disable captchas put this to false by default this is true.

# The google recaptcha site key

# The google recaptcha secret key

You can also change these variables on the config file on config/grecaptcha.php file.

return [
	'enabled' => env("GRECAPTCHA_ENABLED", true),
	'site_key' => env("GRECAPTCHA_KEY"),
	'secret_key' => env("GRECAPTCHA_SECRET"),

Registering the Package

Register the service provider within the providers array found in app/config/app.php:

'providers' => array(
    // ...

Then you need to add GRecaptcha class within the aliases array found in app/config/app.php:

'aliases' => array(
    // ...
    'GRecaptcha' => AstritZeqiri\GRecaptcha\GRecaptcha::class,

Then you run php artisan vendor:publish to publish the start_captchas script and also the recaptcha config file.

$ php artisan vendor:publish


First of all you need to call the grecaptcha scripts on the footer. The scripts are rendered only if you have an active captcha somewhere on you html.

// in blade.php files
{!! \GRecaptcha::renderScripts() !!}

// or in .php files
<?php echo GRecaptcha::renderScripts(); ?>

Basic Example

Now to render a new GRecaptcha you call the render method.

// by default it echo's it out

// if you want to save the html in a variable you call 
$grecaptchaHtml = GRecaptcha::render([], false);

If you want to get a new recaptcha instance:

$grecaptcha = GRecaptcha::generate();

// to render it you call

// if you dont want it to be rendered but store the html you call
$grecaptchaHtml = $grecaptcha->build();


When you validate a form to validate the recaptcha you use the rule grecaptcha

$validator = Validator::make($inputs,
    ['g-recaptcha-response' => 'required|grecaptcha']