You are here

function commerce_braintree_form_commerce_payment_order_transaction_add_form_alter in Commerce Braintree 7.2

Same name and namespace in other branches
  1. 7.3 commerce_braintree.module \commerce_braintree_form_commerce_payment_order_transaction_add_form_alter()

Implements hook_form_FORM_ID_alter().

Alters the admin order payment form to add support for Braintree payments.

File

./commerce_braintree.module, line 484
Integrates Braintree Transparent Redirect with Drupal Commerce.

Code

function commerce_braintree_form_commerce_payment_order_transaction_add_form_alter(&$form, &$form_state) {

  // Add options to the admin payment terminal for JS based payment methods.
  if (!empty($form['payment_terminal']) && !empty($form_state['payment_method']['method_id']) && in_array($form_state['payment_method']['method_id'], array(
    'braintree_dropin',
    'braintree_hostedfields',
  ))) {

    // Determine the default submit for settlement option for this payment method.
    if (isset($form_state['payment_method']['settings']['submit_for_settlement'])) {
      $submit_for_settlement = (bool) $form_state['payment_method']['settings']['submit_for_settlement'];
    }
    else {
      $submit_for_settlement = TRUE;
    }

    // Add the ability to submit for settlement or just authorize the transaction.
    $form['payment_terminal']['payment_details']['submit_for_settlement'] = array(
      '#type' => 'checkbox',
      '#title' => t('Submit the transaction for settlement?'),
      '#default_value' => $submit_for_settlement,
      '#description' => t('If unchecked the payment will have to be settled manually at a later date.'),
    );
  }
}