1. WeChat Pay の加盟店プラットフォームで、[API セキュリティ] で API 証明書をダウンロードし、ダウンロードした証明書を転送します (apiclient
_cert.pem/apiclient_key.pem/roota.pem) をサーバー上で確認し、ストレージ パスを決定して記録します (2 で使用されます)。
2. PHP で次の設定をcurlに追加します。ここで、CURLOPT_SSLCERT/ CURLOPT_SSLKEY/ CURLOPT_CAINFO の設定パスは、それぞれ 1 の 3 つの pem ファイルに対応しています:
(curl 設定は http://www から取得されます) .cnblogs.com/ kangjin0828/p/4517657.html)//因为微信红包在使用过程中需要验证服务器和域名,故需要设置下面两行curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); // 只信任CA颁布的证书 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 检查证书中是否设置域名,并且是否与提供的主机名匹配curl_setopt($ch,CURLOPT_SSLCERT,'/xxx/xxx /apiclient_cert.pem');curl_setopt($ch,CURLOPT_SSLKEY,'/xxx/xxx/apiclient_key.pem'); curl_setopt($ch, CURLOPT_CAINFO, '/xxx/xxx/rootca.pem'); // CA根证书(用来验证的网站证书是否是CA颁布)
?
3. WeChat プラットフォームが提供する署名インターフェイス デバッグ ツールを使用します: https://pay.weixin.qq。 com/wiki/tools/signverify/ 署名をデバッグするには、赤い封筒のインターフェイスに従ってパラメータをカスタマイズできます。署名の手順が正しいかどうかを確認する場合、インターフェイス内の一部のパラメータは中国語になることに注意してください。署名が確実に渡されるように英語または数字に設定します:
?
4. 署名ステップが検証されたら、中国語を設定します。 WeChat の赤いエンベロープ インターフェイスでは、中国語のエンコード方式は utf-8 であると判断された場合、
?
5. デバッグ プロセス中の一般的なエラーは、「CA 証明書エラー
」および「署名エラー」です。解決策は次のとおりです: ?
CA 証明書エラー
指示が設定されていませんcurl の設定時に CA 証明書またはパスに問題があります。
?署名エラー
理由 1: データは、md5 より前のインターフェイス要件に従って編成されていません。例:
キーが、 理由 2: API キーを初めて使用する場合は、キーの値を販売者から取得する必要があります。デフォルトではマーチャント番号であると言われていますが、それでもリセットする必要があります。このため、デバッグにほとんど一日かかりました...(⊙_⊙;)...??デバッグプロセス中に同じ問題に遭遇し、オンラインで検索しましたが、見つかったものの多くは単なるフレーズでしたが、それでもいくつか得られます。上記のまとめが将来の親戚の役に立つことを願っています ( *^_^* )