evasquez/laravel-braintree

There is no license information available for the latest version (dev-master) of this package.

dev-master 2015-07-15 18:25 UTC

This package is not auto-updated.

Last update: 2024-11-07 00:38:20 UTC


README

Installation

In your Laravel project's composer.json file, add laravel-braintree as a dependency in the require object:

"evasquez/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(

    'Evasquez\LaravelBraintree\LaravelBraintreeServiceProvider'

)

Configuration

To publish a boilerplate configuration file, run:

php artisan config:publish evasquez/laravel-braintree

Then open app/config/packages/evasquez/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/evasquez/laravel-braintree directory. For instance, if you have a local environment, add a config file at app/config/packages/evasquez/laravel-braintree/local/braintree.php for that environment.

Usage

Once setup, you can use the Braintree PHP classes as spelled out in the documentation.

braintree.js

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/v2/braintree.js"></script>
<script type="text/javascript">
    var braintree = Braintree.create("@braintreeClientSideEncryptionKey");
    ...
</script>

Credits

Thanks to the bradleyboy/laravel-braintree package, as I used it as a starting point.