微信H5支付 提示"網絡環境未能通過安全驗證,請稍後再試"
按照官方https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_4#
接入微信的H5支付,提示“網絡環境未能通過安全驗證,請稍後再試”,經排查發現服務器有前端機子,原先獲取IP的方法有誤,不能正確獲取客戶的IP。更改獲取IP的方法,問題解決。
附獲取IP的PHP函數:
function 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‘];
}
return preg_match ( ‘/[\d\.]{7,15}/‘, $ip, $matches ) ? $matches [0] : ‘‘;
}
註:微信的H5在safari瀏覽器下並不能喚起微信支付頁面,why?
微信H5支付 提示"網絡環境未能通過安全驗證,請稍後再試"