微信支付 2016.11.10

1.向微信注册

打开开发者应用登记页面,进行登记,登记并选择移动应用进行设置后,将获得AppID,可立即用于开发。但应用登记完成后还需要提交审核,只有审核通过的应用才能正式发布使用。

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317780&token=&lang=zh_CN(详细步骤)

2.下载微信SDK,应使用SDK的最新版。

官方资源下载地址:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319164&token=&lang=zh_CN

3.添加库, 一共添加7个


(这个也要添加,不然报错,但是很多博客里都没说这个事)

4.info.plist添加


5.点击你的工程,选中target,选中info 添加url types


6.在app delegate里添加代码,注册(a. import头文件 b.对项目注册appID c.添加delegate)


加两个方法:


- (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];

}


7.调起支付接口

https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1

(官方文档)

在你想要支付的支付按钮添加点击事件:别忘了在所在的类#import "WXApi.h"

方法一

#pragma  mark 点击事件

- (IBAction)confirmToPay:(id)sender {

    PayReq *request = [[PayReq allocinit];

    /** 商家向财付通申请的商家id */

    request.partnerId = @"1220277201";

    /** 预支付订单 */

    request.prepayId@"82010380001603250865be9c4c063c30";

    /** 商家根据财付通文档填写的数据和签名 */

    request.package = @"Sign=WXPay";

    /** 随机串,防重发 */

    request.nonceStr@"lUu5qloVJV7rrJlr";

    /** 时间戳,防重发 */

    request.timeStamp1458893985;

    /** 商家根据微信开放平台文档对数据做的签名 */

    request.sign@"b640c1a4565b476db096f4d34b8a9e71960b0123";

    /*! @brief 发送请求到微信,等待微信返回onResp

     *

     * 函数调用后,会切换到微信的界面。第三方应用程序等待微信返回onResp。微信在异步处理完成后一定会调用onResp。支持以下类型

     * SendAuthReqSendMessageToWXReqPayReq等。

     * @param req 具体的发送请求,在调用函数后,请自己释放。

     * @return 成功返回YES,失败返回NO

     */

    [WXApi sendReq: request];

}


8.在APPdelegate里添加方法

-(void)onResp:(BaseResp *)resp{

    if([resp isKindOfClass:[PayResp class]]){

        //支付返回结果,实际支付结果需要去微信服务器端查询

        NSString *strMsg,*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 allocinitWithTitle:strTitle message:strMsg delegate:selfcancelButtonTitle:@"OK" otherButtonTitles:nilnil];

        [alert show];

    }


}


9.添加buildSettings 的 other linker flags




 大功告成~~~~~~~~~~~~~

另附上:

http://www.cnblogs.com/goodboy-heyang/p/5255818.html(超详细的一个博客)






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值