def run_customer_transaction(command, amount, creditcard, gateway_options)
      return unless creditcard.gateway_customer_profile_id?

      token = security_token(gateway_options)
      if command == 'Credit'
        request = customer_credit_transaction_request(amount, creditcard, gateway_options)
      else
        request = customer_transaction_request(amount, creditcard, gateway_options)
      end
      request['Command'] = command

      response = request(:run_customer_transaction,{"Token" => token,
                                                    "CustNum" => creditcard.gateway_customer_profile_id,
                                                    "PaymentMethodID" => creditcard.gateway_payment_profile_id,
                                                    "Parameters" =>  request })
      billing_response response[:run_customer_transaction_response][:run_customer_transaction_return]
    end
def run_customer_transaction(command, amount, creditcard, gateway_options)
      return unless creditcard.gateway_customer_profile_id?

      token = security_token(gateway_options)
      if command == 'Credit'
        request = customer_credit_transaction_request(amount, creditcard, gateway_options)
      else
        request = customer_transaction_request(amount, creditcard, gateway_options)
      end
      request['Command'] = command

      response = request(:run_customer_transaction,{"Token" => token,
                                                    "CustNum" => creditcard.gateway_customer_profile_id,
                                                    "PaymentMethodID" => creditcard.gateway_payment_profile_id,
                                                    "Parameters" =>  request })
      billing_response response[:run_customer_transaction_response][:run_customer_transaction_return]
    end
http://wiki.usaepay.com/developer/soap-1.4/methods/runcustomertransaction
 Commands are Sale, AuthOnly, Credit, Check and CheckCredit