== More information ==
For more detailed information on CreditCards, see {@link http://www.braintreepayments.com/gateway/credit-card-api http://www.braintreepaymentsolutions.com/gateway/credit-card-api}
For more detailed information on CreditCard verifications, see {@link http://www.braintreepayments.com/gateway/credit-card-verification-api http://www.braintreepaymentsolutions.com/gateway/credit-card-verification-api}
For more detailed information on CreditCard verifications, see {@link http://www.braintreepayments.com/gateway/credit-card-verification-api http://www.braintreepaymentsolutions.com/gateway/credit-card-verification-api}
/** * create signatures for different call types * @ignore */ public static function init() { self::$_createCustomerSignature = [self::$_transparentRedirectKeys, ['customer' => CustomerGateway::createSignature()]]; self::$_updateCustomerSignature = [self::$_transparentRedirectKeys, 'customerId', ['customer' => CustomerGateway::updateSignature()]]; self::$_transactionSignature = [self::$_transparentRedirectKeys, ['transaction' => TransactionGateway::createSignature()]]; self::$_createCreditCardSignature = [self::$_transparentRedirectKeys, ['creditCard' => CreditCardGateway::createSignature()]]; self::$_updateCreditCardSignature = [self::$_transparentRedirectKeys, 'paymentMethodToken', ['creditCard' => CreditCardGateway::updateSignature()]]; }
public function testUpdateSignature_doesNotAlterOptionsInCreditCardUpdateSignature() { Braintree\CustomerGateway::updateSignature(); foreach (Braintree\CreditCardGateway::updateSignature() as $key => $value) { if (is_array($value) and array_key_exists('options', $value)) { $this->assertEquals(['makeDefault', 'verificationMerchantAccountId', 'verifyCard', 'verificationAmount', 'venmoSdkSession', 'failOnDuplicatePaymentMethod'], $value['options']); } } }
public function testUpdateSignature() { $expected = ['billingAddressId', 'cardholderName', 'cvv', 'number', 'deviceSessionId', 'expirationDate', 'expirationMonth', 'expirationYear', 'token', 'venmoSdkPaymentMethodCode', 'deviceData', 'fraudMerchantId', 'paymentMethodNonce', ['options' => ['makeDefault', 'verificationMerchantAccountId', 'verifyCard', 'verificationAmount', 'venmoSdkSession', 'failOnDuplicatePaymentMethod']], ['billingAddress' => ['firstName', 'lastName', 'company', 'countryCodeAlpha2', 'countryCodeAlpha3', 'countryCodeNumeric', 'countryName', 'extendedAddress', 'locality', 'region', 'postalCode', 'streetAddress', ['options' => ['updateExisting']]]]]; $this->assertEquals($expected, Braintree\CreditCardGateway::updateSignature()); }
/** * creates a full array signature of a valid update request * @return array update request format */ public static function updateSignature() { $creditCardSignature = CreditCardGateway::updateSignature(); foreach ($creditCardSignature as $key => $value) { if (is_array($value) and array_key_exists('options', $value)) { array_push($creditCardSignature[$key]['options'], 'updateExistingToken'); } } $signature = ['id', 'company', 'email', 'fax', 'firstName', 'lastName', 'phone', 'website', 'deviceData', 'deviceSessionId', 'fraudMerchantId', 'paymentMethodNonce', 'defaultPaymentMethodToken', ['creditCard' => $creditCardSignature], ['customFields' => ['_anyKey_']]]; return $signature; }