0
0
Files
Babyclass/app/Api/Controllers/PayController.php
2020-08-04 10:09:42 +08:00

64 lines
1.7 KiB
PHP

<?php
/**
* Created by PhpStorm.
* User: sunny
* Date: 2019/2/21
* Time: 11:26 AM
*/
namespace App\Api\Controllers;
use App\Models\Payment;
use Illuminate\Http\Request;
use RuLong\Order\Models\Order;
class PayController extends Controller
{
public function __construct()
{
$this->middleware('auth.api');
$this->user = \Auth::guard('api')->user();
$this->uid = \Auth::guard('api')->id();
}
private function getpayOrder(Order $order, $type)
{
$payOrder = Payment::create([
'order_id' => $order->id,
'type' => $type,
'amount' => $order->total - $order->score,
]);
return $payOrder;
}
public function index(Request $request)
{
$orderid = $request->orderId;
$order = Order::find($orderid);
// $app = app('wechat.mini_program');
// $wechatMessage = $app->auth->session($request->code);
// $openid = $wechatMessage->openid;
$openid = $request->openid;
$payOrder = $this->getpayOrder($order, 'WECHAT');
$payment = app('wechat.payment.mini');
$result = $payment->order->unify([
'body' => '商城订单',
'out_trade_no' => $payOrder->trade_no,
'total_fee' => 0.01 * 100,
'notify_url' => 'http://mapi.bohaimingpin.com/callback/index',
'trade_type' => 'JSAPI',
'openid' => $openid,
]);
if ($result['return_code'] == 'SUCCESS' && isset($result['prepay_id'])) {
$json = $payment->jssdk->bridgeConfig($result['prepay_id']);
return $this->success($json);
} else {
return $this->failed($result['return_msg']);
}
}
}