您的位置:首页 > 移动开发 > 微信开发

##iOS中的微信支付 支付验证签名失败

2016-10-25 10:56 399 查看

iOS中的微信支付 支付验证签名失败

今天要在项目中添加微信支付,iOS端的所有东西都已经按照文档搞好了,可就是跳转到微信的时候显示“支付验证签名失败”,可是安卓端的都没有问题,就很郁闷了。
后来在对文档的时候发现。。。




666  时间戳十位啊。。。
可是后台返回的timestamp确实13位的。。。怒找后台改了
立刻OK了。。。所以说咱们一定要协调好,仔细查对文档,毕竟用的是人家的东西
数字时间戳与时间的相互抓换
注意:由于Java比PHP的时间精确,所以,后台数据的时间java是13位的,而php是10位的,iOS时间抓换只支持10位数的,所以如果java写后台的话,把数字/1000就行了.具体做法如下:


NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"YYYY-MM-dd HH:mm:ss";
NSDate *date = [[NSDate alloc] init];
SString *datestr = [formatter stringFromDate:date];
NSLog(@"%@",datestr);
// 时间转化为数字时间戳
/*
- (NSTimeInterval)timeIntervalSinceDate:(NSDate *)anotherDate;
@property (readonly) NSTimeInterval timeIntervalSinceNow;
@property (readonly) NSTimeInterval timeIntervalSince1970;
*/
NSInteger numtime = date.timeIntervalSince1970;
NSString *numtimestr = [NSString stringWithFormat:@"%ld",numtime];
NSLog(@"%@",numtimestr);
// 数字时间转化为时间戳,如果为13位,除以1000,或者去掉后3位即可
NSDate *date2 = [NSDate dateWithTimeIntervalSince1970:numtime];
NSString *datestr2 = [formatter stringFromDate:date2];
NSLog(@"%@",datestr2);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐