# File lib/active_merchant/billing/gateways/paystation.rb, line 56
      def purchase(money, payment_source, options = {})
        post = new_request
        
        add_invoice(post, options)
        add_amount(post, money, options)
        
        if payment_source.is_a?(String)
          add_token(post, payment_source)        
        else
          add_credit_card(post, payment_source)
        end
        
        add_customer_data(post, options) if options.has_key?(:customer)
        
        commit(post)
      end