猫图镇楼
昨天在集成支付宝的时候,还是遇到了不少问题,写个文章记录一下。
要想集成支付宝,当然首先是注册为支付宝的商户并签约,教程看这里
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了,地址如下:
再然后就是按照下面的文档把相关的资源导入项目中。
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
网友评论