Skip to content

Commit

Permalink
2.40.0
Browse files Browse the repository at this point in the history
  • Loading branch information
braintreeps committed May 14, 2015
1 parent 11322fe commit acd9476
Show file tree
Hide file tree
Showing 36 changed files with 332 additions and 136 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
@@ -1,3 +1,7 @@
## 2.40.0
* Add missing criteria to credit card verification search
* Bugfix for autoloading files with Composer

## 2.39.0
* Add oauth functionality
* Add 3DS info to the server side
Expand Down
53 changes: 1 addition & 52 deletions lib/Braintree.php
Expand Up @@ -13,58 +13,7 @@

set_include_path(get_include_path() . PATH_SEPARATOR . realpath(dirname(__FILE__)));

abstract class Braintree
{
/**
* @ignore
* don't permit an explicit call of the constructor!
* (like $t = new Braintree_Transaction())
*/
protected function __construct()
{
}
/**
* @ignore
* don't permit cloning the instances (like $x = clone $v)
*/
protected function __clone()
{
}

/**
* returns private/nonexistent instance properties
* @ignore
* @access public
* @param string $name property name
* @return mixed contents of instance properties
*/
public function __get($name)
{
if (array_key_exists($name, $this->_attributes)) {
return $this->_attributes[$name];
}
else {
trigger_error('Undefined property on ' . get_class($this) . ': ' . $name, E_USER_NOTICE);
return null;
}
}

/**
* used by isset() and empty()
* @access public
* @param string $name property name
* @return boolean
*/
public function __isset($name)
{
return array_key_exists($name, $this->_attributes);
}

public function _set($key, $value)
{
$this->_attributes[$key] = $value;
}
}
require_once('Braintree/Base.php');
require_once('Braintree/Modification.php');
require_once('Braintree/Instance.php');

Expand Down
2 changes: 1 addition & 1 deletion lib/Braintree/Address.php
Expand Up @@ -25,7 +25,7 @@
* @property-read string $streetAddress
* @property-read string $updatedAt
*/
class Braintree_Address extends Braintree
class Braintree_Address extends Braintree_Base
{
/**
* returns false if comparing object is not a Braintree_Address,
Expand Down
2 changes: 1 addition & 1 deletion lib/Braintree/ApplePayCard.php
Expand Up @@ -22,7 +22,7 @@
* @property-read string $paymentInstrumentName
* @property-read string $updatedAt
*/
class Braintree_ApplePayCard extends Braintree
class Braintree_ApplePayCard extends Braintree_Base
{
// Card Type
const AMEX = 'Apple Pay - American Express';
Expand Down
70 changes: 70 additions & 0 deletions lib/Braintree/Base.php
@@ -0,0 +1,70 @@
<?php

/**
* Base functionality for library classes
*/
abstract class Braintree_Base
{
/**
* Disable the default constructor
*
* Objects that inherit from Braintree_Base should be constructed with
* the static factory() method.
*
* @ignore
*/
protected function __construct()
{
}

/**
* Disable cloning of objects
*
* @ignore
*/
protected function __clone()
{
}

/**
* Accessor for instance properties stored in the private $_attributes property
*
* @ignore
* @param string $name
* @return mixed
*/
public function __get($name)
{
if (array_key_exists($name, $this->_attributes)) {
return $this->_attributes[$name];
}
else {
trigger_error('Undefined property on ' . get_class($this) . ': ' . $name, E_USER_NOTICE);
return null;
}
}

/**
* Checks for the existance of a property stored in the private $_attributes property
*
* @ignore
* @param string $name
* @return boolean
*/
public function __isset($name)
{
return array_key_exists($name, $this->_attributes);
}

/**
* Mutator for instance properties stored in the private $_attributes property
*
* @ignore
* @param string $key
* @param mixed $value
*/
public function _set($key, $value)
{
$this->_attributes[$key] = $value;
}
}
2 changes: 1 addition & 1 deletion lib/Braintree/CoinbaseAccount.php
Expand Up @@ -22,7 +22,7 @@
* @property-read string $userName
* @property-read string $userEmail
*/
class Braintree_CoinbaseAccount extends Braintree
class Braintree_CoinbaseAccount extends Braintree_Base
{
/**
* factory method: returns an instance of Braintree_CoinbaseAccount
Expand Down
23 changes: 21 additions & 2 deletions lib/Braintree/CreditCard.php
Expand Up @@ -27,7 +27,7 @@
* @property-read string $token
* @property-read string $updatedAt
*/
class Braintree_CreditCard extends Braintree
class Braintree_CreditCard extends Braintree_Base
{
// Card Type
const AMEX = 'American Express';
Expand All @@ -44,7 +44,7 @@ class Braintree_CreditCard extends Braintree
const VISA = 'Visa';
const UNKNOWN = 'Unknown';

// Credit card origination location
// Credit card origination location
const INTERNATIONAL = "international";
const US = "us";

Expand Down Expand Up @@ -289,4 +289,23 @@ public static function delete($token)
{
return Braintree_Configuration::gateway()->creditCard()->delete($token);
}

public static function allCardTypes()
{
return array(
Braintree_CreditCard::AMEX,
Braintree_CreditCard::CARTE_BLANCHE,
Braintree_CreditCard::CHINA_UNION_PAY,
Braintree_CreditCard::DINERS_CLUB_INTERNATIONAL,
Braintree_CreditCard::DISCOVER,
Braintree_CreditCard::JCB,
Braintree_CreditCard::LASER,
Braintree_CreditCard::MAESTRO,
Braintree_CreditCard::MASTER_CARD,
Braintree_CreditCard::SOLO,
Braintree_CreditCard::SWITCH_TYPE,
Braintree_CreditCard::VISA,
Braintree_CreditCard::UNKNOWN
);
}
}
68 changes: 44 additions & 24 deletions lib/Braintree/CreditCardVerificationSearch.php
@@ -1,33 +1,53 @@
<?php
class Braintree_CreditCardVerificationSearch
{
static function id() { return new Braintree_TextNode('id'); }
static function creditCardCardholderName() { return new Braintree_TextNode('credit_card_cardholder_name'); }
static function id() {
return new Braintree_TextNode('id');
}

static function creditCardCardholderName() {
return new Braintree_TextNode('credit_card_cardholder_name');
}

static function creditCardExpirationDate() { return new Braintree_EqualityNode('credit_card_expiration_date'); }
static function creditCardNumber() { return new Braintree_PartialMatchNode('credit_card_number'); }
static function billingAddressDetailsPostalCode() {
return new Braintree_TextNode('billing_address_details_postal_code');
}

static function customerEmail() {
return new Braintree_TextNode('customer_email');
}

static function ids() { return new Braintree_MultipleValueNode('ids'); }
static function customerId() {
return new Braintree_TextNode('customer_id');
}

static function paymentMethodToken(){
return new Braintree_TextNode('payment_method_token');
}

static function creditCardExpirationDate() {
return new Braintree_EqualityNode('credit_card_expiration_date');
}

static function creditCardNumber() {
return new Braintree_PartialMatchNode('credit_card_number');
}

static function ids() {
return new Braintree_MultipleValueNode('ids');
}

static function createdAt() {
return new Braintree_RangeNode("created_at");
}

static function creditCardCardType()
{
return new Braintree_MultipleValueNode("credit_card_card_type", array(
Braintree_CreditCard::AMEX,
Braintree_CreditCard::CARTE_BLANCHE,
Braintree_CreditCard::CHINA_UNION_PAY,
Braintree_CreditCard::DINERS_CLUB_INTERNATIONAL,
Braintree_CreditCard::DISCOVER,
Braintree_CreditCard::JCB,
Braintree_CreditCard::LASER,
Braintree_CreditCard::MAESTRO,
Braintree_CreditCard::MASTER_CARD,
Braintree_CreditCard::SOLO,
Braintree_CreditCard::SWITCH_TYPE,
Braintree_CreditCard::VISA,
Braintree_CreditCard::UNKNOWN
));
}


static function createdAt() { return new Braintree_RangeNode("created_at"); }
return new Braintree_MultipleValueNode("credit_card_card_type", Braintree_CreditCard::allCardTypes());
}

static function status()
{
return new Braintree_MultipleValueNode("status", Braintree_Result_CreditCardVerification::allStatuses());
}
}
2 changes: 1 addition & 1 deletion lib/Braintree/Customer.php
Expand Up @@ -28,7 +28,7 @@
* @property-read string $updatedAt
* @property-read string $website
*/
class Braintree_Customer extends Braintree
class Braintree_Customer extends Braintree_Base
{
public static function all()
{
Expand Down
2 changes: 1 addition & 1 deletion lib/Braintree/Disbursement.php
@@ -1,5 +1,5 @@
<?php
final class Braintree_Disbursement extends Braintree
final class Braintree_Disbursement extends Braintree_Base
{
private $_merchantAccount;

Expand Down
2 changes: 1 addition & 1 deletion lib/Braintree/Dispute.php
Expand Up @@ -14,7 +14,7 @@
* @property-read string $disbursementDate
* @property-read object $transactionDetails
*/
final class Braintree_Dispute extends Braintree
final class Braintree_Dispute extends Braintree_Base
{
protected $_attributes = array();

Expand Down
2 changes: 1 addition & 1 deletion lib/Braintree/Merchant.php
@@ -1,6 +1,6 @@
<?php

final class Braintree_Merchant extends Braintree
final class Braintree_Merchant extends Braintree_Base
{
protected function _initialize($attribs)
{
Expand Down
2 changes: 1 addition & 1 deletion lib/Braintree/MerchantAccount.php
@@ -1,6 +1,6 @@
<?php

final class Braintree_MerchantAccount extends Braintree
final class Braintree_MerchantAccount extends Braintree_Base
{
const STATUS_ACTIVE = 'active';
const STATUS_PENDING = 'pending';
Expand Down
2 changes: 1 addition & 1 deletion lib/Braintree/MerchantAccount/BusinessDetails.php
@@ -1,6 +1,6 @@
<?php

final class Braintree_MerchantAccount_BusinessDetails extends Braintree
final class Braintree_MerchantAccount_BusinessDetails extends Braintree_Base
{
protected function _initialize($businessAttribs)
{
Expand Down
2 changes: 1 addition & 1 deletion lib/Braintree/MerchantAccount/IndividualDetails.php
@@ -1,6 +1,6 @@
<?php

final class Braintree_MerchantAccount_IndividualDetails extends Braintree
final class Braintree_MerchantAccount_IndividualDetails extends Braintree_Base
{
protected function _initialize($individualAttribs)
{
Expand Down
2 changes: 1 addition & 1 deletion lib/Braintree/Modification.php
@@ -1,5 +1,5 @@
<?php
class Braintree_Modification extends Braintree
class Braintree_Modification extends Braintree_Base
{
protected function _initialize($attributes)
{
Expand Down
2 changes: 1 addition & 1 deletion lib/Braintree/OAuthCredentials.php
Expand Up @@ -7,7 +7,7 @@
* @copyright 2014 Braintree, a division of PayPal, Inc.
*
*/
class Braintree_OAuthCredentials extends Braintree
class Braintree_OAuthCredentials extends Braintree_Base
{
protected function _initialize($attribs)
{
Expand Down
2 changes: 1 addition & 1 deletion lib/Braintree/PartnerMerchant.php
Expand Up @@ -15,7 +15,7 @@
* @property-read string $partnerMerchantId
* @uses Braintree_Instance inherits methods
*/
class Braintree_PartnerMerchant extends Braintree
class Braintree_PartnerMerchant extends Braintree_Base
{
protected $_attributes = array();

Expand Down
2 changes: 1 addition & 1 deletion lib/Braintree/PayPalAccount.php
Expand Up @@ -21,7 +21,7 @@
* @property-read string $token
* @property-read string $imageUrl
*/
class Braintree_PayPalAccount extends Braintree
class Braintree_PayPalAccount extends Braintree_Base
{
/**
* factory method: returns an instance of Braintree_PayPalAccount
Expand Down
2 changes: 1 addition & 1 deletion lib/Braintree/PaymentMethod.php
Expand Up @@ -18,7 +18,7 @@
* @copyright 2014 Braintree, a division of PayPal, Inc.
*
*/
class Braintree_PaymentMethod extends Braintree
class Braintree_PaymentMethod extends Braintree_Base
{
// static methods redirecting to gateway

Expand Down
2 changes: 1 addition & 1 deletion lib/Braintree/PaymentMethodNonce.php
Expand Up @@ -18,7 +18,7 @@
* @copyright 2014 Braintree, a division of PayPal, Inc.
*
*/
class Braintree_PaymentMethodNonce extends Braintree
class Braintree_PaymentMethodNonce extends Braintree_Base
{
// static methods redirecting to gateway

Expand Down

0 comments on commit acd9476

Please sign in to comment.