0

タイトルが少しあいまいな場合は申し訳ありませんが、以下で解決することを約束します。

まず、少し前にシリアルキーの販売について質問しました。

Drupal 用の Ubercart を購入した後、カスタム スクリプトを実行するにはどうすればよいですか

そこに投稿した情報は、この質問で物事を明確にするのに役立つかもしれませんが、この質問はもう少し一般的であるため、私はそれを疑っています.

基本的に、支払いが決済され、アカウントにお金が入っていることを確認するまで、カスタム コードを実行したくありません。「顧客がチェックアウトを完了した」というトリガーとなる条件付きアクションが何をしたのか、少しわかりませんでした。彼らがチェックアウトを完了したと表示された場合、それは必ずしも正常に完了したことを意味し、お金は私のアカウントにあるのでしょうか?

そうでない場合、カスタム コードを実行するためにPSP (Google Checkout、PayPal など) からお金を受け取ったことを Ubercart が認識するまで、Ubercart を待機させるにはどうすればよいですか? 私はそれを解決することはできません、それは可能ですか?

4

1 に答える 1

0

信頼できるものとして文書化または公開されていませんが、「顧客がチェックアウトを完了」トリガーを使用することが道だと思います.

以下は Ubercart 6.x-2.4 に適用されることに注意してください。(本日現在の最新版)

コードを見たところ、トリガーは注文が成功した場合にのみ実行されるようです。注文の成功が支払いを受け取ったことを意味するかどうかは、現在の構成と、使用しているさまざまな支払いゲートウェイまたは方法に大きく依存しますが、一般的な状況と構成.

そのトリガーは、1 つの関数からのみ起動されます。

function uc_cart_complete_sale($order, $login = FALSE);

その関数がいつ実行されるかについてモジュール全体の検索を行うと、さまざまな状況について大まかなアイデアが得られるはずです。基本的に、いくつかの支払いモジュール (paypal や 2checkout など) から実行されていること、cart/checkout/completeおよび一般的に注文が成功している drupal ページに到達したときに実行されていることがわかりました。あなたが具体的に尋ねたペイパルモジュールは、「完了」IPNステータスが受信されたときにその機能を呼び出しているようです.

いくつかの購入を (正しいか間違っているかを問わず) 試してみて、注文が適切に請求された場合にのみトリガーが実行されるかどうかを確認することは難しくありません。

于 2010-12-14T21:22:10.687 に答える