Commit e9cebb691f8905dd6a57da079f7c6fa338cacb75

Authored by jasl
1 parent 62499c52
Exists in master

fix get sandbox key in single usage

Showing 2 changed files with 6 additions and 3 deletions   Show diff stats
lib/wx_pay.rb
... ... @@ -11,7 +11,7 @@ module WxPay
11 11  
12 12 class<< self
13 13 attr_accessor :appid, :mch_id, :key, :appsecret, :extra_rest_client_options, :debug_mode
14   - attr_accessor :sandbox_mode, :sandbox_key
  14 + attr_accessor :sandbox_mode, :manual_get_sandbox_key
15 15 attr_reader :apiclient_cert, :apiclient_key
16 16  
17 17 def set_apiclient_by_pkcs12(str, pass)
... ... @@ -37,5 +37,9 @@ module WxPay
37 37 def sandbox_mode?
38 38 @sandbox_mode
39 39 end
  40 +
  41 + def manual_get_sandbox_key?
  42 + @manual_get_sandbox_key
  43 + end
40 44 end
41 45 end
... ...
lib/wx_pay/service.rb
... ... @@ -458,14 +458,13 @@ module WxPay
458 458  
459 459 def make_payload(params, sign_type = WxPay::Sign::SIGN_TYPE_MD5)
460 460 # TODO: Move this out
461   - if WxPay.sandbox_mode? && !params[:key]
  461 + if WxPay.sandbox_mode? && !WxPay.manual_get_sandbox_key?
462 462 r = get_sandbox_signkey
463 463 if r['return_code'] == WxPay::Result::SUCCESS_FLAG
464 464 params = params.merge(
465 465 mch_id: r['mch_id'] || WxPay.mch_id,
466 466 key: r['sandbox_signkey']
467 467 )
468   - WxPay.sandbox_key = r['sandbox_signkey']
469 468 else
470 469 warn("WxPay Warn: fetch sandbox sign key failed #{r['return_msg']}")
471 470 end
... ...