[Tep-j-general] Re: 在庫が少ない場合の決済について

Back to archive index

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;
      }
    }
  }
 

で、うまく動作するでしょうか?

よろしくご教授くださいませ。。。



Tep-j-general メーリングリストの案内
Back to archive index