cometcult/braintree-bundle

Symfony 2 Bundle for Braintree's PHP client library

0.1.0 2015-12-11 13:47 UTC

This package is not auto-updated.

Last update: 2024-04-24 08:43:33 UTC


README

Build Status Scrutinizer Quality Score

Symfony 2 Bundle for Braintree's PHP client library

Installation

Composer

Just add to your composer.json file:

{
    "require": {
        "cometcult/braintree-bundle": "dev-master"
    }
}

Application Kernel

Add the bundle to your application's kernel:

// app/AppKernel.php

public function registerBundles()
{
    return array(
        // ...
        new CometCult\BraintreeBundle\CometCultBraintreeBundle(),
        // ...
    );
}

Configuration

# app/config/config.yml
# ...
comet_cult_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

Usage

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.

Factory

One of the methods for getting a desired service is to call the get method from the BraintreeFactory:

// in your controller
$factory = $this->get('comet_cult_braintree.factory');
$customerService = $factory->get('customer');

Defining a service

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:  comet_cult_braintree.factory
        factory_method:   get
        arguments: ["customer"]

Then in your controller you can go with:

$customerService = $this->get('customer_custom_service');