Braintree PHP Client Library

The Braintree PHP library provides integration access to the Braintree Gateway.


PHP version >= 5.4.0 is required.

The following PHP extensions are required:

  • curl
  • dom
  • hash
  • openssl
  • xmlwriter

Quick Start Example


require_once 'PATH_TO_BRAINTREE/lib/Braintree.php';


$result = Braintree\Transaction::sale([
    'amount' => '1000.00',
    'paymentMethodNonce' => 'nonceFromTheClient',
    'options' => [ 'submitForSettlement' => true ]

if ($result->success) {
    print_r("success!: " . $result->transaction->id);
} else if ($result->transaction) {
    print_r("Error processing transaction:");
    print_r("\n  code: " . $result->transaction->processorResponseCode);
    print_r("\n  text: " . $result->transaction->processorResponseText);
} else {
    print_r("Validation errors: \n");

HHVM Support

The Braintree PHP library will run on HHVM >= 3.4.2.

Legacy PHP Support

Version 2.40.0 is compatible with PHP 5.2 and 5.3. You can find it on our releases page.



The unit specs can be run by anyone on any system, but the integration specs are meant to be run against a local development server of our gateway code. These integration specs are not meant for public consumption and will likely fail if run on your system. To run unit tests use rake: rake test:unit.

The benefit of the rake tasks is that testing covers default hhvm and php interpreters. However, if you want to run tests manually simply use the following command:

phpunit tests/unit/

Open Source Attribution

A list of open source projects that help power Braintree can be found here.


See the LICENSE file.