# 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(Inflector.classify("#{options.delete(:service)}"))

          concat(form_tag(integration_module.service_url, options.delete(:html) || {}), proc.binding)
          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>' 
          concat(result, proc.binding)
        end