首页 > 其他分享 >fastadmin 微信、支付宝支付

fastadmin 微信、支付宝支付

时间:2024-07-05 18:08:19浏览次数:27  
标签:openid code return setopt 支付宝 微信 fastadmin curl type

//执行支付
    public function wechat($code,$title,$amount,$order)
    {
     //$code = '';前端传过来 $openid = '';//用户的openid $type = 'wechat';//支付方式 $method = 'miniapp';//支付类型 $appid = '';    //平台获取 $secret = '';    //平台获取 if ($info = $this->userOpenId(appid,$secret,$code)){ //用户的openid $openid = $info['openid']; } if ($openid == ''){ return $this->err('未获取到用户openid'); } if (!$amount || $amount < 0) { return $this->err("支付金额必须大于0"); } if (!$type || !in_array($type, ['alipay', 'wechat'])) { return $this->err("支付类型不能为空"); } if (in_array($method, ['miniapp', 'mp']) && !$openid) { return $this->err("openid不能为空"); } //回调链接 $notifyurl = $this->request->root(true) . '/addons/epay/index/notifyx/paytype/' . $type; $returnurl = $this->request->root(true) . '/addons/epay/index/returnx/paytype/' . $type . '/out_trade_no/' . $order; $response = Service::submitOrder('0.01', $order, $type, $title, $notifyurl, $returnurl, $method, $openid); $array = json_decode($response,true); $array['order'] = $order; return $this->succ('成功',$array); } //获取用户的openId public function userOpenId($appid,$secret,$code) { $url = "https://api.weixin.qq.com/sns/jscode2session?appid=$appid&secret=$secret&js_code=$code&grant_type=authorization_code"; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); if (!empty($data)) { curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); } curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($curl); if (curl_errno($curl)) { return false; } curl_close($curl); $data = json_decode($output,true); if (isset($data['openid'])){ return $data; } return false; }

  

标签:openid,code,return,setopt,支付宝,微信,fastadmin,curl,type
From: https://www.cnblogs.com/dream-meng/p/18286384

相关文章