iOS开发-支付宝支付集成

支付宝支付集成

接入准备

先与支付宝签约,获得商户ID(partner)和账号ID(seller)
https://opendocs.alipay.com/open/204/105297

接入文档:
https://opendocs.alipay.com/open/204/105295

1.通过 CocoaPods 导入,Podfile文件中增加
  pod 'AlipaySDK-iOS'

然后终端执行

pod install --verbose --no-repo-update
  
2.增加头文件引用
# import <AlipaySDK/AlipaySDK.h>
3.组装请求信息(组装过程放在服务端处理,客户端通过接口获取到组装好的字符串)

OC:

// NOTE: 调用支付结果开始支付
[[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {
    NSLog(@"reslut = %@",resultDic);
}];

swift:

   // NOTE: 调用支付结果开始支付
    AlipaySDK.defaultService().payOrder(orderString, fromScheme: appScheme, callback: { (resp) in
        print(resp as Any)
    })
4.配置返回 url 处理方法

AppDelegate

//        9000  订单支付成功
//        8000  正在处理中
//        4000  订单支付失败
//        6001  用户中途取消
//        6002  网络连接出错

OC:

- (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;
}

swift:

    func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
   if url.host == "safepay" {

     AlipaySDK.defaultService().processOrder(withPaymentResult: url) { result in
        let returnCode:String = result?["resultStatus"] as! String
        }
        return true;
    }

支付宝集成就结束了。