public function stocksCard()
{
$gzh_id = config('database.gzh_id');
$xcx_id = config('database.xcx_id');
// 商户相关配置
$merchantId = config('database.mch_id');
$merchantSerialNumber = config('database.mch_ser_num');
$merchantPrivateKey = PemUtil::loadPrivateKey(ADDON_PATH.DS.'wxcard'.DS.'public'.DS.'cert1'.DS.'apiclient_key.pem'); // 商户私钥
// 微信支付平台配置
$wechatpayCertificate = PemUtil::loadCertificate(ADDON_PATH.DS.'wxcard'.DS.'public'.DS.'cert1'.DS.'apiclient_cert.pem'); // 微信支付平台证书
// 构造一个WechatPayMiddleware
$wechatpayMiddleware = WechatPayMiddleware::builder()
->withMerchant($merchantId, $merchantSerialNumber, $merchantPrivateKey) // 传入商户相关配置
->withWechatPay([ $wechatpayCertificate ]) // 可传入多个微信支付平台证书,参数类型为array
->build();
// 将WechatPayMiddleware添加到Guzzle的HandlerStack中
$stack = GuzzleHttp\HandlerStack::create();
$stack->push($wechatpayMiddleware, 'wechatpay');
// 创建Guzzle HTTP Client时,将HandlerStack传入
$client = new GuzzleHttp\Client(['handler' => $stack]);
// 接下来,正常使用Guzzle发起API请求,WechatPayMiddleware会自动地处理签名和验签
try {
$resp = $client->request('GET', "https://api.mch.weixin.qq.com/v3/marketing/favor/stocks", [ // 注意替换为实际URL
'query' => [
'offset' => 0,
'limit' => 10,
'stock_creator_mchid' => $merchantId,
],
'headers' => [
'Accept' => 'application/json',
'Content-Type' => 'application/json',
],
]);
// echo $resp->getStatusCode().' '.$resp->getReasonPhrase()."\n";
// echo $resp->getBody()."\n";
return $resp->getBody();
} catch (RequestException $e) {
// // 进行错误处理
// echo $e->getMessage()."\n";
// if ($e->hasResponse()) {
// echo $e->getResponse()->getStatusCode().' '.$e->getResponse()->getReasonPhrase()."\n";
// echo $e->getResponse()->getBody();
// }
// return;
return $e->getResponse()->getBody();
}
}
查询结果
激活后不要马上查询,1分钟后查询
确认是否正确查询到对应批次