美文网首页ios学习iOSfresh
iOS应用之银联支付集成

iOS应用之银联支付集成

作者: 华之曦 | 来源:发表于2016-01-20 10:08 被阅读854次
  • 借助于前几天项目刚刚上线,也在此继续分享下银联支付的相关方法和总结。本次分享的为支持纯无卡交易
  • 鉴于上两次的支付分享,本次所做的内容比较简单,签名工作移到了后台进行,前端所做的工作非常少,只需要往后台POST过去商品价格,后台对订单进行相应的签名,返回签名后的tn字符串即可。

1.事前准备工作

2. 开发流程

  • 导入头文件 #import "UPPayPlugin.h" 以及设置代理 <UPPayPluginDelegate>
  • 触发唤起银联支付的方法(本次对订单的签名处理都在后台进行,在此附上后台银联支付SDK)。
#pragma mark - 银联支付相关方法
- (IBAction)yinlianPayAct {
    NSString *strUrl = [NSString stringWithFormat:@"%@/App/Index/index/",SERVERURL]; //从后台获取tn字符串的API地址
    NSMutableDictionary *params = [NSMutableDictionary dictionary];
    params[@"money"] = payCount; // 支付金额
    [LXHttpTool post:strUrl params:params success:^(id json) {
        LXLog(@"%@", json);
        NSString *tnStr = [NSString stringWithFormat:@"%@", json[@"tn"]];
        if (tnStr) {
            [UPPayPlugin startPay:tnStr mode:@"00" viewController:self delegate:self];
        } else {
            [MBProgressHUD showError:json[@"error"]];
        }
    } failure:^(NSError *error) {
        LXLog(@"请求失败-%@", error);
    }];
}

注:mode:@"00"为正式版本支付模式, mode:@"01"为测试版本支付模式,官方给的有测试账号,如下图:

截图来自银联iOS开发指南
  • 设置回调方法,对支付结果进行相应操作,后台数据相应的加减
#pragma mark - UPPayPluginDelegate
-(void)UPPayPluginResult:(NSString*)result {
    LXLog(@"%@", result);
    if ([result isEqual:@"success"]) {
        [self pay_success]; // 银联支付成功之后,往后台发送相应订单数据的方法。
    } else if ([result isEqual:@"fail"]) {
        [MBProgressHUD showError:@"支付失败"];
    } else {
        [MBProgressHUD showError:@"您已取消支付"];
    }  
}

注:支付成功后,往后台发送数据是必需的,对后台数据进行相应的更新

3. 总结

  • 对于以上分享的支付方法,仔细琢磨一下,发现有漏洞。通过第三方支付,如果支付成功返回App之后,此时网络突然出现问题,不能往后台正常发送相应数据,导致后台数据更新不了,可是银子已经扣过,这不是要挂的节奏么(求高人指点,如何避免此种BUG)。
  • 鉴于上个项目中各种单个支付方法,太过累赘,对于目前开发的项目启用Ping++支付方法,度娘解释:Ping++ 是上海简米网络科技有限公司旗下的移动支付 SDK 产品,整合了目前市面上各种支付渠道。
  • Ping++支付分享,待续...

相关文章

  • iOS应用之银联支付集成

    借助于前几天项目刚刚上线,也在此继续分享下银联支付的相关方法和总结。本次分享的为支持纯无卡交易。 鉴于上两次的支付...

  • iOS9

    HTTPS和HTTP iOS 9 适配系列教程 iOS 集成银联支付(绕过文档的坑,快速集成) : www.coc...

  • iOS开发 支付之银联支付集成

    iOS开发之银联支付集成 最近在做支付这一块的东西,就记录下来以便以后参考和各位交流学习,这里是银联支付 银联官网...

  • iOS 集成银联支付(绕过文档的坑,快速集成)

    iOS 集成银联支付(绕过文档的坑,快速集成) 本文是投稿文章,作者:南栀倾寒 当初集成支付宝的时候,觉得见了这么...

  • iOS中集成银联支付(转)

    iOS 集成银联支付 字数1050阅读11876评论25喜欢78 写在开头 iOS开发者 群532084214 给...

  • iOS- 收藏 (专题文章分类)

    支付宝/ 微信 / 银联 1. iOS 支付宝详细集成总结2. 支付宝3. iOS-微信支付和支付宝支付4. ...

  • 银联支付相关文档

    银联支付相关文档银联集成官网

  • iOS 银联支付集成

    SDK下载地址 下面只说使用cocoapods集成之后需要做的配置 支付 Info.plist 最后我记得需要关闭...

  • iOS 集成银联支付

    银联开发者平台 https://open.unionpay.com/ajweb/index 银联支付流程:客户端发...

  • iOS 集成银联支付

    写在开头 iOS开发者 群532084214 给大家提供一个交流技术 也可以聊天打屁的平台 当初集成支付宝的时候 ...

网友评论

  • 嘴爷:对于微信 支付宝支付成功了,都会给你后台通知的,特别是微信,是要通过后台确认你是否支付成功了,你应该是本地SDK告诉你成功你就给写成功了吧,貌似不可能出现你那中情况,你看为微信那个文档,不让你再app端判断,你看到支付成功了,但是你得通过后台去获取你的支付状态,网络不好也没事,会通知你后台七次,通知不到人家的接口也是可以查询到的,但不是你APP端做的事

本文标题:iOS应用之银联支付集成

本文链接:https://www.haomeiwen.com/subject/gdflkttx.html