首页 > 软件开发 > 微信支付ios开发是什么?

快速发布【软件开发】相关需求,专业顾问为您服务 快速发布

用此手机号发布,您还可以点击 更换

发布需求
请输入正确的手机号
请输入正确的验证码

您是不是要找:

  • 专家问诊,提供专业建议
  • 急速响应,体验省心
  • 根据需求灵活定制解决方案

微信支付ios开发是什么?

标签:微信支付ios开发 2018-5-10 作者:Lavenka

  微信支付ios开发怎么做?以下项目开发环境以Xcode6.0,运行环境为IOS7.0为例,说明其开发中需要的操作。

 

  1、项目设置APPID

 

  商户在微信开放平台申请开发APP应用后,微信开放平台会生成APP的唯一标识APPID。在Xcode中打开项目,设置项目属性中的URL Schemes为您的APPID。如图8.7标红位置所示。

 

  IOS开发要点说明

 

  图8.7

 

  2、注册APPID

 

  商户APP工程中引入微信lib库和头文件,调用API前,需要先向微信注册您的APPID,代码如下:

 

  [WXApi registerApp@"wxd930ea5d5a258f4f" withDescription@"demo 2.0"];

 

  3、调起支付

 

  商户服务器生成支付订单,先调用【统一下单API】生成预付单,获取到prepay_id后将参数再次签名传输给APP发起支付。以下是调起微信支付的关键代码:

 

  PayReq *request = [[[PayReq alloc] init] autorelease];

 

  request.partnerId = @"10000100";

 

  request.prepayId= @"1101000000140415649af9fc314aa427";

 

  request.package = @"Sign=WXPay";

 

  request.nonceStr= @"a462b76e7436e98e0ed6e13c64b4fd1c";

 

  request.timeStamp= @"1397527777";

 

  request.sign= @"582282D72DD2B03AD892830965F428CB16E7A256";

 

  [WXApi sendReqrequest];

 

  注意:该sign生成字段名列表见调起支付API

 

  4、支付结果回调

 

  照微信SDK Sample,在类实现onResp函数,支付完成后,微信APP会返回到商户APP并回调onResp函数,开发者需要在该函数中接收通知,判断返回错误码,如果支付成功则去后台查询支付结果再展示用户实际支付结果。注意一定不能以客户端返回作为用户支付的结果,应以服务器端的接收的支付通知或查询API返回的结果为准。代码示例如下:

 

  -(void)onResp(BaseResp*)resp{

 

  if ([respisKindOfClass[PayRespclass]]){

 

  PayResp*response=(PayResp*)resp;

 

  switch(response.errCode){

 

  caseWXSuccess

 

  //服务器端查询支付通知或查询API返回的结果再提示成功

 

  NSlog(@"支付成功");

 

  break;

 

  default

 

  NSlog(@"支付失败,retcode=%d",resp.errCode);

 

  break;

 

  }

 

  }

 

  }

 

  回调中errCode值列表:

 

  名称描述解决方案

 

  0成功展示成功页面

 

  -1错误可能的原因:签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、其他异常等。

 

  -2用户取消无需处理。发生场景:用户不支付了,点击取消,返回APP

 

  Android开发要点说明

 

  1、后台设置

 

  商户在微信开放平台申请开发应用后,微信开放平台会生成APP的唯一标识APPID。由于需要保证支付安全,需要在开放平台绑定商户应用包名和应用签名,设置好后才能正常发起支付。设置界面在【开放平台】中的栏目【管理中心 / 修改应用 / 修改开发信息】里面,如图8.8红框内所示。

 

  应用包名:是在APP项目配置文件AndroidManifest.xml中声明的package值,例如DEMO中的package="net.sourceforge.simcpux"

 

  应用签名:根据项目的应用包名和编译使用的keystore,可由签名工具生成一个32位的md5串,在调试的手机上安装签名工具后,运行可生成应用签名串。

 

  2、注册APPID

 

  商户APP工程中引入微信JAR包,调用API前,需要先向微信注册您的APPID,代码如下:

 

  final IWXAPI msgApi = WXAPIFactory.createWXAPI(context, null);

 

  // 将该app注册到微信

 

  msgApi.registerApp("wxd930ea5d5a258f4f");

 

  3、调起支付

 

  商户服务器生成支付订单,先调用统一下单API(详见第7)生成预付单,获取到prepay_id后将参数再次签名传输给APP发起支付。以下是调起微信支付的关键代码:

 

  IWXAPI api;

 

  PayReq request = new PayReq();

 

  request.appId = "wxd930ea5d5a258f4f";

 

  request.partnerId = "1900000109";

 

  request.prepayId= "1101000000140415649af9fc314aa427",;

 

  request.packageValue = "Sign=WXPay";

 

  request.nonceStr= "1101000000140429eb40476f8896f4c9";

 

  request.timeStamp= "1398746574";

 

  request.sign= "7FFECB600D7157C5AA49810D2D8F28BC2811827B";

 

  api.sendReq(request);

 

  注意:该sign生成字段名列表见调起支付API

 

  4、支付结果回调

 

  参照微信SDK Sample,在net.sourceforge.simcpux.wxapi包路径中实现WXPayEntryActivity(包名或类名不一致会造成无法回调),在WXPayEntryActivity类中实现onResp函数,支付完成后,微信APP会返回到商户APP并回调onResp函数,开发者需要在该函数中接收通知,判断返回错误码,如果支付成功则去后台查询支付结果再展示用户实际支付结果。注意一定不能以客户端返回作为用户支付的结果,应以服务器端的接收的支付通知或查询API返回的结果为准。代码示例如下:

 

  publicvoidonResp(BaseRespresp){

 

  if(resp.getType()==ConstantsAPI.COMMAND_PAY_BY_WX){

 

  Log.d(TAG,"onPayFinish,errCode="+resp.errCode);

 

  AlertDialog.Builderbuilder=newAlertDialog.Builder(this);

 

  builder.setTitle(R.string.app_tip);

 

  }

 

  }

 

  回调中errCode值列表:

 

  名称描述解决方案

 

  0成功展示成功页面

 

  -1错误可能的原因:签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、其他异常等。

 

  -2用户取消无需处理。发生场景:用户不支付了,点击取消,返回APP

 

  好了,以上就是微信支付ios开发的内容了。获取更多资讯,请关注服务购的后续更新哦。


最新文章推荐

软件开发暂无最新文章查看全部推荐文章>

推荐人才