美文网首页
支付宝支付

支付宝支付

作者: HackerOnce | 来源:发表于2016-04-16 19:14 被阅读486次

    按照支付宝开放平台的文档来开发

    基本流程如下:

    1 下载支付宝支付SDK,导入到xcode,并添加依赖库

    2 按照文档配置请求字符串(请求字符串可由server端配置好然后返回给客户端),尤其对既支持支付宝支付又支持微信支付的客户端,由于微信支付需要先生成prepay_id,然后在客户端用这个参数及其他的一些参数向微信发送支付请求,可以统一向server端发起支付请求,server端根据支付宝和微信返回不同的json数据,既如果是微信支付则返回支付所需的字段,详见微信api文档,如果是支付宝则返回orderStr,客户端调用支付宝提供的接口- (void)payOrder:(NSString*)orderStr

    fromScheme:(NSString*)schemeStr

    callback:(CompletionBlock)completionBlock;直接发起支付请求

    orderStr:订单信息,在这里有服务器端返回

    fromScheme:调用支付的app注册在info.plist中的scheme

    callBack:支付结果回调Block

    另外可能app被后台进程kill掉,此时需要在这个方法写入支付结果回掉处理函数

    - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

    {

    //如果极简开发包不可用,会跳转支付宝钱包进行支付,需要将支付宝钱包的支付结果回传给开发包

    if ([url.host isEqualToString:@"safepay"]) {

    [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {

    //【由于在跳转支付宝客户端支付的过程中,商户app在后台很可能被系统kill了,所以pay接口的callback就会失效,请商户对standbyCallback返回的回调结果进行处理,就是在这个方法里面处理跟callback一样的逻辑】

    NSLog(@"result = %@",resultDic);

    }];

    }

    if ([url.host isEqualToString:@"platformapi"]){//支付宝钱包快登授权返回authCode

    [[AlipaySDK defaultService] processAuthResult:url standbyCallback:^(NSDictionary *resultDic) {

    //【由于在跳转支付宝客户端支付的过程中,商户app在后台很可能被系统kill了,所以pay接口的callback就会失效,请商户对standbyCallback返回的回调结果进行处理,就是在这个方法里面处理跟callback一样的逻辑】

    NSLog(@"result = %@",resultDic);

    }];

    }

    return YES;

    }

    相关文章

      网友评论

          本文标题:支付宝支付

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