diff --git a/lib/wx_pay/service.rb b/lib/wx_pay/service.rb
index 69e491c..cb1179b 100644
--- a/lib/wx_pay/service.rb
+++ b/lib/wx_pay/service.rb
@@ -454,7 +454,7 @@ module WxPay
def xmlify_payload(params, sign_type = WxPay::Sign::SIGN_TYPE_MD5)
sign = WxPay::Sign.generate(params, sign_type)
- "#{params.except(:key).map { |k, v| "<#{k}>#{v}#{k}>" }.join}#{sign}"
+ "#{params.except(:key).sort.map { |k, v| "<#{k}>#{v}#{k}>" }.join}#{sign}"
end
def make_payload(params, sign_type = WxPay::Sign::SIGN_TYPE_MD5)
--
libgit2 0.21.0