Implementing Custom Modules in Drupal
===

I am new to Drupal and I have to write a new custom payment method for ubercart. I briefly understand the hooks system that Drupal has. 

In the ubercart api documentation, http://www.ubercart.org/docs/api/hook_payment_method:

    <?php
    function uc_payment_payment_method() {
      $methods[] = array(
        'id' => 'check',
        'name' => t('Check'),
        'title' => t('Check or Money Order'),
        'desc' => t('Pay by mailing a check or money order.'),
        'callback' => 'uc_payment_method_check',
        'weight' => 1,
        'checkout' => TRUE,
      );
      return $methods;
    }
    ?>

However, when i look at how the paypal module is implemented:

  

    $methods[] = array(
        'id' => 'paypal_wps',
        'name' => t('PayPal Website Payments Standard'),
        'title' => $title1 . $title2,
        'review' => t('PayPal'),
        'desc' => t('Redirect users to submit payments through PayPal.'),
        'callback' => 'uc_payment_method_paypal_wps',
        'redirect' => 'uc_paypal_wps_form',
        'weight' => 1,
        'checkout' => FALSE,
        'no_gateway' => TRUE,
      );

There are some special fields such as redirect and no_gateway. Where do I find the documentation for these to see what do these fields actually do?

Thanks a lot for any help. 
