RedPackController.php
2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2018/2/9
* Time: 13:51
*/
namespace App\Http\Controllers\Backend\RedPack;
use App\Http\Controllers\Controller;
use EasyWeChat\Factory;
use App\Repositories\Backend\RedPack\RedPackRepository;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
class RedPackController extends Controller
{
private $redpack;
public function __construct(RedPackRepository $redpack)
{
$this->redpack = $redpack;
}
public function index()
{
return view('backend.redpack.index');
}
public function getHBInfo(Request $request)
{
Log::info('[getHBInfo]'.json_encode($request->all()));
$request_data = $request->only('redpack_no');
$config = config('wechat.payment.redpack');
$app = Factory::payment($config);
$mchBillNo = $request_data['redpack_no'];
$result = $app->redpack->info($mchBillNo);
Log::info('[redpack->info]'.json_encode($result, JSON_UNESCAPED_UNICODE));
//SENDING:发放中;SENT:已发放待领取;FAILED:发放失败;RECEIVED:已领取;RFUND_ING:退款中;REFUND:已退款
$data = '';
if($result['return_code'] == 'SUCCESS' && $result['result_code'] == 'SUCCESS'){
switch ($result['status']){
case 'SENDING':
$data = '发放中;';
break;
case 'SENT':
$data = '已发放待领取;';
break;
case 'FAILED':
$data = '发放失败;';
break;
case 'RECEIVED':
$data = '已领取;';
break;
case 'RFUND_ING':
$data = '退款中;';
break;
case 'REFUND':
$data = '已退款;';
break;
default:
break;
}
if(isset($result['reason'])){
$data .= ' 原因: '.$result['reason'];
}
}else{
//"return_msg":"发放成功","result_code":"SUCCESS","err_code":"SUCCESS","err_code_des":"发放成功",
if(isset($result['return_msg'])){
$data = '返回信息: '.$result['return_msg'].';';
}
if(isset($result['err_code_des'])){
$data = $data.' 错误描述: '.$result['err_code_des'].';';
}
}
return $data;
}
}