手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

网络环境未能通过安全验证怎么办

时间:2024-10-16 03:30:06

1、产生这个问题的原因是:调用微信接口传入的参数spbill_create_ip与实际支付时获取的不一致

2、首先,注释掉这一行[Wxpay/lib/WxPay.Api.php]//$inputObj->SetSpbill_create_ip($_SERVER['REMOTE_ADDR']);//终端ip

3、然后在业务代码中,新增函数get_client_ip();/*** 获取客户端诔罨租磊IP地址* @return string*/function get_艘早祓胂client_ip() { if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { $ip = getenv('HTTP_CLIENT_IP'); } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) { $ip = getenv('HTTP_X_FORWARDED_FOR'); } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) { $ip = getenv('REMOTE_ADDR'); } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) { $ip = $_SERVER['REMOTE_ADDR']; } else { $ip = '0.0.0.0'; } return preg_match('/[\d\.]{7,15}/', $ip, $matches) ? $matches[0] : '';

4、最后获取终端IP,再调用微信SDK的统一下单//...$spbill_create_ip = get_client_ip();$input = new WxPayUnifiedOrder();//...$input->SetSpbill_create_ip($spbill_create_ip);// 调用统一下单接口$result = WxPayApi::unifiedOrder($input);

© 手抄报圈