WeChat Payment API v3 コールバック通知署名の検証 PHP デモはありますか?
詳細な問題の紹介:
##WeChat コールバック署名によって受信された wechatpay-signature フィールドを返します。その後、中断ポイントは、
が WeChat コールバックによって受信された wechatpay-signature フィールドをbase64_decode でデコードして、文字化けしたコード
を取得したことを発見しました。何が問題ですか? コールバックは署名の検証に失敗します。問題は緊急です。 ! !
確認に使用される証明書はプラットフォーム証明書であり、これも最新のものです。
解決策:
問題は解決しました。 ! !
私の問題は、本文でパラメーターを取得するフレームワークのメソッドを使用したため、本文パラメーターのフィールドの順序が WeChat から送信された内容と一致しなくなったことです。 Java 実装に関する記事。)、パラメーターを取得するにはネイティブ プログラミング言語を使用することを強くお勧めします。私たちの php は file_get_contents("php://input");
注: WeChat 署名のbase64_decode をデコードした後、文字化けしています。これは WeChat ではありません。署名が間違っています。もともとそうなのです。
とにかく、証明書やシリアル番号などの問題を除外するには、パラメーターによって異なります。
コメントは調整されています これは、私が最初にパラメータを取得して署名文字列を構築した方法です。今は、ネイティブ メソッドを使用してそれを検証しています。
皆さんのお役に立てれば幸いです。
以上がWeChat Payment API v3 コールバック通知の文字化け問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。