Symfony 2 Bundle for Braintree's PHP client library
Install
composer require nacholibre/braintree-bundle
Add the bundle to your application's kernel:
// app/AppKernel.php
public function registerBundles()
{
return array(
// ...
new nacholibre\BraintreeBundle\nacholibreBraintreeBundle(),
// ...
);
}
# app/config/config.yml
# ...
nacholibre_braintree:
environment: sandbox
merchant_id: your_merchant_id
public_key: your_public_key
private_key: your_private_key
For more info about the configuration variables see Braintree docs
Braintree php client library comes with a bunch of services for the Braintree API. They are usually prefixed by Braintree_
.
To see all available Braintree services head over to braintree_php or the official documentation.
One of the methods for getting a desired service is to call the get
method from the BraintreeFactory
:
// in your controller
$factory = $this->get('braintree.factory');
$customerService = $factory->get('customer');
Instead of calling the factory you can define a custom service in your own bundle:
# ../services.yml
services:
customer_custom_service:
class: Braintree_Customer
factory_service: braintree.factory
factory_method: get
arguments: ["customer"]
Then in your controller you can go with:
$customerService = $this->get('customer_custom_service');