两个分类,帮你快速集成支付宝和微信支付

栏目: IOS · 发布时间: 6年前

内容简介:这次的项目需要集成支付宝支付和微信支付,以前做这两个支付集成的时候压根也没怎么在意,因为签名什么的都是在服务器端完成的,自己也没怎么弄,但是这次签名都需要在客户端完成,在集成的时候还遇到了一点坑,所以在做完后,我把支付宝和微信支付总结了2个分类出来,方便以后快速集成,也为初次集成支付宝和微信的朋友提供个参考,使用这两个分类,无论客户端签名和服务端签名,你只需要简单几步就可以完成支付宝和微信支付,非常简单,github地址:使用前请先自行配置好环境,比如申请各种id、秘钥、公钥,导入库和设置scheme之类

写在前面

这次的项目需要集成支付宝支付和微信支付,以前做这两个支付集成的时候压根也没怎么在意,因为签名什么的都是在服务器端完成的,自己也没怎么弄,但是这次签名都需要在客户端完成,在集成的时候还遇到了一点坑,所以在做完后,我把支付宝和微信支付总结了2个分类出来,方便以后快速集成,也为初次集成支付宝和微信的朋友提供个参考,使用这两个分类,无论客户端签名和服务端签名,你只需要简单几步就可以完成支付宝和微信支付,非常简单,github地址: XWPayCategory

效果图

两个分类,帮你快速集成支付宝和微信支付

如何使用

使用前请先自行配置好环境,比如申请各种id、秘钥、公钥,导入库和设置scheme之类的,这类步骤的详细说明网上都很多,搜索一下就可以了;

详细步骤见demo:demo使用前请务必配置好所有的key和id,不然是无法正确调用支付的

我对demo做简单的使用步骤说明,为了保证体验,支付宝和微信的分类的API的调用方式完全一样的,而且步骤也是和大多数三方SDK一样,采用先注册后调用的逻辑,方便理解使用,两个分类分别是: WXApi+XWAddAlipaySDK+XWAdd ,下面是步骤:

1、注册

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    //注册微信
    [WXApi xwAdd_registerWeiXinWithAppID:weiXinID];    //注册微信支付(客户端签名才需要注册)
    [WXApi xwAdd_registerWXPayWithMchID:weiXinMchID appSecret:weiXinSecretKey];    //注册支付宝支付(客户端签名才需要注册)
    [AlipaySDK xwAdd_registerAlipayWithPartnerID:AliPayPartnerID sellerID:AliPaySellerID partnerPrivKey:AliPayPartnerPrivKey];    return YES;

2、设置OpenURL回调

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options{    //处理微信回调信息
    [WXApi xwAdd_handleOpenURL:url];    //处理支付宝回调信息
    [AlipaySDK xwAdd_handleOpenURL:url];    return YES;
}

3、发起支付,在block中处理回调,对于支付宝支付,无论是网页端和app端的回调,都通过这里的block的回调,保证了逻辑的统一性

- (IBAction)alipay:(id)sender {    //发起支付宝支付(客户端签名版本)
    [AlipaySDK xwAdd_sendPayRequestWithOrderID:@"1221322213123131321" orderName:@"测试订单" orderDescription:nil orderPrice:@"0.01" orderNotifyUrl:@"www.test.com" appScheme:@"xwpaydemo" callbackConfig:^(BOOL successed) {        //支付宝支付无论网页版本和app版本都统一在这里回调
        [self _xw_handleResult:successed];
    }];
}

- (IBAction)wxpay:(id)sender {    //发起微信支付(客户端签名版本)
    [WXApi xwAdd_sendPayRequestWithOrderID:@"13212112313213213213" orderName:@"测试订单" orderPrice:@"1" orderNotifyUrl:@"www.test.com" callbackConfig:^(BOOL successed) {        //微信支付回调回调
        [self _xw_handleResult:successed];
    }];
}/**处理支付结果,大功告成*/- (void)_xw_handleResult:(BOOL)successed{
    [XWSimpleTipView xw_showSimpleTipOnView:self.view WithTitle:successed ? @"支付成功" : @"支付失败"];
}

就这样三个步骤,就完成了整个支付的流程,而且代码也比较简洁,如上调用的方法是对于客户端签名版本,服务器签名的话,就换一下第三个步骤的发起支付方法就行了,步骤没什么差别,详细请自行查看两个分类

最后

使用该分类,就只需要这3个步骤,很少的代码,就可以快速的完成支付宝和微信支付的集成了,其实对于很多三方库,我们在使用的时候都应该为其写分类或者 工具 类出来,这样不仅方便我们以后集成,而且能够让三方库尽可能少的侵染我们的工程,以后改起来也相当方便,再次复习一下github地址: XWPayCategory ,如果觉得有帮助,谢谢给予star鼓励!


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序员之禅

程序员之禅

[德] Christian Grobmeier / 荣耀、朱艳 / 人民邮电出版社 / 2015-8 / 39.00元

禅是一种生活态度和生活方式。程序员是一份特别辛苦的职业,也是一个承受各种压力的群体。在物欲横流的今天,禅对于程序员有着特殊的意义和价值。 本书的作者是一名德国程序员老兵,深谙程序员的喜怒哀乐。他曾经发表了一篇题为“程序员之禅的十条法则”的博客文章,引发众多程序员热烈的讨论和强烈的共鸣。本书共10章,结合程序员日常生活和工作的方方面面,作者通过对禅的知识、理解、体验、思考和感悟,提出很多中肯的......一起来看看 《程序员之禅》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

随机密码生成器
随机密码生成器

多种字符组合密码