本文整理汇总了PHP中SC_Helper_Purchase_Ex::sendOrderMail方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Helper_Purchase_Ex::sendOrderMail方法的具体用法?PHP SC_Helper_Purchase_Ex::sendOrderMail怎么用?PHP SC_Helper_Purchase_Ex::sendOrderMail使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SC_Helper_Purchase_Ex
的用法示例。
在下文中一共展示了SC_Helper_Purchase_Ex::sendOrderMail方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: action
/**
* Page のアクション.
*
* @return void
*/
public function action()
{
//決済処理中ステータスのロールバック
$objPurchase = new SC_Helper_Purchase_Ex();
$objPurchase->cancelPendingOrder(PENDING_ORDER_CANCEL_FLAG);
$objCartSess = new SC_CartSession_Ex();
$objSiteSess = new SC_SiteSession_Ex();
$objCustomer = new SC_Customer_Ex();
$this->is_multiple = $objPurchase->isMultiple();
// 前のページで正しく登録手続きが行われた記録があるか判定
if (!$objSiteSess->isPrePage()) {
// エラー時は、正当なページ遷移とは認めない
$objSiteSess->setNowPage('');
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, $objSiteSess);
}
// ユーザユニークIDの取得と購入状態の正当性をチェック
$this->tpl_uniqid = $objSiteSess->getUniqId();
$objPurchase->verifyChangeCart($this->tpl_uniqid, $objCartSess);
$this->cartKey = $objCartSess->getKey();
// カート内商品のチェック
$this->tpl_message = $objCartSess->checkProducts($this->cartKey);
if (!SC_Utils_Ex::isBlank($this->tpl_message)) {
SC_Response_Ex::sendRedirect(CART_URL);
SC_Response_Ex::actionExit();
}
// カートの商品を取得
$this->arrShipping = $objPurchase->getShippingTemp($this->is_multiple);
$this->arrCartItems = $objCartSess->getCartList($this->cartKey);
// 合計金額
$this->tpl_total_inctax[$this->cartKey] = $objCartSess->getAllProductsTotal($this->cartKey);
// 税額
$this->tpl_total_tax[$this->cartKey] = $objCartSess->getAllProductsTax($this->cartKey);
// ポイント合計
$this->tpl_total_point[$this->cartKey] = $objCartSess->getAllProductsPoint($this->cartKey);
// 一時受注テーブルの読込
$arrOrderTemp = $objPurchase->getOrderTemp($this->tpl_uniqid);
// カート集計を元に最終計算
$arrCalcResults = $objCartSess->calculate($this->cartKey, $objCustomer, $arrOrderTemp['use_point'], $objPurchase->getShippingPref($this->is_multiple), $arrOrderTemp['charge'], $arrOrderTemp['discount'], $arrOrderTemp['deliv_id'], $arrOrderTemp['order_pref'], $arrOrderTemp['order_country_id']);
$this->arrForm = array_merge($arrOrderTemp, $arrCalcResults);
// 会員ログインチェック
if ($objCustomer->isLoginSuccess(true)) {
$this->tpl_login = '1';
$this->tpl_user_point = $objCustomer->getValue('point');
}
// 決済モジュールを使用するかどうか
$this->use_module = SC_Helper_Payment_Ex::useModule($this->arrForm['payment_id']);
switch ($this->getMode()) {
// 前のページに戻る
case 'return':
// 正常な推移であることを記録しておく
$objSiteSess->setRegistFlag();
SC_Response_Ex::sendRedirect(SHOPPING_PAYMENT_URLPATH);
SC_Response_Ex::actionExit();
break;
case 'confirm':
/*
* 決済モジュールで必要なため, 受注番号を取得
*/
$this->arrForm['order_id'] = $objPurchase->getNextOrderID();
$_SESSION['order_id'] = $this->arrForm['order_id'];
// 集計結果を受注一時テーブルに反映
$objPurchase->saveOrderTemp($this->tpl_uniqid, $this->arrForm, $objCustomer);
// 正常に登録されたことを記録しておく
$objSiteSess->setRegistFlag();
// 決済モジュールを使用する場合
if ($this->use_module) {
$objPurchase->completeOrder(ORDER_PENDING);
SC_Response_Ex::sendRedirect(SHOPPING_MODULE_URLPATH);
// 購入完了ページ
} else {
$objPurchase->completeOrder(ORDER_NEW);
SC_Helper_Purchase_Ex::sendOrderMail($this->arrForm['order_id'], $this);
SC_Response_Ex::sendRedirect(SHOPPING_COMPLETE_URLPATH);
}
SC_Response_Ex::actionExit();
break;
default:
break;
}
}
示例2: capture
/**
* 指定の注文について WebPay API で実売上化する
* エラーメッセージを返す。
*
* @param \WebPay\WebPay $objWebPay WebPay client
* @return string|null 決済時に発生したエラーを管理者に説明するメッセージ
* @throws \WebPay\ApiException 管理者に原因がないエラー(設定ミスによるもの、通信障害によるもの)
*/
public function capture($objWebPay)
{
$current_total = intval($this->arrOrder['payment_total'], 10);
if ($this->getAmount() < $current_total) {
return sprintf('仮売上金額(%s円)以上で実売上化することはできません。合計金額を仮売上金額以下にするか、金額を増額する場合は購入者に連絡し、再度購入処理を行ってください。', number_format($this->getAmount()));
}
try {
$objCharge = $objWebPay->chargeCapture(array('id' => $this->getChargeId(), 'amount' => $current_total));
} catch (\WebPay\ApiException $e) {
$objData = $e->getData();
if ($objData && $objData->error) {
$message = $objData->error->message;
switch ($objData->error->causedBy) {
case 'buyer':
return '購入者に起因する問題で決済できませんでした。購入者に連絡して状況をお訪ねください。' . $message;
case 'insufficient':
return '不正なリクエストがおこなわれました。WebPayのダッシュボードを確認してください。' . $message;
case 'missing':
return '操作対象の課金が見つかりませんでした。WebPayのダッシュボードを確認してください。';
case 'service':
default:
return '未知のエラーが発生しました。時間をおいてやりなおしてください。' . $message;
}
}
throw $e;
}
$objPurchase = new SC_Helper_Purchase_Ex();
$updateData = array(MDL_WEBPAY_CHARGE_DATA_COL => $this->lfConvertToDbChargeData($objCharge));
$objQuery = SC_Query_Ex::getSingletonInstance();
$objQuery->begin();
$objPurchase->sfUpdateOrderStatus($this->arrOrder['order_id'], ORDER_PRE_END, null, null, $updateData);
$objQuery->commit();
$objPurchase->sendOrderMail($this->arrOrder['order_id']);
return null;
}