Пример #1
0
 /**
  * @param FormParam $objFormParam
  */
 public function lfCheckError($post, $objFormParam, PaymentHelper $objPayment)
 {
     // DBのデータを取得
     $arrPaymentData = $objPayment->get($post['payment_id']);
     // 手数料を設定できない場合には、手数料を0にする
     if ($arrPaymentData['charge_flg'] == 2) {
         $objFormParam->setValue('charge', '0');
     }
     // 入力データを渡す。
     $arrRet = $objFormParam->getHashArray();
     /* @var $objErr CheckError */
     $objErr = Application::alias('eccube.check_error', $arrRet);
     $objErr->arrErr = $objFormParam->checkError();
     // 利用条件(下限)チェック
     if ($arrRet['rule_max'] < $arrPaymentData['rule_min'] and $arrPaymentData['rule_min'] != '') {
         $objErr->arrErr['rule'] = '利用条件(下限)は' . $arrPaymentData['rule_min'] . '円以上にしてください。<br>';
     }
     // 利用条件(上限)チェック
     if ($arrRet['upper_rule'] > $arrPaymentData['upper_rule_max'] and $arrPaymentData['upper_rule_max'] != '') {
         $objErr->arrErr['upper_rule'] = '利用条件(上限)は' . $arrPaymentData['upper_rule_max'] . '円以下にしてください。<br>';
     }
     // 利用条件チェック
     $objErr->doFunc(array('利用条件(~円以上)', '利用条件(~円以下)', 'rule_max', 'upper_rule'), array('GREATER_CHECK'));
     return $objErr->arrErr;
 }
Пример #2
0
 /**
  * 配送業者IDから, 支払い方法, お届け時間の配列を取得する.
  *
  * 結果の連想配列の添字の値は以下の通り
  * - 'arrDelivTime' - お届け時間の配列
  * - 'arrPayment' - 支払い方法の配列
  * - 'img_show' - 支払い方法の画像の有無
  *
  * @param  SC_CartSession $objCartSess SC_CartSession インスタンス
  * @param  integer        $deliv_id    配送業者ID
  * @return array          支払い方法, お届け時間を格納した配列
  */
 public function getSelectablePayment(&$objCartSess, $deliv_id, $is_list = false)
 {
     $arrPayment = array();
     if (strval($deliv_id) === strval(intval($deliv_id))) {
         $total = $objCartSess->getAllProductsTotal($objCartSess->getKey());
         $payments_deliv = DeliveryHelper::getPayments($deliv_id);
         $objPayment = new PaymentHelper();
         $payments_total = $objPayment->getByPrice($total);
         foreach ($payments_total as $payment) {
             if (in_array($payment['payment_id'], $payments_deliv)) {
                 if ($is_list) {
                     $arrPayment[$payment['payment_id']] = $payment['payment_method'];
                 } else {
                     $arrPayment[] = $payment;
                 }
             }
         }
     }
     return $arrPayment;
 }