有个问题没有搞懂;
是关于微信支付这方面
问题
后端这边我现在直接赋值的是"md5";
不理解为什么这样也可以调起微信支付的界面;
有一点莫名其妙;
人工服务:
如果按这几个步骤没有解决您的问题,可以前往V3文档:https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/index.shtml 点击右下角“技术咨询”实时寻求技术帮助。
https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/index.shtml
https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_5_3.shtml
时间戳长度为10;
https://www.cnblogs.com/jiefu/p/10998632.html
https://blog.csdn.net/chuyi1157/article/details/100619018
是我的错,我不仔细,我就应该给自己两巴掌;
开始在sign上面转了半天,我还换了一种签名方法试了下,当然罗同样是MD5;但是换成我以前微信支付用的工具类测试了下发现sign都是一样的;然后我就非常纳闷;
https://www.jianshu.com/p/cf1338475675/
后面是感觉没有什么希望了;然后就打算随便找找,我都打算明天去问人工了;但是幸好没有放弃;我后面看到这句话
第三点:进行二次签名—-支付签名
注意事项一:支付签名信息随机字符串,必需采用微信返回的随机字符串
注意事项二:二次签名参数名称必需是小写
注意事项三:二次签名,密钥放在最后
注意事项四:返回客户端数据必需是二次签名(支付签名)
当中的注意事项二,灵感突然就来了,因为原先签名的代码是
returnMap.put("pack_age", "Sign=WXPay");
这个是我后面不知道怎么改来改去,原来的代码就被我搞混了;
这个才是原先的代码;这个generateSignedXml会返回的是XML格式的内容;就这个为sign的取值是肯定是不行的;但是之前就直接填写成MD5这个取值,是可以调起微信支付的;不知道为什么,很奇怪,我明天去问一下;
有可能就是可以填写成MD5但是支付中途错误?之类的也有可能吧;
窒息;
就为了这个搞我一下午;
不过也怪自己不细心;
现在知道啦,ios微信支付二次签名的签名值是由
这些组成的,大小写、顺序、还有就是名称是否和接口文档一致,这些都需要注意哦;
这是经常容易忽略的地方;
我想了下我为什么会搞这么久的原因,也算是反思下吧
第一是因为我没有认真去阅读ios这边的代码;
第二是因为没有去认真翻阅微信那边的官方文档;
第三是因为自己还是不熟悉整个微信APP支付的流程;
第四是是自己眼高手低了,对自己太过自信了;
好啦,希望今年自己能改进,好好努力吧
就这样,其实也收获了一些,emm,比如说通过android的日志去找bug;其实也是因为这个app现在没有很多人用,我才这么幸运一下找到问题点;然后就是没啦