<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -11,7 +11,7 @@ module ActiveMerchant #:nodoc:
             add_field('language', 'da')
             add_field('autocapture', 0)
             add_field('testmode', 0)
-            add_field('ordernumber', order.is_a?(Integer) &amp;&amp; order &lt; 1000 ? &quot;%04d&quot; % order : order)
+            add_field('ordernumber', format_order_number(order))
           end
               
           def md5secret(value)
@@ -29,6 +29,11 @@ module ActiveMerchant #:nodoc:
           def generate_md5check
             Digest::MD5.hexdigest(generate_md5string)
           end
+
+          # Limited to 20 digits max
+          def format_order_number(number)
+            number.to_s.gsub(/[^\w_]/, '').rjust(4, &quot;0&quot;)[0...20]
+          end
           
           MD5_CHECK_FIELDS = [
             :protocol, :msgtype, :merchant, :language, :ordernumber, </diff>
      <filename>lib/active_merchant/billing/integrations/quickpay/helper.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>4fde61d48ed02087b0736ef2aaa7187bc96a77ec</id>
    </parent>
  </parents>
  <author>
    <name>Lars Pind</name>
    <email>lars@pinds.com</email>
  </author>
  <url>http://github.com/jjolma/active_merchant_with_paypal_recurring/commit/9a215e9e02de1ec8dd3e4a7f287323e5042714f0</url>
  <id>9a215e9e02de1ec8dd3e4a7f287323e5042714f0</id>
  <committed-date>2009-02-27T13:11:46-08:00</committed-date>
  <authored-date>2008-12-11T14:50:03-08:00</authored-date>
  <message>Use same method for formatting order numbers as in the API gateway</message>
  <tree>0e8a2f528fea08f4ff464c39cfd8838ed77abd63</tree>
  <committer>
    <name>Cody Fauser</name>
    <email>codyfauser@gmail.com</email>
  </committer>
</commit>
