1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- <?php
- namespace App\Http\Controllers\Api;
- use App\Models\Order;
- use App\Models\UserCourse;
- use Illuminate\Support\Facades\Log;
- use Yansongda\LaravelPay\Facades\Pay;
- class Notify
- {
- public function notifyWx()
- {
- $pay = Pay::wechat();
- try {
- $data = $pay->verify()->toArray();
- $tradeState = $data["result_code"];
- if ($tradeState != "SUCCESS") {
- return $pay->success();
- }
- $outTradeNo = $data["out_trade_no"];
- $orderInfo = Order::getOrderInfoByOutTradeNo($outTradeNo);
- if (!$orderInfo) {
- return $pay->success();
- }
- if ($orderInfo["status"] != 0) {//待支付状态
- return $pay->success();
- }
- if ($orderInfo["total_fee"] != $data["total_fee"]) {
- return $pay->success();
- }
- if (Order::updateOrder(["out_trade_no" => $outTradeNo], ["status" => 1])) {
- if ($orderInfo["type"] == 0) {
- }elseif ($orderInfo["type"] == 1) {
- UserCourse::insertData(['user_id'=>$orderInfo['user_id'],'course_id'=>$orderInfo['object_id']]);
- }
- }
- } catch (\Exception $e) {
- Log::error("wx_cb", [$e->getTraceAsString()]);
- }
- return $pay->success();
- }
- }
|