From 1b89cd61ae3d2a8d7ddd80b02ebedac40f6d15aa Mon Sep 17 00:00:00 2001 From: "as2252258@163.com" Date: Mon, 19 Aug 2019 16:13:24 +0800 Subject: [PATCH] add clear --- wx/Recharge.php | 81 +++++++++++++++++++------------------------------ 1 file changed, 32 insertions(+), 49 deletions(-) diff --git a/wx/Recharge.php b/wx/Recharge.php index 86855ce..2bac32a 100644 --- a/wx/Recharge.php +++ b/wx/Recharge.php @@ -35,38 +35,30 @@ class Recharge extends Miniprogarampage $this->orderNo = $orderNo; $this->data['openid'] = $openId; - $this->request->setCallback([$this, 'payCallback']); - return $this->send($this->unifiedorder, $this->builder()); - } - - - /** - * @param $result - * @param $body - * @return array - */ - public function payCallback($result, $body) - { - $data = Help::toArray($result); - if (isset($data['sign'])) { - $sign = $data['sign']; - unset($data['sign']); - } - $return = []; - $_sign = Help::sign($data, $this->config->getKey(), $this->config->getSignType()); - if (!isset($sign) || $sign != $_sign) { - $return['code'] = -1; - $return['message'] = $data['return_msg'] ?? '返回数据签名验证失败'; - } else { - $return['code'] = 0; - $return['data'] = $data; - $return['data']['postBody'] = $body; - if ($data['return_code'] == 'FAIL') { - $return['code'] = -1; - $return['message'] = $data['return_msg']; + $config = $this->config; + $this->request->setCallback(function ($result, $body) use ($config) { + $data = Help::toArray($result); + if (isset($data['sign'])) { + $sign = $data['sign']; + unset($data['sign']); } - } - return $return; + $return = []; + $_sign = Help::sign($data, $config->getKey(), $config->getSignType()); + if (!isset($sign) || $sign != $_sign) { + $return['code'] = -1; + $return['message'] = $data['return_msg'] ?? '返回数据签名验证失败'; + } else { + $return['code'] = 0; + $return['data'] = $data; + $return['data']['postBody'] = $body; + if ($data['return_code'] == 'FAIL') { + $return['code'] = -1; + $return['message'] = $data['return_msg']; + } + } + return $return; + }); + return $this->send($this->unifiedorder, $this->builder()); } /** @@ -164,7 +156,15 @@ class Recharge extends Miniprogarampage $sign_type = $this->config->getSignType(); $array['sign'] = Help::sign($array, $key, $sign_type); - $this->request->setCallback([$this, 'txCallback']); + $this->request->setCallback(function ($data) { + $array = Help::toArray($data); + if ($array['result_code'] != 'SUCCESS') { + $data = ['code' => $array['err_code'], 'message' => $array['err_code_des']]; + } else { + $data = ['code' => 0, 'message' => '支付成功']; + } + return new Result($data); + }); return $this->send($this->transfers, Help::toXml($array)); } @@ -181,21 +181,4 @@ class Recharge extends Miniprogarampage $this->request->addHeader('Content-Type', 'text/xml'); return $this->request->send($url, $data); } - - /** - * @param $data - * @return Result - * 提现回调 - */ - public function txCallback($data) - { - $array = Help::toArray($data); - if ($array['result_code'] != 'SUCCESS') { - $data = ['code' => $array['err_code'], 'message' => $array['err_code_des']]; - } else { - $data = ['code' => 0, 'message' => '支付成功']; - } - return new Result($data); - } - }