diff --git a/app/Http/Controllers/Manager/OrdersController.php b/app/Http/Controllers/Manager/OrdersController.php index c6f1c71..ececd87 100644 --- a/app/Http/Controllers/Manager/OrdersController.php +++ b/app/Http/Controllers/Manager/OrdersController.php @@ -736,11 +736,10 @@ class OrdersController extends CommonController } break; case "alipay": - $res = (new AlipayF2F())->test(); + $res = (new AlipayF2F())->pay($recharge); if ($res["status"]) { return response()->json(true); } else { - Log::info($res["msg"]); return response()->json([ "errorcode" => $res["code"], "errormsg" => $res["msg"] diff --git a/app/Libs/AlipayF2F.class.php b/app/Libs/AlipayF2F.class.php index 31a29ab..0194062 100644 --- a/app/Libs/AlipayF2F.class.php +++ b/app/Libs/AlipayF2F.class.php @@ -5,26 +5,37 @@ namespace App\Libs; use Alipay\EasySDK\Kernel\Factory; use Alipay\EasySDK\Kernel\Util\ResponseChecker; use Alipay\EasySDK\Kernel\Config; +use App\Events\RechargeSucceed; +use App\Models\Recharge; use Illuminate\Support\Facades\Log; class AlipayF2F { - public function test() + public function pay(Recharge $recharge) { try { $auth_code = request()->auth_code; $config = $this->getOptions(); - Log::info((array)$config); - $result = Factory::setOptions($config)::payment()->faceToFace()->pay("TestGoods", time(), 0.1, $auth_code); + + $result = Factory::setOptions($config)::payment() + ->faceToFace() + ->pay("充值{$recharge->money}元", $recharge->serial, $recharge->money, $auth_code); $responseChecker = new ResponseChecker(); //处理响应或异常 if ($responseChecker->success($result)) { - Log::info("成功:" . $result->msg . "," . $result->subMsg); + $transaction_id = $result->trade_no; + $update = [ + "paid_at" => date("Y-m-d H:i:s"), + "payment_serial" => $transaction_id + ]; + $recharge->update($update); + //充值成功后处理 + event(new RechargeSucceed($recharge)); return [ "status" => true ]; } else { - Log::info("失败:" . $result->msg); + Log::info("支付宝错误:" . $result->code . ";" . $result->msg . ";" . $result->subMsg); return [ "status" => false, "code" => $result->code,