ホームページ >バックエンド開発 >PHPチュートリアル >Alipay モバイル Web サイトでの支払い、支払いが成功した後、isSign=false

Alipay モバイル Web サイトでの支払い、支払いが成功した後、isSign=false

WBOY
WBOYオリジナル
2016-06-23 13:22:151876ブラウズ

Alipay モバイル ウェブサイトの支払い、支払いが成功した後、同期通知ページがジャンプすると、デモ サンプルの call_back_url.php ファイルです。次のステートメントを実行すると
//通知検証結果が計算されます
$alipayNotify = new AlipayNotify($alipay_config);
$verify_result = $alipayNotify->verifyReturn();
その後、AlipayNotify クラスの verifyReturn メソッドで getSignVeryfy が実行されます。署名結果を生成します。中にはメモがあります:
[isSign の結果は true ではありません。これは、セキュリティ チェック コード、リクエスト中のパラメーター形式 (カスタム パラメーターなど)、およびエンコード形式に関連しています] ですが、私は常にサンプルを作成し、キー パラメーターの値のみを変更しているのに、なぜ
が false を返し、検証が失敗するのでしょうか。どうしたの?お金が支払われて引き落とされるのに、検証が常に失敗するのはなぜですか?


ディスカッションに返信 (解決策)

戻り値の URL 取得パラメータには、Alipay コールバック パラメータ以外のコンテンツが含まれていますか?

署名

その関数を取得して送信して確認してください。

支払いが完了すると、支払い完了ページが表示されます。このページには[完了]ボタンがあります。リンクは次のとおりです:
http://www.xxx.com/wappay/call_back_url.php?out_trade_no=903627&request_token=requestToken&result=success&trade_no=2015111800001000850071807569&sign=A4IF5nRVQzcS0%2FGoDIpjYKOZv zW VQG6BwydgrtkVnX25QWz%2BPnlma7O9tb4QhvcNpoBmOnoU%2BAQuLJtlluJb9FH4sONI M5vvBDYAGrC6HsDJdCytFymWxu6x0dDNeg%2BWvEzc%2Bi1%2FVA%2Bl %2BLPnVfTbmn8 %2FP40nByyGevTgwbsXQ %3D&sign_type=0001

クリックすると同期ジャンプしますが、同期ジャンプ後のページ検証に失敗する状況は冒頭で述べた問題と同じです

そしてデモではそうなったことが分かりました。非同期通知処理操作はまったくトリガーされません。同期ジャンプが最初のステップで、検証が通って初めて非同期処理が呼び出されるのかな?

getsign 関数: 私の場合、ログを印刷すると、結果は false になります

つまり、変更されたことになります。そうでない場合は、非同期検証を使用してください。

ログは次のとおりです:

デモサンプルは本当に大丈夫ですか?私は数日間このようにデバッグしていました。ひざまずいて、疑いを晴らしてくださるよう神に祈りましょう

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