/braintree_php

braintree php client library

Primary LanguagePHPMIT LicenseMIT

Braintree PHP Client Library

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

Dependencies

PHP version >= 5.4.0 is required.

The following PHP extensions are required:

  • curl
  • dom
  • hash
  • openssl
  • xmlwriter

Quick Start Example

<?php

require_once 'PATH_TO_BRAINTREE/lib/Braintree.php';

Braintree_Configuration::environment('sandbox');
Braintree_Configuration::merchantId('your_merchant_id');
Braintree_Configuration::publicKey('your_public_key');
Braintree_Configuration::privateKey('your_private_key');

$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");
    print_r($result->errors->deepAll());
}

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.

Documentation

Testing

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.

License

See the LICENSE file.