# File lib/active_merchant/billing/integrations/action_view_helper.rb, line 42
        def payment_service_for(order, account, options = {}, &proc)          
          raise ArgumentError, "Missing block" unless block_given?

          integration_module = ActiveMerchant::Billing::Integrations.const_get(options.delete(:service).to_s.classify)

          if ignore_binding?
            concat(form_tag(integration_module.service_url, options.delete(:html) || {}))
          else
            concat(form_tag(integration_module.service_url, options.delete(:html) || {}), proc.binding)
          end
          result = "\n"
          
          service_class = integration_module.const_get('Helper')
          service = service_class.new(order, account, options)
          yield service
          
          result << service.form_fields.collect do |field, value|
            hidden_field_tag(field, value)
          end.join("\n")

          result << "\n"
          result << '</form>' 

          if ignore_binding?
            concat(result)
          else
            concat(result, proc.binding)
          end
        end