ホームページ >バックエンド開発 >PHPチュートリアル >Alipay モバイル Web サイトでの支払い、支払いが成功した後、isSign=false
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 になります
つまり、変更されたことになります。そうでない場合は、非同期検証を使用してください。
ログは次のとおりです:
デモサンプルは本当に大丈夫ですか?私は数日間このようにデバッグしていました。ひざまずいて、疑いを晴らしてくださるよう神に祈りましょう