zoukankan      html  css  js  c++  java
  • 支付宝快速集成ios

    看一下这篇文章,非常不错,并在此感谢这篇文章的作者。

    惯例,先写出嵌入支付宝的核心代码

    - (IBAction)payWithAli:(UIButton *)sender {
        //生成订单信息NSString *orderString=[AlipayRequestConfig genOrderWithProductName:@"金币" productDescription:@"兑换抵用券" amount:@"0.03"];
    
        //前往支付宝界面
        [[AlipaySDK defaultService] payOrder:orderString fromScheme:kAppScheme callback:^(NSDictionary *resultDic) {
            dispatch_async(dispatch_get_main_queue(), ^{
                //解析返回状态码int resultSuccess = [[resultDic objectForKey:kALipaykeyResult] intValue];
                //是9000代表支付成功if (resultSuccess == kALipaykeyResultSuccess) {
                    NSLog(@"支付成功");
                }else{
                    NSLog(@"支付失败");
                }
            });
        }];
    }

    好了,代码写完了,其他的就是配置一些信息了。
    最好先去读一下支付宝的官方帮助文档和实例代码(实例代码有些啰嗦)
    1,将附件demo中的IntegratedAlipay文件夹拷贝到你所在的项目,找到AlipayHeader.h文件,填写必要的信息(kPartnerID,kSellerAccount,kAppScheme,kPrivateKey)。
    2,在Build Phases-LinK Binary With libraries中添加SystemConfiguration.framework,添加步骤可以参阅 http://winann.blog.51cto.com/4424329/1601654。
    3,在Build Settings中搜索Paths,找到FrameWork Search Paths,Header …,Library …,在个中添加你项目中AlipaySDK,和AlipayFils的路径;
    实例
    FrameWork Search Paths:
    $(PROJECT_DIR)/IntegratedAlipay/IntegratedAlipay/AlipaySDK
    Header Search Paths:
    $(SRCROOT)/IntegratedAlipay/IntegratedAlipay/AlipayFiles
    Library Search Paths:
    $(PROJECT_DIR)/IntegratedAlipay/IntegratedAlipay/AlipaySDK

    #include <openssl/asn1.h>这里报找不到的错误,就是上面信息没有配置或配置错导致的。
    4,在info-URL Types 中添加一个,其中URL Scemes中的值和AlipayHeader.h中的kAppScheme的值保持一致。

     

    出现的问题总结
    1,如果这时点击按钮,还没有跳转到支付宝界面,不要急,有以下两种解决方法:
    (1)在info.plist下找到Main storyboard file base name,删掉
    (2)如果用到了storyboard 可以在调用AlipaySDK defaultService,后添加

    NSArray *array = [[UIApplication sharedApplication] windows];
        UIWindow* win=[array objectAtIndex:0];
        [win setHidden:NO]; 

    在返回结果后,再设置为显示

    2,“系统繁忙 请稍后再试 ali64“,去确认订单信息(代码中的orderString)是否有误

    //正确的订单信息
    partner="xxxxx"&seller_id="xxxxx"& out_trade_no="DZSZ2NFIBQQKM5M"&subject="1"&body="我是测试数据"& total_fee="0.02"&notify_url="http://www.xxx.com"&service="mobile.securitypay.pay"&payment_type="1"&_input_charset="utf-8"&it_b_pay="30m"&show_url="m.alipay.com"&sign="aQJQ5JnU8Aqw990.000000D1J4KgSfgLbokbQdTbf4U0.000000HDoIZNg3IgsgtGPs0.0000004CKzZjCxqqsg78KUJxmuZCREaaE0.000000IBum5H34JBexkXaWrtP5O1pc7EZb0.0000006O5oAhSiw0Y2faaLNk2DYuCbTV1omeEv0Ugkyr9t78i4uJFgig0wXpqocOcw1936"&sign_type="RSA"

    3,支付宝官方demo,编译出错
    Build Setting-Valid Architectures-添加armv7s,armv7,arm64

    4,由于虚拟机不能安装支付宝钱包,所以跳转到支付包钱包的功能,还未测试,以后会补上

    demo地址:http://download.csdn.net/detail/shenhualxt/8482219

    以上就介绍了IOS快速嵌入支付宝,包括了方面的内容,希望对IOS开发有兴趣的朋友有所帮助。

  • 相关阅读:
    缓存Cache
    RDD的行动操作
    redis数据库的配置
    requests的封装(user-agent,proxies)
    phantjs
    python多线程
    etree-xpath
    Flask
    Flask
    Flask
  • 原文地址:https://www.cnblogs.com/lgphp/p/4360291.html
Copyright © 2011-2022 走看看