收藏
回答

创建代金券批次API 报错 应答的微信支付签名验证失败,我在postman是可以调用成功的?

/**
     * @param $method 请求方法
     * @param $url 请求地址
     * @param $options 参数
     * @throws \GuzzleHttp\Exception\GuzzleException
     */
    public function signature($method, $url, $options)
    {
// 构造一个WechatPayMiddleware
        $wechatpayMiddleware = WechatPayMiddlewareS::builder()
            ->withMerchant($this->merchantId, $this->merchantSerialNumber, $this->merchantPrivateKey)
            ->withWechatPay([ $this->wechatpayCertificate ]) // 可传入多个微信支付平台证书,参数类型为array
            ->build();

// 将WechatPayMiddleware添加到Guzzle的HandlerStack中
        $stack = \GuzzleHttp\HandlerStack::create();
        $stack->push($wechatpayMiddleware, 'coupon-stocks');

// 创建Guzzle HTTP Client时,将HandlerStack传入
        $client = new \GuzzleHttp\Client(['handler' => $stack]);

        try {
// 接下来,正常使用Guzzle发起API请求,WechatPayMiddleware会自动地处理签名和验签
            $resp = $client->request($method, $url, [
                'json' => json_decode($options, true),
                'headers' => ['Accept' => '*/*', 'Content-Type' => 'application/json']
            ]);

            echo $resp->getStatusCode() . ' ' . $resp->getReasonPhrase() . "\n";
            echo $resp->getBody() . "\n";
        } catch (RequestException $e) {
            // 进行错误处理
            echo $e->getMessage()."\n";
            if ($e->hasResponse()) {
                echo $e->getResponse()->getStatusCode().' '.$e->getResponse()->getReasonPhrase()."\n";
                echo $e->getResponse()->getBody();
            }
            return;
        }
创建代金券批次API 报错 应答的微信支付签名验证失败,我在postman是可以调用成功的,证明参数没有问题,我用的官网提供的 wechatpay/wechatpay-guzzle-middleware


回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容