- 微信调用支付JSAPI缺少参数:total_fee,支付失败
支付显示缺少参数:total_fee [图片] 第一次验证 [图片] 第二次验证获取的 [图片] prepay_id生成之后会立即使用。 请求appid和下单接口的appId一致 订单号也不会重复 都是随机生成的 金额当然也传了 并且是int类型 单位是分也考虑了 请问这个问题是怎么回事呢?
2019-07-24 - php使用img_sec_check内容安全接口实例
/* * 调用微信接口验证图片是否合法 * $data 数组 / public function Is_img() { $img_url = “通过网址访问的图片地址”; $tokenArr = json_decode($this->send_post_token(“GET”)); $access_token = $tokenArr->access_token; $info = $this->imgSecCheck($access_token,$img_url); if($info[‘errcode’]){ return false; }else{ return true; } } / * 检测图片 * $img 是可以通过网址访问的图片地址 * $access_token / public function imgSecCheck($access_token,$img) { $img = file_get_contents($img); $filePath = ‘/dev/shm/tmp1.png’; file_put_contents($filePath, $img); $obj = new \CURLFile(realpath($filePath)); $obj->setMimeType(“image/jpeg”); $file[‘media’] = $obj; $url = “https://api.weixin.qq.com/wxa/img_sec_check?acces s_token=$access_token”; $info = $this->http_request($url,$file); return json_decode($info,true); } / * 获取access_token */ function send_post_token($method=‘POST’) { //获取ACCESS_TOKEN $this->appid = ‘小程序appid’; $this->secret = ‘小程序的secret’; $url = “https://api.weixin.qq.com/cgi-bin/token?grant_type= client_credential&appid=”.$this->appid."&secret=".$t his->secret; $post_data = array(); $postdata = http_build_query($post_data); $options = array( ‘http’ => array( ‘method’ => $method, //or GET ‘header’ => ‘Content-type:application/x-www-form-urle ncoded’, ‘content’ => $postdata, ‘timeout’ => 15 * 60 // 超时时间(单位:s) ) ); $context = stream_context_create($options); $result = file_get_contents($url, false, $context); return $result; }
2019-10-12 - 关于微信小程序解密出现41003情况
最近在做一款小程序的时候,需要解析出unionId. 流程: 1 用户登录,获取授权(头像,昵称等) 2 获取到的iv和encryptData 3 传递code,iv, encryptData 然后给后端php去解析 老是间歇性的出现,41003的情况。 情况很不规律,有时候是iv中间有空格,有时候没有也会出现41003. 本着对功能负责的态度,我打了个log,然后比对前端传递的参数。 krFn%252BcTHLdodsoCwv7sZYw%253D%253D krFn% 2BcTHLdodsoCwv7sZYw% 3D% 3D 发现会出现这种情况,是因为一方使用了encodeURIComponent 一方没有urldecode,双方统一之后(加上encode和decode),还是会有概率出现问题。 看论坛有前车之鉴的,前端同学在getUserInfo 里面的callback里面用了 wx.login。 看文档 wx.login 应该提前调用。 解决方案:在onshow里面就调用wx.login,把拿到的值存储起来。
2019-06-03