/** * create signatures for different call types * @ignore */ public static function init() { self::$_createCustomerSignature = array(self::$_transparentRedirectKeys, array('customer' => Braintree_Customer::createSignature())); self::$_updateCustomerSignature = array(self::$_transparentRedirectKeys, 'customerId', array('customer' => Braintree_Customer::updateSignature())); self::$_transactionSignature = array(self::$_transparentRedirectKeys, array('transaction' => Braintree_Transaction::createSignature())); self::$_createCreditCardSignature = array(self::$_transparentRedirectKeys, array('creditCard' => Braintree_CreditCard::createSignature())); self::$_updateCreditCardSignature = array(self::$_transparentRedirectKeys, 'paymentMethodToken', array('creditCard' => Braintree_CreditCard::updateSignature())); }
function testUpdateSignature_doesNotAlterOptionsInCreditCardUpdateSignature() { Braintree_Customer::updateSignature(); foreach (Braintree_CreditCard::updateSignature() as $key => $value) { if (is_array($value) and array_key_exists('options', $value)) { $this->assertEquals(array('makeDefault', 'verificationMerchantAccountId', 'verifyCard'), $value['options']); } } }
/** * creates a full array signature of a valid update request * @return array update request format */ public static function updateSignature() { $creditCardSignature = Braintree_CreditCard::updateSignature(); foreach ($creditCardSignature as $key => $value) { if (is_array($value) and array_key_exists('options', $value)) { array_push($creditCardSignature[$key]['options'], 'updateExistingToken'); } } $signature = array('id', 'company', 'email', 'fax', 'firstName', 'lastName', 'phone', 'website', 'deviceData', 'deviceSessionId', 'fraudMerchantId', array('creditCard' => $creditCardSignature), array('customFields' => array('_anyKey_'))); return $signature; }