问题描述
- 微信支付遇到CURL问题
-
PHP Fatal error: Uncaught exception 'WxPayException' with message 'curl???é”???é”è??? ?:60' in E:wwwrootpaylibWxPay.Api.php:566
Stack trace:
#0 E:wwwrootpaylibWxPay.Api.php(62): WxPayApi::postXmlCurl('<![...', 'https://api.mch...', false, 6)
#1 E:wwwrootpayexamplejsapi.php(36): WxPayApi::unifiedOrder(Object(WxPayUnifiedOrder))
#2 {main}
thrown in E:wwwrootpaylibWxPay.Api.php on line 566
解决方案
这个发送的消息乱码了,是不是你的数据编码格式有问题
解决方案二:
看下WxPay.Api.php的62行,这里丢出了错误。
解决方案三:
public function GetOpenid()
{
//$code=$_POST['lilongceshineirong'];
//通过code获得openid
if (!isset($_GET['code'])){
//触发微信返回code码
$baseUrl = urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].$_SERVER['QUERY_STRING']);
$url = $this->__CreateOauthUrlForCode($baseUrl);
Header("Location: $url");
exit();
} else {
//获取code码,以获取openid
$code = $_GET['code'];
$openid = $this->getOpenidFromMp($code);
return $openid;
}
}
/**
*
* 获取jsapi支付的参数
* @param array $UnifiedOrderResult 统一支付接口返回的数据
* @throws WxPayException
*
* @return json数据,可直接填入js函数作为参数
*/
public function GetJsApiParameters($UnifiedOrderResult)
{
if(!array_key_exists("appid", $UnifiedOrderResult)
|| !array_key_exists("prepay_id", $UnifiedOrderResult)
|| $UnifiedOrderResult['prepay_id'] == "")
{
throw new WxPayException("参数错误");
}
$jsapi = new WxPayJsApiPay();
$jsapi->SetAppid($UnifiedOrderResult["appid"]);
$timeStamp = time();
$jsapi->SetTimeStamp($timeStamp);
$jsapi->SetNonceStr(WxPayApi::getNonceStr());
$jsapi->SetPackage("prepay_id=" . $UnifiedOrderResult['prepay_id']);
$jsapi->SetSignType("MD5");
$jsapi->SetPaySign($jsapi->MakeSign());
$parameters = json_encode($jsapi->GetValues());
return $parameters;
}
62行 是注射 这个代码 是上 41行 到 下85行 的代码
时间: 2024-11-03 10:09:56