- 微信支付v2,签名错误,请检查后再试?
原有代码 使用 Yansongda\Pay\Pay 接入小程序,这次不行报错?都能用,不知道为啥现在就不行了!!! <xml><return_code><![CDATA[FAIL]]></return_code>↵<return_msg><![CDATA[签名错误,请检查后再试]]></return_msg>↵</xml> 于是我手动码curl也不行,key我v2v3都设置一样的,求大神指教,下面是代码: public function paytst() { $config = [ 'app_id' => "wxa***ca7", 'appid' => "wxa***ca7", 'cert_client' => "", 'cert_key' => "", 'http' => [ 'timeout' => 5, 'connect_timeout' => 5, ], 'key' => "bId***P5e", 'log' => [ 'file' => "./logs/wechat.log", 'level' => "debug", 'type' => "single", 'max_file' => 30, ], 'mch_id' => "1647531410", 'miniapp_id' => "wxa***ca7", 'notify_url' => "https://***/notify/wechat", ]; $order = [ 'out_trade_no' => 'kp' . time(), 'total_fee' => '1', 'body' => '蓝牙音乐手表', 'openid' => 'oGg***ORU', ]; $appid = $config['appid']; $body = $order['body']; $mch_id = $config['mch_id']; $nonce_str = (string)mt_rand(10000, 99999) . time(); //随机字符串 $notify_url = $config['notify_url']; $openid = $order['openid']; $out_trade_no = $order['out_trade_no']; $spbill_create_ip = '*43.2*4.15*.*37'; //服务器终端的ip $_SERVER['SERVER_ADDR'] $total_fee = intval($order['total_fee']); //总金额 最低为一分钱 必须是整数 $trade_type = 'JSAPI'; //交易类型 默认JSAPI $signA = compact('appid', 'body', 'mch_id', 'nonce_str', 'notify_url', 'openid', 'out_trade_no', 'spbill_create_ip', 'total_fee', 'trade_type'); ksort($signA); //签名步骤一:按字典序排序数组参数 $signTA = []; //参数进行拼接key=value&k=v foreach ($signA as $key => $val) $signTA[] = $key . '=' . $val; $sign = implode("&", $signTA); $sign .= "&key=" . $config['key']; //签名步骤二:在string后加入KEY $sign = md5($sign); //签名步骤三:MD5加密 $sign = strtoupper($sign); //签名步骤四:所有字符转为大写 $xml = "<xml><appid>$appid</appid><body>$body</body><mch_id>$mch_id</mch_id><nonce_str>$nonce_str</nonce_str><notify_url>$notify_url</notify_url><openid>$openid</openid><out_trade_no>$out_trade_no</out_trade_no><spbill_create_ip>$spbill_create_ip</spbill_create_ip><total_fee>$total_fee</total_fee><trade_type>$trade_type</trade_type><sign>$sign</sign></xml>"; $url = 'https://api.mch.weixin.qq.com/pay/unifiedorder'; //统一下单接口prepay_id $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $xml); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $res = curl_exec($curl); curl_close($curl); $parse = xml_parser_create(); xml_parse_into_struct($parse, $res, $vals, $idx); xml_parser_free($parse); $arr = []; foreach ($idx as $key => $val) { if ($key == 'xml' || $key == 'XML') continue; $tag = $vals[$val[0]]['tag']; $val = $vals[$val[0]]['value']; $arr[$tag] = $val; } return compact('config', 'order', 'sign', 'xml', 'res'); }
2023-09-05 - getPhoneNumber后台用pyca/cryptogr解析encryptedData错误?
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button> encryptedData 和 iv 发后台解码 用 pyca/cryptography 解码后转json出错了UnicodeDecodeError: 'utf-8' codec can't decode byte 0xac in position 0: invalid start byte decrypted = json.loads(self._unpad(cipher.decrypt(encryptedData))) def _unpad(self, s): return s[:-ord(s[len(s)-1:])] 官方代码是这个,请解释下_unpad,是干什么的,如果要用cryptography库,能给个样例代码吗
2020-06-18 - slider样式怎么自定义
slider样式怎么自定义,特别是哪个大圆slider-handle怎么调小一点,改个颜色啥的,求高手相助
2017-11-06 - image上下边距怎么去掉???
代码 <image src='./path/image0.jpg'></image> <image src='./path/image1.jpg'></image> <image src='./path/image2.jpg'></image> <image src='./path/image3.jpg'></image> 效果 [图片] 问题: 图片与图片中的间距是哪个属性控制的,怎么去掉,或又是怎么产生的???
2017-11-01 - 开发者工具404并且刷新无效,怎么破?
有图有真相 [图片] 起因代码 app.json/3行中 index.js > inde x.js 现在改回来就一直404了,请问怎么恢复?
2017-09-06 - 微信开发者工具求开放功能,请开放老版本功能用不了选择元素工具
微信开发者工具求开放功能,自从使用1.0工具后每天都变成测试工具了,周末加班还发现老版本的开发工具功能被阉割了,求开放,现在写页面需要调样式,但是用不了选择元素工具,如果可以app data, storage也开放谢谢。 请开放老版本功能用不了选择元素工具 请开放老版本功能用不了选择元素工具 请开放老版本功能用不了选择元素工具 请开放老版本功能用不了选择元素工具 请开放老版本功能用不了选择元素工具 请开放老版本功能用不了选择元素工具 请开放老版本功能用不了选择元素工具 请开放老版本功能用不了选择元素工具
2017-09-02 - 170831是故意的吗,这么console.log()没反应呢?
170831是故意的吗,这么console.log()没反应呢? 170831是故意的吗,这么console.log()没反应呢? 170831是故意的吗,这么console.log()没反应呢?
2017-09-01 - 170831版本预览功能在隐藏工具栏之后不可用,二维码显示不全,建议二维码弹窗
170831版本预览功能在隐藏工具栏之后不可用,二维码显示不全,建议二维码弹窗 170831版本预览功能在隐藏工具栏之后不可用,二维码显示不全,建议二维码弹窗 170831版本预览功能在隐藏工具栏之后不可用,二维码显示不全,建议二维码弹窗
2017-08-31 - 优化快捷键,谢谢
1.01.170831 F8,9,10,11,12 都是系统快捷键,另外F11我电脑是系统级的快捷键,建议改成像保存 command+s 这样离手指近,又是程序级的快捷键,实在不行开放快捷键设置吧,我们自己设置,急,急,急,急,急,急,急,急 急,急,急,急,急,急,急,急 界面快捷键离手太远了,不顺手,还和系统有冲突 急,急,急,急,急,急,急,急
2017-08-31 - 开发者工具能不能考虑下笔记本用户啊,这一布局,都没办法写代码了
开发者工具能不能考虑下笔记本用户啊,这一布局,都没办法写代码了,总不能我笔记本写代码海外界一个24的显示器吧,搞一个可以隐藏工具栏的设置,也就是,我写代码的时候可以隐藏 头像,模拟器,调试器,编辑器,编译,预览,切换后台,清缓存,上传,测试,腾讯云,详情,我知道你们想高一高大上的,不就是想模仿xcode吗?看出来了,不过你们不能好好用来写代码了,你们告诉我你们要做个什么鬼,做一个玩具码,让一大帮开发中来玩玩具,键盘没敲两下就移动鼠标点三下。那快捷键F9,10这些也麻烦要死。 建议工具栏可以隐藏并且支持快捷键跳用工具栏(1.00.170830) 优化模拟器,模拟器选设备,选网络,状态栏,去掉,直接做一个 ... 的小按钮就好了,或者直接快捷键, 期待 左边模拟器,右边写代码,快捷键调试,其他不要的隐藏,浪费视线空间,。。。 也许现在是最有待改进的,模拟器显示不完整,代码一行看不完整,基本就一玩具了
2017-08-31