all(); if (!isset($params['order_id'])){ return json_fail('参数异常'); } $orderId = $params['order_id']; $order = Order::where('order_id', $orderId)->where('order_status_payment', 'PENDING')->first(); if (!$order) { return json_fail('订单异常'); } $payData = [ 'out_trade_no' => $orderId, 'body' => '万悦悦享家订单', 'total_fee' => $order->order_amount_pay * 100, ]; $alipay = Pay::wechat($this->getConfig())->app($payData)->getContent(); return json_success('',json_decode($alipay,true)); } public function notify() { $pay = Pay::wechat($this->getConfig()); try { $data = $pay->verify(); // 是的,验签就这么简单! Log::debug('Wechat notify', $data->all()); } catch (\Exception $e) { // $e->getMessage(); } return $pay->success()->send();// laravel 框架中请直接 `return $pay->success()` } private function getConfig() { return [ 'appid' => 'wx089c26eaf96c3d51', // APP APPID 'mch_id' => '1680393367', 'key' => 'c451cedbab8058e3502a35c6dacf0919', 'notify_url' => 'https://api.wanyuewellness.com.cn/api.pay.notify.php', 'cert_client' => config_path('cert/wxpay/apiclient_cert.pem'), // optional,退款等情况时用到 'cert_key' => config_path('cert/wxpay/apiclient_key.pem'),// optional,退款等情况时用到 'log' => [ // optional 'file' => runtime_path('logs/wechat.log'), 'level' => 'info', // 建议生产环境等级调整为 info,开发环境为 debug 'type' => 'single', // optional, 可选 daily. 'max_file' => 30, // optional, 当 type 为 daily 时有效,默认 30 天 ], 'http' => [ // optional 'timeout' => 5.0, 'connect_timeout' => 5.0, // 更多配置项请参考 [Guzzle](https://guzzle-cn.readthedocs.io/zh_CN/latest/request-options.html) ], // 'mode' => 'dev', // optional, dev/hk;当为 `hk` 时,为中国香港 gateway。 ]; } }