ホームページ  >  記事  >  バックエンド開発  >  [PHP] WeChat Red Packet インターフェイスの実践手順 CA 証明書のエラーと署名の例外

[PHP] WeChat Red Packet インターフェイスの実践手順 CA 証明書のエラーと署名の例外

WBOY
WBOYオリジナル
2016-06-13 12:28:081598ブラウズ

[PHP] WeChat Red Packet インターフェイスの実践説明 CA 証明書エラー署名エラー

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 キーを初めて使用する場合は、キーの値を販売者から取得する必要があります。デフォルトではマーチャント番号であると言われていますが、それでもリセットする必要があります。このため、デバッグにほとんど一日かかりました...(⊙_⊙;)...

?

?

デバッグプロセス中に同じ問題に遭遇し、オンラインで検索しましたが、見つかったものの多くは単なるフレーズでしたが、それでもいくつか得られます。上記のまとめが将来の親戚の役に立つことを願っています ( *^_^* )

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。