当前位置: 首页 > news >正文

互联网站备案自学小程序开发需要学多久

互联网站备案,自学小程序开发需要学多久,wordpress 防篡改,网页无法访问6服务器签名版本 官方已经是建议使用服务器签名来接入微信支付#xff0c;实际上从安全上考虑#xff0c;确实是每个客户端不应该知道RAS密钥#xff0c;也不需要每个客户端都写一遍签名的算法。 服务端接入流程文档#xff1a;https://pay.weixin.qq.com/wiki/doc/api/app.…服务器签名版本 官方已经是建议使用服务器签名来接入微信支付实际上从安全上考虑确实是每个客户端不应该知道RAS密钥也不需要每个客户端都写一遍签名的算法。 服务端接入流程文档https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter8_3 商户系统和微信支付系统主要交互说明 步骤1用户在商户APP中选择商品提交订单选择微信支付。 步骤2商户后台收到用户支付单调用微信支付统一下单接口。参见【统一下单API】。 步骤3统一下单接口返回正常的prepay_id再按签名规范重新生成签名后将数据传输给APP。参与签名的字段名为appIdpartnerIdprepayIdnonceStrtimeStamppackage。注意package的值格式为SignWXPay 步骤4商户APP调起微信支付。api参见本章节【app端开发步骤说明】 步骤5商户后台接收支付通知。api参见【支付结果通知API】 步骤6商户后台查询支付结果。api参见【查询订单API】 1.导入SDK文件 2.导入相关的系统库及文件。不导入会报错。 SystemConfiguration.frameworklibz.tbd libsqlite3.0.tbdCoreTelephony.framework3.配置info.plist a.schemes 注意item0 这里要修改成商户自己的APPID 或者这样修改 b.白名单 c.安全配置支持Http 当然这部分的配置也可以通过修改XML来实现。 4.修改bitcode。 修改 5.在AppDelegate 注册微信 导入#import WXApiManager.h - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {//向微信注册wxd930ea5d5a258f4f[WXApi registerApp:wxb4ba3c02aa476ea1 withDescription:demo 2.0];return YES; }- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]]; }- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]]; } 6.接下来就是发起请求支付了实现上核心代码只有几行。 这部分代码在demo的WXApiRequestHandler--》jumpToBizPay 里。 //调起微信支付PayReq* req [[[PayReq alloc] init]autorelease];req.partnerId [dict objectForKey:partnerid];req.prepayId [dict objectForKey:prepayid];req.nonceStr [dict objectForKey:noncestr];req.timeStamp stamp.intValue;req.package [dict objectForKey:package];req.sign [dict objectForKey:sign];[WXApi sendReq:req]; 7.不管支付成功还是失败结果会返回到WXApiManager--》onResp 方法下 switch (resp.errCode) {case WXSuccess:strMsg 支付结果成功;NSLog(支付成功PaySuccessretcode %d, resp.errCode);break;default:strMsg [NSString stringWithFormat:支付结果失败retcode %d, retstr %, resp.errCode,resp.errStr];NSLog(错误retcode %d, retstr %, resp.errCode,resp.errStr);break;} 我们直接处理回调结果即可。 客户端进行签名 1.导入文件。官方已经不提供这个SDK的下载了我已经打包到源代码了2015年3月11号最新修改的版本   2.里面有两个文件是非arc的我们需要设置一下 -fno-objc-arc 3.导入系统库及info.list配置请参数上面服务端签名。 4.AppDelegate配置 1导入头文件 #import WXApi.h #import payRequsestHandler.h 2实现微信代理 interface AppDelegate ()WXApiDelegateend 3注册微信及微信支付回调 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {// Override point for customization after application launch.//向微信注册[WXApi registerApp:APP_ID withDescription:demo 2.0];return YES; }- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {return [WXApi handleOpenURL:url delegate:self]; }- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {return [WXApi handleOpenURL:url delegate:self]; }// 微信支付成功或者失败回调 -(void) onResp:(BaseResp*)resp {NSString *strMsg [NSString stringWithFormat:errcode:%d, resp.errCode];NSString *strTitle;if([resp isKindOfClass:[SendMessageToWXResp class]]){strTitle [NSString stringWithFormat:发送媒体消息结果];}if([resp isKindOfClass:[PayResp class]]){//支付返回结果实际支付结果需要去微信服务器端查询strTitle [NSString stringWithFormat:支付结果];switch (resp.errCode) {case WXSuccess:strMsg 支付结果成功;NSLog(支付成功PaySuccessretcode %d, resp.errCode);break;default:strMsg [NSString stringWithFormat:支付结果失败retcode %d, retstr %, resp.errCode,resp.errStr];NSLog(错误retcode %d, retstr %, resp.errCode,resp.errStr);break;}}UIAlertView *alert [[UIAlertView alloc] initWithTitle:strTitle message:strMsg delegate:self cancelButtonTitle:OK otherButtonTitles:nil, nil];[alert show]; } 5.写方法直接在支付时调用 - (void)payForWechat {//创建支付签名对象payRequsestHandler *req [[payRequsestHandler alloc] init];//初始化支付签名对象[req init:APP_ID mch_id:MCH_ID];//设置密钥[req setKey:PARTNER_ID];NSMutableDictionary *dict [req sendPay_demo];if(dict ! nil){NSMutableString *retcode [dict objectForKey:retcode];if (retcode.intValue 0){NSMutableString *stamp [dict objectForKey:timestamp];//调起微信支付PayReq* req [[PayReq alloc] init];req.openID [dict objectForKey:appid];req.partnerId [dict objectForKey:partnerid];req.prepayId [dict objectForKey:prepayid];req.nonceStr [dict objectForKey:noncestr];req.timeStamp stamp.intValue;req.package [dict objectForKey:package];req.sign [dict objectForKey:sign];[WXApi sendReq:req];//日志输出NSLog(appid%\npartid%\nprepayid%\nnoncestr%\ntimestamp%ld\npackage%\nsign%,req.openID,req.partnerId,req.prepayId,req.nonceStr,(long)req.timeStamp,req.package,req.sign );}else{[self alert:提示信息 msg:[dict objectForKey:retmsg]];}}else{[self alert:提示信息 msg:服务器返回错误未获取到json对象];} }//客户端提示信息 - (void)alert:(NSString *)title msg:(NSString *)msg {UIAlertView *alter [[UIAlertView alloc] initWithTitle:title message:msg delegate:nil cancelButtonTitle:OK otherButtonTitles:nil];[alter show]; } 转载于:https://www.cnblogs.com/fantasy3588/p/5215379.html
http://www.pierceye.com/news/540239/

相关文章:

  • 谷歌有做网站建设快速建站哪里好
  • 坤和建设 网站深圳高端网站设计开发
  • 怎么做网站策划的模板如何注册咨询公司
  • 做婚恋网站投入多少钱php注册网站源码带数据库
  • 苏州网站建设制作方案手机上做app的软件
  • 青岛营销型网站html网页制作期末作业
  • 加强网站微信公众号平台建设php 5.4 wordpress
  • 比价网站开发东莞微客巴巴做网站
  • 怎么免费搭建自己的网站交互网站建设
  • 网站架构 规划考研网站做刷词
  • 昆山网站建设kshuituo适合seo优化的站点
  • 免费十八种禁用网站圣诞网站怎么做
  • 做网站排名赚钱吗安卓开发快速入门
  • 南宁百度网站建设求个网站或者软件
  • 岳阳网站项目建设报道网站建设色调的
  • 站长平台怎么添加网站南京市高淳县建设厅网站
  • 广州市住房和城乡建设厅网站首页一键制作自己的app软件
  • 设一个网站链接为安全怎么做微博内容放到wordpress
  • 好的网站设计培训学校wordpress主题 表白
  • 做网站服务器系统模板网站的建设方式与方法
  • 网站建设需要的公司市住房城乡建设部网站
  • 网站备案 厦门怎样做自己的购物网站
  • 旅行社应做哪些网站wordpress新建页面发布内容
  • 网站建设业中国宁波网天一论坛
  • 代表网站开发的logo小程序制作推广费用
  • 建个大型网站要多少钱怎么建自己的网址
  • 网站建站模板做网站一般的尺寸
  • 西安网站设设学校品牌建设
  • 工信部网站备案查询做网站用的大图
  • 手机版网站图片自适应怎么做找快照网站查询