最近做iOS支付宝,总的流程是 :
(1)组装订单生成orderInfoEncoded
(2)订单加签生成signedString
(3)orderInfoEncoded + signedString = orderString 拿来调接口支付就可以了
悲剧的是,我们的php后台用支付宝官方demo,无论如何生成不了可以用的signedString(FuckingAlipayPHPEngineer)!于是我们决定先把支付宝官方iOSdemo里面的东西搬到项目里来做,看起来很简单,用order对象做订单,用signer对象做加签,然而这里加签就遇到问题了。只是单纯的把demo里util文件夹和openssl文件夹拉过来,并不能用,各种报错,具体不废话了,扎心的都懂T。T,而以下提供的两种解决方案可以干脆直接的解决问题!
方案一:
1、下载支付宝官方demo
2、项目中导入pod 'OpenSSL'
3、从支付宝官方demo中,找到libcrypto.a、libssl.a,覆盖掉Pods/OpenSSL/lib下的两个原文件
4、从支付宝官方demo中,把Util文件夹拉到自己工程里,修改几个import "xxx.h"为import <OpenSSL/xxx.h>
5、之后按支付宝官方demo走就可以了
方案二(简单直接好理解,推荐):
1、下载支付宝官方demo
2、从支付宝官方demo中,把openssl文件夹拉到自己工程里
3、从支付宝官方demo中,找到libcrypto.a、libssl.a,拖到工程里
4、从支付宝官方demo中,把Util文件夹拉到自己工程里
5、在Build Settings-Header Search Paths里,把openssl文件夹的上级目录拖到这里
6、之后按支付宝官方demo走就可以了
网友评论