ホームページ  >  記事  >  php教程  >  Zhang Jinjie-PHP Alipay インターフェース開発により、Web サイト会員のリチャージ金額が非同期的に更新される

Zhang Jinjie-PHP Alipay インターフェース開発により、Web サイト会員のリチャージ金額が非同期的に更新される

WBOY
WBOYオリジナル
2016-06-16 08:41:171305ブラウズ

Web サイト会員のリチャージ金額を非同期的に更新するための PHP Alipay インターフェイスの開発。 PHP ウェブサイト Alipay インターフェース開発、決済機能開発、プロのエンジニアに連絡 QQ467477957
プロセス手順:
1. メンバーがリチャージ注文を送信した後、データをリチャージ データ テーブルに挿入します
2. 支払いが成功すると、notify_url.php はリチャージ データのステータスを非同期的に「リチャージ成功」に更新し、返されたリチャージ成功の注文番号とユーザー名を使用して Web サイトのメンバーシップ テーブルに対応するメンバーを検索し、データを更新します。会員金額フィールド

注: セッションは PHP Alipay インターフェイスでは使用できません。Web サイトの金額データは、返された注文番号を通じてのみ非同期的に更新できます。非同期更新のメイン ファイルは、notify_url.php です。 Web サイト Alipay インターフェイスの開発における重要なポイントは、販売者の Web サイトの注文番号を返すことによって更新ロジックを実行することです。
詳細については、以下のコードを参照してください:

Notice_url.php<?php<br /> /* *<br /> * 機能: Alipay サーバーの非同期通知ページ <br /> * バージョン:3.3<br /> * 日付: 2012-07-23<br /> * 説明: <br /> * 以下のコードは、マーチャントのテストを容易にするために提供されるサンプル コードです。マーチャントは、自分の Web サイトのニーズに応じて、このコードを作成できます。このコードを使用する必要はありません。 <br /> * このコードは、Alipay インターフェイスの学習と研究のみを目的としており、参考としてのみ提供されています。 <br /> <br /> <br /> ****************************ページ機能の説明******************** **** ***<br /> ※このページファイルを作成する際は、ページファイル内にHTMLコードやスペースが含まれないように注意してください。 <br /> ※このページはローカルコンピュータではテストできませんので、サーバー上でテストしてください。ページが外部からアクセスできることを確認してください。 <br /> * このページのデバッグツールにはテキスト書き込み関数 logResult を使用してください。この関数はデフォルトでオフになっています。alipay_notify_class.php の関数 verifyNotify<br /> を参照してください。 * このページから返された成功情報が受信されなかった場合、Alipay は 24 時間以内に一定の時間戦略に従って通知を再送信します <br /> */<br /> <br /> require_once("alipay.config.php");<br /> require_once("lib/alipay_notify.class.php");<br /> <br /> //通知検証結果を計算<br /> $alipayNotify = 新しい AlipayNotify($alipay_config);<br /> $verify_result = $alipayNotify->verifyNotify();<br /> <br /> if($verify_result) {//検証成功<br /> //////////////////////////////////////////////// //// //////////////////////////////////////////// //////// /////////////////////////////////<br /> // ここに販売者のビジネス ロジック プログラム コードを追加してください <br /> <br /> <br /> //——ビジネスロジックに従ってプログラムを書いてください(以下のコードは参考用です)——<br /> <br /> //Alipay の通知リターン パラメータを取得するには、技術ドキュメントのサーバー非同期通知パラメータ リストを参照してください<br /> <br /> //販売者の注文番号<br /> <br /> $out_trade_no = $_POST['out_trade_no'];<br /> <br /> //Alipay取引番号<br /> <br /> $trade_no = $_POST['trade_no'];<br /> <br /> //トランザクションステータス<br /> $trade_status = $_POST['trade_status'];<br /> <br /> <br /> If($_POST['trade_status'] == 'TRADE_FINISHED') {<br /> //注文が販売者の Web サイトで処理されたかどうかを判断します<br /> // 処理が行われていない場合は、注文番号 (out_trade_no) に基づいて販売者の Web サイトの注文システムで注文の詳細を確認し、販売者の業務手順を実行します <br /> // 処理済みの場合、販売者の業務手続きは実行されません <br />                                                                         //注: <br /> //返金日が返金可能期間を超えると(たとえば、3か月以内に返金可能)、Alipayシステムは取引ステータスの通知を送信します<br /> <br /> //デバッグ用に、プログラムが正常に実行されているかどうかを記録するテキスト関数を作成します<br /> //logResult("デバッグしたいコード変数の値、またはその他の実行結果レコードをここに書き込みます");<br /> <br /> }<br /> else if ($_POST['trade_status'] == 'TRADE_SUCCESS') {<br /> //注文が販売者の Web サイトで処理されたかどうかを判断します<br /> // 処理が行われていない場合は、注文番号 (out_trade_no) に基づいて販売者の Web サイトの注文システムで注文の詳細を確認し、販売者の業務手順を実行します <br />// 処理済みの場合、販売者の業務手続きは実行されません <br />                                                                         //注: <br /> //支払いが完了すると、Alipay システムは取引ステータスの通知を送信します<br /> <br /> //デバッグ用に、プログラムが正常に実行されているかどうかを記録するテキスト関数を作成します<br /> //logResult("デバッグしたいコード変数の値、またはその他の実行結果レコードをここに書き込みます");<br /> //////////////////////////////////////////////// /// ////////////////////////////////////////////// ////// /////////////////////////////////////////// <br /> include"../connect.php";<br /> <br /> $sql=mysql_query("select * from think_zhifu where WIDout_trade_no='$out_trade_no'");<br />                                                  $info=@mysql_fetch_array($sql);<br />                                                  $a=$info['WIDtotal_fee'];<br /> //エコー 111;<br /> //echo $a;<br />                                                  $sql2=mysql_query("select * from think_member where username='$info[username]'");<br /> $info2=@mysql_fetch_array($sql2);<br />                                                  $b=$info2['money'];<br />                                                  $c=$a+$b;<br /> //echo $c;<br />                                                  //echo $info[WIDout_trade_no];<br /> //$no=$info[WIDout_trade_no];<br /> //$out_trade_no='20160510155013';<br />                                                  echo $out_trade_no;<br />                                                  If($info[WIDout_trade_no]='$out_trade_no'&&$info[ステータス]=='未払い'&&$trade_no!=''){<br /> echo 'テストアクセス';<br /> mysql_query("update think_member setmoney='$c' where username='$info[username]'");<br />                                                  //echo $info[WIDout_trade_no];<br /> //echo $info[WIDout_trade_no];<br />                                                 mysql_query("update think_zhifu set status='支払い成功',trade_no='$trade_no' where username='$info[username]' and WIDout_trade_no='$out_trade_no'"); }<br />                                                  //////////////////////////////////////////////// /// ////////////////////////////////////////////// ////// /////////////////////////////////////////// ////<br />                                                  <br /> }<br /> <br /> <br /> <br /> //——ビジネスロジックに従ってプログラムを書いてください(上記のコードは参考用です)——<br />                                                  echo "success"; // <br /> を変更または削除しないでください。 <br /> //////////////////////////////////////////////// /// ////////////////////////////////////////////// ////// //////////////////////////////////<br /> }<br /> <br /> 他 {<br /> //検証に失敗しました<br /> エコー "失敗";<br /> <br />//デバッグ用に、プログラムが正常に実行されているかどうかを記録するテキスト関数を作成します<br /> //logResult("デバッグしたいコード変数値、またはその他の実行結果レコードをここに書き込みます");<br /> }<br /> <br /> ?>

広告: 本当に無料、ドメイン名 + 仮想マシン + 企業メール = 0 元

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