ipod_users****@mac*****
ipod_users****@mac*****
2005年 3月 2日 (水) 16:38:00 JST
田村様、どうもお世話になります。吉井です。 気が早いのでもう取りかかっておりますが...。 >ただ、見直してみると、外部サイトに移動してオーソリを行なうタイプの >クレジットカード決済などの支払いモジュールでは、 >checkout_process.php に在庫確認を組み込むことはできませんね。 >(checkout_process.php の前に外部サイトで決済が完了するため、 >その後 checkout_process.php で在庫確認をする意味がないため) この点こちらでも気がつきました。 なので、リダイレクトするページを変更いたしました。 tep_redirect(tep_href_link(FILENAME_ UN_CHECKOUT)); そして、un_ckeckout.phpというのを新しくつくりまして、この中にこういう文章を入れました。 『お客様の手続き中にご希望の商品が在庫切れとなりました。 申し訳ございませんが、次回の入荷まで今しばらくお待ちください。 次回入荷時にはお客様に優先的にお知らせのメールをお送りします。 ※なお、クレジットカードで決済された方も、お引き落としはございませんので、ご安心ください。 またのお越しをお待ちいたします...。』 そして、application_top.phpの中に define('FILENAME_UN_CHECKOUT', 'un_checkout.php'); を追記..。 これでかなり親切なメッセージへと誘導されるようになりました。。 決済は、ショップ側でキャンセルできたと思います。 田村様、ありがとうございます。 調子に乗ってもうひとつてを加えたいのですが...。 "checkout_process.php"の中に付け加えた"Stock Check"のロジック内に、"管理者へのエラー報告メール"を送信するロジックを組み込みたいのですが、 // Stock Check if ( (STOCK_CHECK == 'true') && (STOCK_ALLOW_CHECKOUT != 'true') ) { $products = $cart->get_products(); for ($i=0, $n=sizeof($products); $i<$n; $i++) { if (tep_check_stock($products[$i]['id'], $products[$i]['quantity'])) { ※このあたりに挿入 tep_redirect(tep_href_link(FILENAME_SHOPPING_CART)); break; } } } で、うまく動作するでしょうか? よろしくご教授くださいませ。。。