• 集成 AliPay


    作者感言

    前面我已经写了一篇关于WeChat SDK的支付篇, 那我们继续研究接下来的支付SDK, 这次就是国民支付软件支付宝, 下面就让我们来看看怎么集成AliPay SDK.

    最后:
    如果你有更好的建议或者对这篇文章有不满的地方, 请联系我, 我会参考你们的意见再进行修改, 联系我时, 请备注AliPay SDK如果觉得好的话, 希望大家也可以打赏一下~嘻嘻~祝大家学习愉快~谢谢~


    简介

    支付宝SDK, 只要做过支付类App的, 都百分百接触过, 至于为什么那么多人喜欢用支付宝, 这个我就不在这里做解释了, 大家都懂的, 但是呢, 由于在阿里巴巴的发展下, 支付宝慢慢与蚂蚁金服整合, 甚至连开放平台名字都改成蚂蚁金服开放平台, 但无论怎么样, 支付宝都是行业内安全性最高的,


    准备工作

    其实集成AliPay SDKWeChat SDK有些类似, 就连商家ID的申请, App ID的申请, 流程都差不多, 详细这里我就不在这里讲解了, 大家可以去支付宝商家商户服务平台了解了解.


    下载SDK包

    由于蚂蚁金服和支付宝的整合, 就连SDK的资源都改了, 大家可以去开放平台-文档中心找到资源下载.

    1

    2

    3


    继续来段废话

    SDK包下载好了之后, 我们去到之前的那个支付工程建立我们的新工程, 命名为AliPay-Objective-C, 接下来我们就可以继续集成AliPay SDK了.

    4


    配置文件

    现在我们建立好了工程, 然后我们和集成WeChat SDK一样, 需要配置一下工程, 这样子我们才能让AliPay SDK正常工作.

    现在让我们来打开工程的Info.plist文件, 添加一些配置.

    5

    6


    添加依赖包

    WeChat SDK一样, AliPay SDK一样是需要导入依赖包的, 但是这个依赖包要比WeChat SDK要多一些, 这个比较蛋疼.

    • UIKit.framework
    • CoreMotion.framework
    • CFNetWork.framework
    • Foundation.framework
    • CoreGraphics.framework
    • CoreText.framework
    • QuartzCore.framework
    • CoreTelephony.framework
    • SystemConfiguration.framework
    • libz.tbd
    • libc++.tbd


    这些都是所需的依赖库, 真的是非常的蛋疼.

    7


    注册App ID

    由于AliPay SDK是不需要在AppDelegate.m文件里注册的, 所以注册App ID这个步骤我们就忽略了.


    布局UI界面

    这里的UI布局界面就和WeChat SDK那样, 直接拖一个UIButton, 以及加一个Action事件就好了.

    8


    注意!!!

    由于AliPay改版了, 如果是老版本的SDK需要更新到最新的话, 一定要去好好的读一下接口文档, 因为这里需要添加多两个额外库以及一些依赖的签名文件, 这两个库在AliPay的资源包里可以找到.

    9

    10

    11

    把这些依赖文件都拖入我们的工程里, 这样子我们就能正常的完成开发了~~

    12


    集成SDK

    之前的所有准备工作都已经做好了, 现在重点来了, 就让我们看看怎么实现支付宝支付!

    首先我们需要一个订单对象, 这里我们命名为AliPayOther, 还有一个AliPayBizContent, 然后声明一些属性, 并且在内部实现一些方法, 由于这里的代码比较多, 这里就不列举了, 各位童鞋们还是自行去翻翻工程吧~~

    13

    然后呢, 我们就要把两个重量级的文件拖入到工程, 一个就是AlipaySDK.bundle, 一个是AlipaySDK.framework, 这两个文件也是在AliPay的资源包里可以找到.

    14

    导入之后编译一下, Xcode居然提示出错了!!!

    15

    看了一下错误信息, 提示NSObject, 我想应该是<Foundation/Foundation.h>没有导入到对应的文件里去吧, 试试看先

    16

    我屮艸芔茻, 一些问题解决了, 另一些问题又出来了, 仔细一看, 我勒个去, 原来是忘了导入刚刚所说的libcrypto.a以及libssl.a库了...我说怎么好像少了两个东西, 赶紧导入进去~

    17

    导入完之后, 还有一个错误, 我也是醉醉哒....尼玛, 这是玩我呢....以前导入SDK那有那么麻烦啊...翻了一下文档, 发现要添加一个Header的链接....我也是醉了, 这个链接的写法是$(SRCROOT)/(工程名), 我这里所写的是$(SRCROOT)/AliPay-Objective-C

    18


    实现支付宝支付

    好了, 我们把遇到的坑填完之后, 现在就来实现支付宝支付, 这里我们就直接把AliPayDemo里的代码直接拷贝过来, 

    19

    添加完之后, 别忘了处理AliPay回调回来的信息, 顺便说说, 这里的代理方法会有两个, 一个是iOS 9之后才有的新方法, 大家可以动动小脑袋, 看看怎么样封装才会比较好一些~

    20

    到这里我们就已经集成完毕了, 由于支付宝的Demo里没有提供App ID私钥, 所以我们这里显示的效果只能是酱紫了...需要测试的童鞋们只能自己去申请App ID私钥

    21


    工程地址

    项目地址: https://github.com/CainRun/PayProject

  • 相关阅读:
    mysql的缓冲查询和非缓冲查询
    通过中看不中用的代码分析Ioc容器,依赖注入....
    register_shutdown_function AND fastcgi_finish_request
    laravel5源码讲解整理
    ERROR! MySQL is running but PID file could not be found
    读《高性能javascript》笔记(一)
    看php手册2015-03-19版后备注
    rawurlencode / urlencode
    Zen Cart屏蔽中文语言浏览器
    WooCommerce Shortcode 简码使用方式说明
  • 原文地址:https://www.cnblogs.com/oc-bowen/p/6000382.html
Copyright © 2020-2023  润新知