iOS 集成支付宝sdk简单教程以及遇到的坑(1)

96
peterchen
2016.04.30 21:22* 字数 993

猫图镇楼

昨天在集成支付宝的时候,还是遇到了不少问题,写个文章记录一下。

要想集成支付宝,当然首先是注册为支付宝的商户并签约,教程看这里

https://doc.open.alipay.com/doc2/detail.htm?treeId=58&articleId=103542&docType=1

签约成功之后,就要生成商户私钥 公钥 并且上传。教程:

https://doc.open.alipay.com/doc2/detail.htm?treeId=58&articleId=103242&docType=1

补充一点,生成完私钥公钥后怎么查看呢?很简单,只要在退出openssl后(即执行OpenSSL> exit   此命令后)在终端执行以下命令:


cat rsa_private_key.pem

此命令用于查看私钥

得到的输出如下:


把私钥保存到项目中(其实就是复制黏贴),记得把空格删除。

cat rsa_public_key.pem

此命令用于查看公钥,输出如下:


之后把公钥上传(就是把公钥复制黏贴到那个上传的输入框内),教程看这里

https://doc.open.alipay.com/doc2/detail.htm?treeId=58&articleId=103578&docType=1

注意不能有空格(好像现在支付宝能自动清除空格了)

所有这些都成功之后,就可以创建项目了。至此算是完成了第一阶段。


接下来就是下载支付宝的sdk了,地址如下:

https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.YML2pT&treeId=54&articleId=104509&docType=1

再然后就是按照下面的文档把相关的资源导入项目中。

https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.T4tWoI&treeId=59&articleId=103676&docType=1

ok,大功告成!!可以吃火锅撩妹了!!

骗你的了,怎么可能呢。下面才是真正坑人的部分。

首先我们需要把私钥 , 商户id, 合作者id 保存到项目中,之后要用到。私钥的查看上面已经说了,商户id和合作者id在支付宝的商家服务页面查看,地址

https://authgtj.alipay.com/login/index.htm

登录之后点击红圈的部分,


进入如下页面,就可以看到合作者id了。


好啦,把所有材料都准备好了之后,可以动手了。打开支付宝的demo,找到APViewController,在最底部把红圈中的代码复制到自己的项目中,


这部分是支付的关键代码。但是xcode报错了,说找不到order这个类,order这个类是demo自定义的类,我们再把它拖到我们的项目中


但是还有错,


原因是找不到datasinger这个协议。这个协议在demo的util文件夹,我们把它引入我们的项目中


所有的错都没了,整个世界清静了。运行项目。duang!!!!



what the hell??? _OBJC_CLASS_$_RSADataSinger 这是什么鬼???

好吧,我就不一一说了,其实,我们需要把util文件夹里的下面这些文件以及整个openssl文件夹都导入到我们的项目中


现在该没问题了吧,运行项目。-----duang!!!  fuck!!!



undefined symbols for architecture x86_64 :

_BIO_ctrl   这又是什么鬼!!!

好吧,其实还是少引入两个文件。在demo文件夹里还有这两个文件,也导入我们的项目中。



运行项目。    这下世界终于清静了!!!  


但是这还只是完成了一半,要想真正的实现支付功能,前面还有很多坑等着我们,留着下次再说了。byebye!

如果你觉得文章不错,可以给我打赏点比特股(bts),以示支持。^_^

BTS6jUaVVkz9gN8t9sWY9NR5UbiubSz7QtVDnEtFGpujYeqQSfQ5E

日记本
Web note ad 1