callback(Request()->post()); if($result && $result->event_type=='TRANSACTION.SUCCESS'){ $ciphertext=$result->resource->ciphertext; if ($ciphertext['trade_state'] === 'SUCCESS') { $extra['transaction_id'] = $ciphertext['transaction_id']; $attach = $ciphertext['attach']; $message['out_trade_no'] = mb_substr($ciphertext['out_trade_no'], 0, 18); switch ($attach) { case 'cashierclass': $order = Cashierclass::where(['number' => $message['out_trade_no']])->findOrEmpty(); if ($order->isEmpty() || $order->paid == PayEnum::ISPAID) { return true; } PayNotifyLogic::handle('cashierclass', $message['out_trade_no'], $ciphertext); break; } return Pay::wechat()->success(); } } // return (new WeChatPayService(UserTerminalEnum::WECHAT_MMP))->notify(); } }