【推荐理由】赠运费险
【优惠券】20 【券后价】59.00
【下单链接】18¥ CZ0001 G5fHdEqOsnB¥
温州网站建设最近在做支付宝集成项目,开始使用thinkphp3.2做的,到集成的时候 发现,验证sign一直报错。开始以为是百度了很多文档,在排除一些常规的错误,如:支付宝公钥写错,跳转地址不能带参数,以及要放在公网上测试等。最后发现 错误实在:有的说是 $result = (bool)openssl_verify($data, base64_decode($sign), $res, OPENSSL_ALGO_SHA256); ,在饶了一个大圈之后,通过比较 demo成功的参数 和 项目实际获得参数 后,在根据 网上说的参数被转义的说,最终确定是 thinkphp3.2在接受支付宝通知的参数时,sign的值 其中的特殊支付被转义了。其他资料说的太简单,现在把我自己的案例分享出来,供大家参考(使用支付宝最新手机网站支付sdk):
public function return_url() { //$_GET['sign']=utf8_decode($_GET['sign']); unset($_GET['_URL_']); $_GET['sign']=urlencode($_GET['sign']); $_GET['sign'] = str_replace("%2B","+",$_GET['sign']); $_GET['sign'] = str_replace("%3D","=",$_GET['sign']); $_GET['sign'] = str_replace("%2F","/",$_GET['sign']); $arr['sign']=$_GET['sign']; $arr=$_GET; $alipay_config=array(); $alipay_config=C("alipay_config"); $aop = new \AopClient(); $aop->gatewayUrl =$alipay_config['gatewayUrl']; $aop->appId = $alipay_config['app_id']; $aop->rsaPrivateKey = $alipay_config['merchant_private_key']; $aop->alipayrsaPublicKey=$alipay_config['alipay_public_key']; $aop->apiVersion = '1.0'; $aop->postCharset= $alipay_config['charset']; $aop->format='json'; $aop->signType=$alipay_config['sign_type']; $result = $aop->rsaCheckV1($arr, $alipay_config['alipay_public_key'], $alipay_config['sign_type']); // 以下部分省略 .......
以上资料由温州天时网站建设独家发布。