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

アーカイブの一覧に戻る

ipod_users****@mac***** ipod_users****@mac*****
2005年 3月 2日 (水) 22:17:09 JST


吉井です。田村様、伊豆様、はまだ様、ありがとうございます。

在庫不足で戻された場合の管理者へのメール送信もうまくいきました。
一応書いておきますと...。

// Stock Check
  if ( (STOCK_CHECK == 'true') && (STOCK_ALLOW_CHECKOUT != 'true') ) {
    $products = $cart->get_products();
    for ($i=0, $n=sizeof($products); $i<$n; $i++) {

//ココからメール送信
$email_uncheckout_to_master = "お客様から注文がありましたが、在庫不足のため完了できませんでした。\n\n";//メール内容

if (SEND_EXTRA_ORDER_EMAILS_TO != '') {
 tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, 'オーダーエラーの報告です。', nl2br($email_uncheckout_to_master), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, '');//送信部分
 }
	
// Stock Checkの後半部分
      if (tep_check_stock($products[$i]['id'], $products[$i]['quantity'])) {
        tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));
        break;
      }
    }
  }

のようにいたしました..。

全体の流れは、こうなります。(と思っています。)
-------------------------
同時に、[カートに入れる]==>[手続完了!]の間に複数名のお客様が入ってきます。
↓↓↓↓↓
一人のお客様が[注文する!]のあとルミーズの決済を済まして『手続完了!』まで進みます。==>購入成立
↓↓↓↓↓
それ以外のお客様は、[注文する!]のあとルミーズの決済を済まして、戻って来たところでcheckout_process.phpのStock Checkがエラーになります。
↓↓↓↓↓
ショップ管理者にエラー報告のメールを送信します。
お客様は、un_checkout.phpに飛ばされ、手続きの間に売り切れになったことを告げられます。
(カートに入れた商品が多数の場合ココでもう一度カートに戻れば、在庫の無くなった商品だけをキャンセルしてまた購入に進めます。)
↓↓↓↓↓
ショップ管理者は、エラーメールを確認したあと、ルミーズで決済の取り消し処理をします。
※ルミーズに決済額の1%取られてしまいますが..。w
-------------------------

ひとまず、これで、ウチの問題は解決したかと思います。
伊豆様の懸念された、"買い占めもどき"の被害に遭うことも無いようです。

もしお気づきの問題点があればご教授くださいませ..。

このたびは、ありがとうございました。




Tep-j-general メーリングリストの案内
アーカイブの一覧に戻る