使用支付宝官方提供的SDK包,基本上不需要写什么代码
/*
* Effect 支付宝支付生成订单
* author YangYunHao
* email 1126420614@qq.com
* time 2019-02-14 11:12:31
* parameter request:请求参数
* return data:请求数据
* */
public function aliAppPay($data){
$aop = new \AopClient(); // 从根目录开始加载,第三方的类会找不到
$aop->gatewayUrl = config('alipay.app.gateway'); // 网关 支付宝应用提供
$aop->appId = config('alipay.app.appId'); // APP ID 应用ID
$aop->rsaPrivateKey = config('alipay.app.privateKey'); // 私钥
$aop->format = "json";
$aop->charset = "UTF-8";
$aop->signType = "RSA2"; // 加密方式
$aop->alipayrsaPublicKey = config('apipay.app.publicKey'); // 公钥
$request = new \AlipayTradeAppPayRequest(); // 实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
$bizcontent = [
'subject' => $data->name,
'out_trade_no' => $data->out_trade_no,
'total_amount' => $data->real_price,
'product_code' => 'QUICK_MSECURITY_PAY'
]; // SDK已经封装掉了公共参数,这里只需要传入业务参数
$bizcontent = json_encode($bizcontent); // 数组转json
$request->setNotifyUrl("http://api.eqinbaby.com/callback/eqinbabyParentAliPay");
$request->setBizContent($bizcontent);
$response = $aop->sdkExecute($request); //这里和普通的接口调用不同,使用的是sdkExecute
return ['status'=>true,'msg'=>'生成预支付订单成功','data'=>$response]; // 数据返回
}