IPN/ubercartとそれらに付随するすべて:私はお金を持っていることを確認したい
-
09-10-2019 - |
質問
タイトルが少しバークの場合は申し訳ありませんが、私はそれをcireるのを約束します:
まず、少し前に、シリアルキーの販売について質問しました。
Ubercart for Drupalで購入した後にカスタムスクリプトを実行するにはどうすればよいですか
私がそこに投稿した情報は、この質問で物事をクリアするのに役立つかもしれませんが、この質問はもう少し一般的であるため、私はそれを大いに疑います。
基本的に、支払いがクリアされ、アカウント内のお金がわかるまでカスタムコードを実行したくありません。トリガーが「顧客が完了する」条件付きアクションが何をしたのか、私は少し確信が持てませんでした。彼らがチェックアウトを完了したと言ったとき、それは必然的に正常に意味し、お金は私の口座にありますか?
そうでない場合は、お金を持っていることがわかるまで、ubercartを待つにはどうすればよいですか 任意のpsp (例:Google Checkout、PayPalなど)カスタムコードを実行しますか?私はそれを解決することができません、それは可能ですか?
解決
信頼できるものとして文書化されたり公開されたりしていませんが、「顧客の完了」トリガーを使用することが進む方法だと思います。
以下はUbercart 6.x-2.4に適用されることに注意してください。 (今日の最新バージョン)
私がコードを見たものから、トリガーは成功した注文でのみ実行されるようです。注文が成功したことは、支払いを受け取ったことを意味するかどうか、それはあなたの現在の構成と、使用しているさまざまな支払いゲートウェイまたは方法に大きく依存しますが、一般的な状況と構成です。
そのトリガーは、1つの関数からのみ起動されます。
function uc_cart_complete_sale($order, $login = FALSE);
その機能が実行されたときにモジュール全体の検索を行うと、さまざまな状況で大まかなアイデアが得られるはずです。基本的に、私はそれがいくつかの支払いモジュール(PayPalと2checkoutなど)から実行されていることを発見しました。 cart/checkout/complete
Drupalページ。これは通常、注文が成功しています。具体的に尋ねたPayPalモジュールは、「完了した」IPNステータスを受信したときにその関数を呼び出しているようです。
いくつかの購入(正しいことと間違った)を試して、注文が適切に請求されたときにのみトリガーが実行されるかどうかを確認するのは難しくありません。