Closed unizhu closed 9 years ago
可访问 https://open.unionpay.com/ajweb/account/testPara 下载以下两个文件
下载后放到一个目录下, 使用$gateway->setCertDir($dir) 将证书目录设置为该目录路径
使用测试证书,放在正式环境里?
不好意思,之前没有注意你表述的是正式环境。
我这边下载银联提供的demo只看到过有 UpopRsaCert.cer 这个文件,没有见过你说的EbppRsaCert.cer 和 encryptpub.cer
UpopRsaCert.cer
是银联的正式环境公钥证书
,在支付成功后通知服务器,验签的时候会用到。
建议你先看看银联提供的demo及sdk代码,虽然比较混乱,但是基本的逻辑和文件的用户还是很明了的。
如果你又新的发现或问题,请在此继续跟踪反馈。
是你的示例代码误导了,应该写成: return $gateway->completePurchase(['request_params'=>$request->all()])->send(); 这样就验证成功了。
request_params 这个key是你写死的,不是返回回来的key值。改改 read me 吧, 顺便把$gateway->setEnvironment('production'); 也写进去吧。
谢谢。
然后最好做个config文件,方便维护。 比如把 测试,生产环境 证书目录 证书名称 商户id 写在配置里
谢谢提醒,README已经更正。
Hi,
$gateway->setEnvironment('production'); 使用正式环境,验证付款成功后 回调的签名签名验证出错了: UpopRsaCert.cer 无法打开。 openssl_x509_read(): supplied parameter cannot be coerced into an X509 certificate! 用openssl命令行 也无法读取这个文件。。
然而,银联的help上说用不到UpopRsaCert.cer这个文件,可以删除。
下载的正式环境证书目录里有3个文件: EbppRsaCert.cer , encryptpub.cer, UpopRsaCert.cer
然而,下载的正式环境证书的帮助里写: ebpp.cer 生产验签证书 encryptpub.cer 生产加密证书
已经搞不清这些了。。求帮助。