美文网首页
2019-12-26 ios 微信支付签名验证失败

2019-12-26 ios 微信支付签名验证失败

作者: 李小师 | 来源:发表于2019-12-26 14:06 被阅读0次

语言oc

微信支付签名失败,第一先确认商户号,商户秘钥,应用id是否有误.

主要出问题的位置是第二步:sign签名(微信签名说明)

ios版本sdk内传入参数是5个(不包含sign),但是在做sign的签名的时候要以api说明为准需要7个键值对(调起支付api),需要手动补全appid和key(商户秘钥)这两个字段的秘钥.拼接顺序也需要按照ASCII码顺序处理:

NSString *md5 =[NSString stringWithFormat:@"appid=应用id&noncestr=%@&package=%@&partnerid=商户id&prepayid=%@&timestamp=%u&key=商户秘钥",resp.nonceStr,resp.package,resp.prepayId,(unsigned int)resp.timeStamp];

然后将字符串进行MD5加密处理并进行大写转换就OK了.

MD5处理:

+ (NSString *)backAppointforMD5:(NSString *)str

 {     

        const char * charstr = [str UTF8String];

        unsigned char result[CC_MD5_DIGEST_LENGTH];

        CC_MD5(charstr, (CC_LONG)strlen(charstr), result);     

        NSMutableString *savestr = [NSMutableString string];    

         for (int i = 0; i<CC_MD5_DIGEST_LENGTH; i++)

         {        

                 [savestr appendFormat:@"%02x",result[i]];

         }     

        return savestr; 

}

相关文章

网友评论

      本文标题:2019-12-26 ios 微信支付签名验证失败

      本文链接:https://www.haomeiwen.com/subject/khgkoctx.html