Commit e9cebb691f8905dd6a57da079f7c6fa338cacb75
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 | ... | ... |