When a payment method (e.g. authorizenet_aim) collects card data onsite, there is supposed to be a hidden variable created for that payment method so that the jQuery running on the checkout_payment page "knows" this condition.

The processing that's supposed to insert that field is the selection function of /includes/classes/payment.php, but the hidden-input's name is winding up as _collects_onsite instead of (for example) authorizenet_aim_collects_onsite.

The issue is that that function's using the wrong variable name to create that/those hidden variables. The function needs to be changed from:
Code:
  function selection() {
    $selection_array = array();
    if (is_array($this->modules)) {
      reset($this->modules);
      while (list(, $value) = each($this->modules)) {
        $class = substr($value, 0, strrpos($value, '.'));
        if ($GLOBALS[$class]->enabled) {
          $selection = $GLOBALS[$class]->selection();
          if (isset($GLOBALS[$class]->collectsCardDataOnsite) && $GLOBALS[$class]->collectsCardDataOnsite == true) {
            $selection['fields'][] = array('title' => '',
                                         'field' => zen_draw_hidden_field($this->code . '_collects_onsite', 'true', 'id="' . $this->code. '_collects_onsite"'),
                                         'tag' => '');

          }
          if (is_array($selection)) $selection_array[] = $selection;
        }
      }
    }
    return $selection_array;
  }
to
Code:
  function selection() {
    $selection_array = array();
    if (is_array($this->modules)) {
      reset($this->modules);
      while (list(, $value) = each($this->modules)) {
        $class = substr($value, 0, strrpos($value, '.'));
        if ($GLOBALS[$class]->enabled) {
          $selection = $GLOBALS[$class]->selection();
          if (isset($GLOBALS[$class]->collectsCardDataOnsite) && $GLOBALS[$class]->collectsCardDataOnsite == true) {
            $selection['fields'][] = array('title' => '',
                                         'field' => zen_draw_hidden_field($class . '_collects_onsite', 'true', 'id="' . $class. '_collects_onsite"'),
                                         'tag' => '');

          }
          if (is_array($selection)) $selection_array[] = $selection;
        }
      }
    }
    return $selection_array;
  }