function commerce_braintree_update_card in Commerce Braintree 7.2
Same name and namespace in other branches
- 7.3 commerce_braintree.module \commerce_braintree_update_card()
- 7 commerce_braintree.module \commerce_braintree_update_card()
Menu callback. Get the query from Braintree when updating a credit card.
1 string reference to 'commerce_braintree_update_card'
- commerce_braintree_menu in ./
commerce_braintree.module - Implements hook_menu().
File
- ./
commerce_braintree.module, line 148 - Integrates Braintree Transparent Redirect with Drupal Commerce.
Code
function commerce_braintree_update_card() {
global $user;
$feedback = commerce_braintree_get_feedback();
if (module_exists('commerce_cardonfile') && $feedback) {
// @todo Do not hardcode a specific payment method instance ID.
$payment_method = commerce_payment_method_instance_load('braintree_tr|commerce_payment_braintree_tr');
commerce_braintree_initialize($payment_method);
$result = Braintree_TransparentRedirect::confirm($feedback);
$token = $result->creditCard->token;
$cardholderName = $result->creditCard->cardholderName;
$expirationMonth = $result->creditCard->expirationMonth;
$expirationYear = $result->creditCard->expirationYear;
$last4 = $result->creditCard->last4;
$cards = commerce_cardonfile_load_multiple(FALSE, array(
'remote_id' => $token,
));
$card_stored = reset($cards);
$card_stored->card_name = $cardholderName;
$card_stored->card_exp_month = $expirationMonth;
$card_stored->card_exp_year = $expirationYear;
$card_stored->card_number = $last4;
commerce_cardonfile_save($card_stored);
drupal_set_message(t('Thank you for updating your credit card information.'));
}
drupal_goto('user/' . $user->uid . '/cards');
}