diff --git a/app/Http/Controllers/WeChatPayController.php b/app/Http/Controllers/WeChatPayController.php index 4efd1d5..f8cad5c 100644 --- a/app/Http/Controllers/WeChatPayController.php +++ b/app/Http/Controllers/WeChatPayController.php @@ -11,6 +11,7 @@ use WeChatPay\Crypto\Rsa; use WeChatPay\Formatter; use WeChatPay\Util\PemUtil; use Yo; +use Lu; class WeChatPayController extends Controller { @@ -215,4 +216,31 @@ class WeChatPayController extends Controller 'info' => $info ]); } + + public function callback_test($app_id) + { + $input = file_get_contents('php://input'); + $headers = request()->header(); + $we_chat_pay = WeChatPay::where('app_id', $app_id)->first(); + if (!$we_chat_pay) return false; + $res = $this->callback($input, $headers, $we_chat_pay->v3, 'file://' . base_path($we_chat_pay->crt)); + if (!!$res) { + if ($res['trade_state'] == 'SUCCESS') { + $we_chat_pay_log = WeChatPayLog::where('out_trade_no', $res['out_trade_no'])->first(); + if (!!$we_chat_pay_log) { + $we_chat_pay_log->callback = json_encode([ + 'type' => 'callback', + 'input' => $input, + 'headers' => $headers, + 'res' => $res, + ], JSON_UNESCAPED_UNICODE); + $we_chat_pay_log->save(); + } + } + } + return Lu::exit([ + 'code' => 'SUCCESS', + 'message' => '成功', + ]); + } } diff --git a/routes/web.php b/routes/web.php index d6b4bca..eca4a46 100644 --- a/routes/web.php +++ b/routes/web.php @@ -19,6 +19,7 @@ Route::get("open/Gzh/auth", [\App\Http\Controllers\WeChatController::class, 'aut Route::get("api/Test/Excel/excel_test", [\App\Http\Controllers\ExcelController::class, 'excel_test']); Route::post("api/Test/Email/email_test", [\App\Http\Controllers\EmailController::class, 'email_test']); +Route::post("api/Test/WeChatPay/callback_test/{app_id}", [\App\Http\Controllers\WeChatPayController::class, 'callback_test']); Route::post("api/Test/WeChatPay/pay_test", [\App\Http\Controllers\WeChatPayController::class, 'pay_test']); Route::post("api/Test/WeChat/login_test", [\App\Http\Controllers\WeChatController::class, 'login_test']); diff --git a/uniapp/api/index.js b/uniapp/api/index.js index 0795ff3..1be8372 100644 --- a/uniapp/api/index.js +++ b/uniapp/api/index.js @@ -3,6 +3,7 @@ import { } from '@/lu/axios.js' import $config from '@/config.js' const app_path = 'App' +export const OpenGzhAuthUrl = `${$config.url}/open/Gzh/auth` export const WeChatPayPayTestAction = async (data) => await $post({ url: `${$config.url}/api/Test/WeChatPay/pay_test`, data diff --git a/uniapp/config.js b/uniapp/config.js index 9d17923..c94b61e 100644 --- a/uniapp/config.js +++ b/uniapp/config.js @@ -1,4 +1,5 @@ -let url = 'http://127.0.0.1:8000' +let url = 'http://lucode3.sa0.online' +let login = 'http://127.0.0.1:5173/h5/#/pages/package/gzh_auth/gzh_auth?' let env = 'online' if (process.env.NODE_ENV == 'development') { env = 'dev' @@ -7,10 +8,13 @@ if (process.env.NODE_ENV == 'development') { // env = 'dev' if (env === 'dev') { url = 'http://127.0.0.1:8000' + login = 'http://127.0.0.1:5173/h5/#/pages/package/gzh_auth/gzh_auth?' } export default { title: '鹿和开发套件', app_id: 'wx0d92d2990ec16a55', + gzh_id: 'wx526430047d34c85c', + login, token: '0995452A-0D59-44B6-B6CA-88D8B1E257A0', url, } \ No newline at end of file diff --git a/uniapp/pages.json b/uniapp/pages.json index dacd9ce..286d4aa 100644 --- a/uniapp/pages.json +++ b/uniapp/pages.json @@ -19,6 +19,13 @@ "enablePullDownRefresh": false, "navigationStyle": "custom" } + }, { + "path": "gzh_auth/gzh_auth", + "style": { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + }] }], "tabBar": { diff --git a/uniapp/pages/package/example/UserGzh/UserGzh.vue b/uniapp/pages/package/example/UserGzh/UserGzh.vue new file mode 100644 index 0000000..04ca8c5 --- /dev/null +++ b/uniapp/pages/package/example/UserGzh/UserGzh.vue @@ -0,0 +1,76 @@ + +