Commit 8325f34c266929d0a519b1fdfc8874157ec7f10a

Authored by Jun Jiang
Committed by GitHub
2 parents 743ead12 0a426320
Exists in master

Merge pull request #96 from moohao/patch-1

fix xmlify_payload method
lib/wx_pay/service.rb
... ... @@ -454,7 +454,7 @@ module WxPay
454 454  
455 455 def xmlify_payload(params, sign_type = WxPay::Sign::SIGN_TYPE_MD5)
456 456 sign = WxPay::Sign.generate(params, sign_type)
457   - "<xml>#{params.except(:key).map { |k, v| "<#{k}>#{v}</#{k}>" }.join}<sign>#{sign}</sign></xml>"
  457 + "<xml>#{params.except(:key).sort.map { |k, v| "<#{k}>#{v}</#{k}>" }.join}<sign>#{sign}</sign></xml>"
458 458 end
459 459  
460 460 def make_payload(params, sign_type = WxPay::Sign::SIGN_TYPE_MD5)
... ...
test/wx_pay/service_test.rb
... ... @@ -48,7 +48,7 @@ class ServiceTest &lt; MiniTest::Test
48 48 mch_id: 'mch_id',
49 49 key: 'key'
50 50 }
51   - xml_str = '<xml><body>测试商品</body><out_trade_no>test003</out_trade_no><total_fee>1</total_fee><spbill_create_ip>127.0.0.1</spbill_create_ip><notify_url>http://making.dev/notify</notify_url><trade_type>JSAPI</trade_type><openid>OPENID</openid><app_id>app_id</app_id><mch_id>mch_id</mch_id><sign>172A2D487A37D13FDE32B874BA823DD6</sign></xml>'
  51 + xml_str = '<xml><app_id>app_id</app_id><body>测试商品</body><mch_id>mch_id</mch_id><notify_url>http://making.dev/notify</notify_url><openid>OPENID</openid><out_trade_no>test003</out_trade_no><spbill_create_ip>127.0.0.1</spbill_create_ip><total_fee>1</total_fee><trade_type>JSAPI</trade_type><sign>172A2D487A37D13FDE32B874BA823DD6</sign></xml>'
52 52 assert_equal xml_str, WxPay::Service.send(:make_payload, params)
53 53 end
54 54 end
... ...