支付宝支付和微信支付接入前要看的一些事

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/klkxxy/article/details/78556829

首先,要说的第一点是。

一定要和服务器端一起做,

一定要和服务器端一起做,

一定要和服务器端一起做,

重要的事情说三遍。

首先别想太难,其实非常简单,看他们文档写了一大堆,什么加密,公,秘钥之类的,和我们没啥关系。

所以说,我们要做的就是,只要调一个接口就行。


微信

微信的文档写的非常的好:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_1

核心的方法:

PayReq *request = [[[PayReq alloc] init] autorelease];

request.partnerId = @"10000100";

request.prepayId= @"1101000000140415649af9fc314aa427";

request.package = @"Sign=WXPay";

request.nonceStr= @"a462b76e7436e98e0ed6e13c64b4fd1c";

request.timeStamp= @"1397527777";

request.sign= @"582282D72DD2B03AD892830965F428CB16E7A256";

[WXApi sendReq:request];


里面的参数都是后台传过来的。




支付宝

支付宝文档https://docs.open.alipay.com/204/105295/

关于支付宝,先导入SDK包,

AlipaySDK.bundle
AlipaySDK.framework

在Build Phases选项卡的Link Binary With Libraries中,增加以下依赖:

image

其中,需要注意的是:

  • 如果是Xcode 7.0之后的版本,需要添加libc++.tbd、libz.tbd;
  • 如果是Xcode 7.0之前的版本,需要添加libc++.dylib、libz.dylib(如下图)。
    image

步骤2:在需要调用AlipaySDK的文件中,增加头文件引用。

import <AlipaySDK/AlipaySDK.h>

文档看到这里等,后面组装请求消息是后端的活。等他们将组装好的消息发我们

调用这个方法

        AlipaySDK.defaultService().payOrder(sign, fromScheme: "ZhiFuBao") { (result) in

            print("支付宝支付结果\(String(describing: result))")

       }


当然后面的支付成功后的回调方法还是要看的

步骤4:配置支付宝客户端返回url处理方法。

(外部存在支付包钱包,支付宝钱包将处理结果通过url返回。)

如示例AliSDKDemo\APAppDelegate.m文件中,增加引用代码:

import <AlipaySDK/AlipaySDK.h>

AppDelegate中以下代码中的NSLog改为实际业务处理代码:

- (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) {
            NSLog(@"result = %@",resultDic);
        }];
    }
    return YES;
}

// NOTE: 9.0以后使用新API接口
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
{
    if ([url.host isEqualToString:@"safepay"]) {
        //跳转支付宝钱包进行支付,处理支付结果
        [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
            NSLog(@"result = %@",resultDic);
        }];
    }
    return YES;
}

猜你喜欢

转载自blog.csdn.net/klkxxy/article/details/78556829