diff --git a/lib/wx_pay/service.rb b/lib/wx_pay/service.rb index d60973b..69e491c 100644 --- a/lib/wx_pay/service.rb +++ b/lib/wx_pay/service.rb @@ -27,9 +27,10 @@ module WxPay ), quirks_mode: true) end - def self.get_sandbox_signkey(mch_id = WxPay.mch_id) + def self.get_sandbox_signkey(mch_id = WxPay.mch_id, options = {}) params = { mch_id: mch_id, + key: options.delete(:key) || WxPay.key, nonce_str: SecureRandom.uuid.tr('-', '') } r = WxPay::Result.new(Hash.from_xml(invoke_remote("/pay/getsignkey", xmlify_payload(params)))) diff --git a/lib/wx_pay/sign.rb b/lib/wx_pay/sign.rb index e4c1eeb..3464e35 100644 --- a/lib/wx_pay/sign.rb +++ b/lib/wx_pay/sign.rb @@ -25,11 +25,9 @@ module WxPay end def self.verify?(params, options = {}) + return true if WxPay.sandbox_mode? params = params.dup params = params.merge(options) - if WxPay.sandbox_mode? && !params[:key] - params[:key] = WxPay.sandbox_key - end sign = params.delete('sign') || params.delete(:sign) generate(params) == sign end -- libgit2 0.21.0