//支付同时签约
public function Agreepay(Request $request){
$config=config('pay.alipay');
$privateKey = $config['private_key'];
$alipayPublicKey = $config['ali_public_key'];
[$order_no,$paytype] = $request->getMore([
['order_no', ''],
['paytype', 'alipay'],
],true);
if (empty($order_no)) {
return app('json')->fail('订单号无效');
}
$services = app()->make(\mp\services\MealServices::class);
$order=$services->getOrder($order_no);
$payprice=$order['payprice'];
$meal=MealModel::where(['id'=>$order['meal_id']])->find();
$days=3650;
if($meal['type']==10){
$days=30;
}else if($meal['type']==30){
$days=365;
}
else if($meal['type']==20){
$days=90;
}
$aop = new \AopClient();
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$aop->appId = $config['app_id'];
$aop->rsaPrivateKey = $privateKey;
$aop->alipayrsaPublicKey=$alipayPublicKey;
$aop->apiVersion = '1.0';
$aop->signType = 'RSA2';
$aop->postCharset='GBK';
$aop->format='json';
$object = new \stdClass();
$object->out_trade_no = $order_no;
$object->total_amount =$payprice ;
$object->subject = $meal['name'];
$object->product_code ='CYCLE_PAY_AUTH';
$agreementParams = new \stdClass();
$agreementParams->personal_product_code='CYCLE_PAY_AUTH_P';
//$agreementParams->external_agreement_no='U91753-220330-7328';
//$agreementParams->sign_scene='INDUSTRY|DIGITAL_MEDIA';
$agreementParams->external_logon_id=$order['uid'].'_'.$order['meal_id'];
$agreementParams->access_params=new \stdClass();
$agreementParams->access_params->channel='ALIPAYAPP';
$agreementParams->period_rule_params=new \stdClass();
$agreementParams->period_rule_params->period_type='DAY';
$agreementParams->period_rule_params->period=$days;
$agreementParams->period_rule_params->execute_time=date('Y-m-d',strtotime("$days day"));
$agreementParams->period_rule_params->single_amount=$payprice;
$agreementParams->sign_notify_url='https://zxqm.jubaovip.com/mp.php/xiaomi/Aliplanpay/alipayagrnotify';//签约回调
$object->agreement_sign_params=$agreementParams;
$json = json_encode($object);
$request = new \AlipayTradeAppPayRequest();
$request->setNotifyUrl('https://zxqm.jubaovip.com/mp.php/xiaomi/Meal/alipaynotify');
$request->setBizContent($json);
$result = $aop->sdkExecute($request);
$data['data']=$result;
$data['status']=200;
return json_encode($data);