我是最近才发现,支付宝支付SDK改版了,和去年相比已经有所不同。不过提供了老版本升级办法,还算人性化。
下面提供了我遇到的几个坑,并提供填坑办法。
1,找不到商户私钥,文档上写得不是很明白。
解决办法是:拿到对应算法的密钥生成工具,比如我用的RSA256,则使用secret_key_tools_RSA256_win这个工具。
点击“生成RSA密钥“,则会生成公钥。这时,当前文件夹下同时会生成rsa_private_key.pem文件,里面的内容即为商户私钥。
不过,这里有个坑!一定要注意!!!
正确操作是:
1》去掉第一行-----BEGIN RSA PRIVATE KEY-----
2》去掉最后一行-----END RSA PRIVATE KEY-----
3》去掉所有的换行符
这样就拿到真正的商户私钥了!
2,在linux 上运行报错:PHP Fatal error: Class 'LtObjectUtil' not found in。
这是因为人家用的lotusphp框架,和你正在使用的框架冲突了!比如yaf,swoole。
解决办法是:不用人家的框架,改为直接调用类。
require_once(WEBPATH.'/apps/classes/alipay/aop/request/AlipayTradePagePayRequest.php');
require_once(WEBPATH.'/apps/classes/alipay/aop/AopClient.php');
require_once(WEBPATH.'/apps/classes/alipay/pagepay/service/AlipayTradeService.php');
require_once(WEBPATH.'/apps/classes/alipay/pagepay/buildermodel/AlipayTradePagePayContentBuilder.php');
而且要在alipay/pagepay/service/AlipayTradeService.php里,注释掉第一行
//require_once dirname(dirname(dirname ( __FILE__ ))).'/AopSdk.php';
这样就可以了!