Index: branches/version-2_12-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php
===================================================================
--- branches/version-2_12-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php	(revision 22567)
+++ branches/version-2_12-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php	(revision 22568)
@@ -416,5 +416,14 @@
         $arrResults['arrDelivTime'] = SC_Helper_Delivery_Ex::getDelivTime($deliv_id);
         $total = $objCartSess->getAllProductsTotal($objCartSess->getKey());
-        $arrResults['arrPayment'] = $objPurchase->getPaymentsByPrice($total, $deliv_id);
+        $payments_deliv = SC_Helper_Delivery_Ex::getPayments($deliv_id);
+        $objPayment = new SC_Helper_Payment_Ex();
+        $payments_total = $objPayment->getByPrice($total);
+        $arrPayment = array();
+        foreach ($payments_total as $payment) {
+            if (in_array($payment['payment_id'], $payments_deliv)) {
+                $arrPayment[] = $payment;
+            }
+        }
+        $arrResults['arrPayment'] = $arrPayment;
         $arrResults['img_show'] = $this->hasPaymentImage($arrResults['arrPayment']);
         return $arrResults;
Index: branches/version-2_12-dev/data/class/helper/SC_Helper_Purchase.php
===================================================================
--- branches/version-2_12-dev/data/class/helper/SC_Helper_Purchase.php	(revision 22567)
+++ branches/version-2_12-dev/data/class/helper/SC_Helper_Purchase.php	(revision 22568)
@@ -540,53 +540,4 @@
         }
         return SC_Utils_Ex::sfArrayIntersectKeys($arrSrc, $arrKey);
-    }
-
-    /**
-     * 購入金額に応じた支払方法を取得する.
-     *
-     * @param integer $total 購入金額
-     * @param integer $deliv_id 配送業者ID
-     * @return array 購入金額に応じた支払方法の配列
-     */
-    function getPaymentsByPrice($total, $deliv_id)
-    {
-
-        $arrPaymentIds = SC_Helper_Delivery_Ex::getPayments($deliv_id);
-        if (SC_Utils_Ex::isBlank($arrPaymentIds)) {
-            return array();
-        }
-
-        $objQuery =& SC_Query_Ex::getSingletonInstance();
-
-        // 削除されていない支払方法を取得
-        $where = 'del_flg = 0 AND payment_id IN (' . SC_Utils_Ex::repeatStrWithSeparator('?', count($arrPaymentIds)) . ')';
-        $objQuery->setOrder('rank DESC');
-        $payments = $objQuery->select('payment_id, payment_method, rule_max, upper_rule, note, payment_image, charge', 'dtb_payment', $where, $arrPaymentIds);
-        $arrPayment = array();
-        foreach ($payments as $data) {
-            // 下限と上限が設定されている
-            if (strlen($data['rule_max']) != 0 && strlen($data['upper_rule']) != 0) {
-                if ($data['rule_max'] <= $total && $data['upper_rule'] >= $total) {
-                    $arrPayment[] = $data;
-                }
-            }
-            // 下限のみ設定されている
-            elseif (strlen($data['rule_max']) != 0) {
-                if ($data['rule_max'] <= $total) {
-                    $arrPayment[] = $data;
-                }
-            }
-            // 上限のみ設定されている
-            elseif (strlen($data['upper_rule']) != 0) {
-                if ($data['upper_rule'] >= $total) {
-                    $arrPayment[] = $data;
-                }
-            }
-            // いずれも設定なし
-            else {
-                $arrPayment[] = $data;
-            }
-        }
-        return $arrPayment;
     }
 
Index: branches/version-2_12-dev/data/class/helper/SC_Helper_Payment.php
===================================================================
--- branches/version-2_12-dev/data/class/helper/SC_Helper_Payment.php	(revision 22567)
+++ branches/version-2_12-dev/data/class/helper/SC_Helper_Payment.php	(revision 22568)
@@ -58,5 +58,5 @@
     {
         $objQuery =& SC_Query_Ex::getSingletonInstance();
-        $col = 'payment_id, payment_method, charge, rule_max, upper_rule, note, fix, charge_flg';
+        $col = 'payment_id, payment_method, payment_image, charge, rule_max, upper_rule, note, fix, charge_flg';
         $where = '';
         if (!$has_deleted) {
@@ -67,4 +67,42 @@
         $arrRet = $objQuery->select($col, $table, $where);
         return $arrRet;
+    }
+
+    /**
+     * 購入金額に応じた支払方法を取得する.
+     *
+     * @param integer $total 購入金額
+     * @return array 購入金額に応じた支払方法の配列
+     */
+    function getByPrice($total)
+    {
+        // 削除されていない支払方法を取得
+        $payments = $this->getList();
+        $arrPayment = array();
+        foreach ($payments as $data) {
+            // 下限と上限が設定されている
+            if (strlen($data['rule_max']) != 0 && strlen($data['upper_rule']) != 0) {
+                if ($data['rule_max'] <= $total && $data['upper_rule'] >= $total) {
+                    $arrPayment[] = $data;
+                }
+            }
+            // 下限のみ設定されている
+            elseif (strlen($data['rule_max']) != 0) {
+                if ($data['rule_max'] <= $total) {
+                    $arrPayment[] = $data;
+                }
+            }
+            // 上限のみ設定されている
+            elseif (strlen($data['upper_rule']) != 0) {
+                if ($data['upper_rule'] >= $total) {
+                    $arrPayment[] = $data;
+                }
+            }
+            // いずれも設定なし
+            else {
+                $arrPayment[] = $data;
+            }
+        }
+        return $arrPayment;
     }
 
