zoukankan      html  css  js  c++  java
  • 微信支付

    以下项目开发环境以Xcode10.0,运行环境为IOS7.0为例,说明其开发中需要的操作。

    1)项目设置APPID

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

     

    图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 safeSendReq:request];

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

    4)支付结果回调

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

    - (void)onResp:(BaseResp *)resp {
        if ([resp isKindOfClass:[PayResp class]]) {
            PayResp *response = (PayResp *)resp;
            switch (response.errCode) {
                case WXSuccess:
               //服务器端查询支付通知或查询API返回的结果再提示成功
                NSlog(@"支付成功");
                 break;
              default: 
                NSlog(@"支付失败, retcode=%d",resp.errCode);
                 break;
                }
    }
    }

    回调中errCode值列表:

    名称描述解决方案

    0

    成功

    展示成功页面

    -1

    错误

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

    -2

    用户取消

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

     
  • 相关阅读:
    linux redis 安装和链接,,,
    ppt转化pdf
    跨服务器 同步数据
    字典表相关
    代码重构,空间换时间,dictionary 不要用object ,需明确指定类型
    stringbuilder for test performance 性能 update 性能
    nvarchar 和varchar 在len下一致,datalength下nvarchar翻倍
    android GradLayout实现计算器
    屏幕录制GIF动画工具
    android SharedPreferences 简单的数据存储
  • 原文地址:https://www.cnblogs.com/hjltonyios/p/5017128.html
Copyright © 2011-2022 走看看