Note: This package is no longer maintained, use oureastudios/laravel5-braintree instead.
In your Laravel project's composer.json file, add laravel-braintree as a dependency in the require object:
"bradleyboy/laravel-braintree": "dev-master"You do not need to add any other dependencies, as laravel-braintree loads in the other dependencies automatically.
Finally, do a composer update.
Once installed, add the ServiceProvider to your provider array within app/config/app.php:
'providers' => array(
'Bradleyboy\Laravel\BraintreeServiceProvider'
)To publish a boilerplate configuration file, run:
php artisan config:publish bradleyboy/laravel-braintreeThen open app/config/packages/bradleyboy/laravel-braintree/braintree.php to setup your environment and keys:
<?php
return array(
'environment' => 'sandbox',
'merchantId' => 'my-merchant-id',
'publicKey' => 'my-public-key',
'privateKey' => 'my-private-key',
'clientSideEncryptionKey' => 'my-client-side-encryption-key',
);You can setup different environmental configurations by creating matching folders inside the app/config/packages/bradleyboy/laravel-braintree directory. For instance, if you have a local environment, add a config file at app/config/packages/bradleyboy/laravel-braintree/local/braintree.php for that environment.
Once setup, you can use the Braintree PHP classes as spelled out in the documentation.
If you are using braintree.js, you can easily output your client side encryption key in your Blade views:
<script type="text/javascript" src="https://js.braintreegateway.com/v1/braintree.js"></script>
<script type="text/javascript">
var braintree = Braintree.create("@braintreeClientSideEncryptionKey");
...
</script>Thanks to the Abodeo/laravel-stripe package, as I used it as a starting point.