    # 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