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,7 +454,7 @@ module WxPay
454 454
455 def xmlify_payload(params, sign_type = WxPay::Sign::SIGN_TYPE_MD5) 455 def xmlify_payload(params, sign_type = WxPay::Sign::SIGN_TYPE_MD5)
456 sign = WxPay::Sign.generate(params, sign_type) 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 end 458 end
459 459
460 def make_payload(params, sign_type = WxPay::Sign::SIGN_TYPE_MD5) 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,7 +48,7 @@ class ServiceTest &lt; MiniTest::Test
48 mch_id: 'mch_id', 48 mch_id: 'mch_id',
49 key: 'key' 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 assert_equal xml_str, WxPay::Service.send(:make_payload, params) 52 assert_equal xml_str, WxPay::Service.send(:make_payload, params)
53 end 53 end
54 end 54 end