ufutx.love.util/app/Http/Controllers/WechatPayController.php
2026-04-23 16:01:25 +08:00

49 lines
1.3 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Facades\WechatPayService;
use App\Http\Response\ResponseJson;
use Exception;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
class WechatPayController extends Controller
{
use ResponseJson;
function mchTransfer(Request $request)
{
$rules = [
"trade_no" => "required",
"openid" => "required",
"amount" => "required",
"remark" => "required"
];
$input = $request->all();
$validator = Validator::make($input, $rules, $messages = [
'required' => 'The :attribute field is required.',
]);
foreach ($validator->errors()->all() as $message) {
return $this->failure($message);
}
$trade_no = $request->trade_no;
$scene_id = $request->scene_id;
if (empty($scene_id)) {
$scene_id = config("wechatpay.screen.commission");
}
$openid = $request->openid;
$amount = $request->amount;
$remark = $request->remark;
try {
$res = WechatPayService::mchTransfer($trade_no, $scene_id, $openid, $amount, $remark, []);
} catch (Exception $e) {
return $this->failure($e->getMessage());
}
return $this->success("ok", $res);
}
}