遂にEC-CUBEが共有SSLに対応!


EC-CUBEの開発リクエストでも1位だった共有SSL機能が遂にリリースされました!

▽ニュースリリース
http://www.ec-cube.net/press/detail.php?press_id=47

安心感のある通販サイトを構築したい、でも専用SSLはコストもかかるからそれだったらASPの方が…なんて人も多かったと思いますが、これが真に低コスト構築が実現できるようになりそうです。

まだベータ版でバグなどもあるかもしれませんが、私も早速使ってみて使い心地を試してみたいと思います。そのあたりのレポートも別途。




タグ:ssl


posted by eccube at 18:35 | Comment(30) | TrackBack(5) | ニュース

PayPal決済導入方法


ネットショップでは決済方法はできるだけ多く揃えておいた方が何かと便利ですが、決済種類によっては手数料がネックになることもあります。

特にネットで購入する場合はクレジットカード決済を使う人の割合はかなり多いということは皆さんもご存知かと思います。

でも、カード決済の手数料って意外とバカにならないんですよね。
5%前後が標準的なラインというところですが、商材によっては審査に通らなかったり、通っても10%近くの手数料を取られることもあったり。

ということで、私が導入してみたのが、PayPal決済。

PayPal決済はアメリカではシェアの高い決済方法で、メールアドレスを利用してクレジット決済が利用できるシステム。

取扱金額によって手数料が変わるんですが、なんと!2.4%から3.4%という手数料で利用できちゃうんです。

登録も誰でもできる気軽さに加え、登録料も不要ですので、これはかなりありがたいサービスです。

ということで、EC-CUBEにPayPal決済を導入する手順を。

こちらの記事を参考にさせていただきました。ありがとうございます。

ただ、バージョン2.0ではファイル構造が変わっていること、私の場合はそのままの手順でうまくいかなかった箇所があったので、コードは多少手直ししています。
(プログラミングの知識は全くの素人なので、イマイチなところもあるかと思いますがご勘弁を)


■PayPalアカウント登録&設定

アカウントの種類がいくつかあるんですが、「ビジネスアカウント」を登録すると支払いを受領する(=販売する)ことができます。

PayPalビジネスアカウント登録はこちらから

ここでビジネスアカウントを選択し、必要事項を入力して登録します。

登録したアカウントでログイン後、[マイアカウント]⇒[個人設定]⇒[販売の設定-ウェブサイト決済の設定]へ移動し、

・ウェブサイト決済の自動復帰-「自動復帰」をオン

・復帰URL:注文完了画面を設定。ほとんどは「ショップURL/shopping/complete.php」だと思います。

・支払データ転送:オン
・暗号化されていないウェブサイト決済の受領拒否:オフ
・PayPalアカウントオプションサービス:オフ
・連絡先電話番号:任意

と設定します。

次に[マイアカウント]⇒[個人設定]⇒[販売の設定-言語のエンコード]へ移動し、言語を日本語を選択し、詳細オプションからエンコード方式を「UTF-8」を選択します。

そして最後に[マイアカウント]⇒[個人設定]⇒[販売の設定-支払い受領設定]へ移動し、「クレジットカード利用明細上の名前」をショップ名などにします。

以上でPayPal側の設定は完了(の、はず…)。


■EC-CUBE側の設定

注文時にユーザが入力した情報を極力PayPal側に引き継ぐように設定します。

まず、決済方法にPayPal決済を追加しておきます。([基本情報管理]⇒[支払方法設定])

次に、/data/class/pages/shopping/LC_Page_Shopping_Confirm.php を開き、

148行目:// 決済方法により画面切替
155行目:}

までの箇所を、以下のように変更します。


// 決済方法により画面切替
if($payment_type != "") {
$_SESSION["payment_id"] = $arrData['payment_id'];
header("Location: " . URL_SHOP_MODULE);
}else{
if($arrData['payment_id'] == payment_id) {
$paypalURL = "https://www.paypal.com/j1/cgi-bin/webscr?cmd=_xclick&" ;
$paypalURL .= "businesspaypalアカウントのメールアドレス&" ;
$paypalURL .= "lc=JP&item_name商品名&" ;
$paypalURL .= "invoice=" . $order_id . "&" ;
$paypalURL .= "currency_code=JPY&no_shipping=1&no_note=1&" ;
$paypalURL .= "shipping=" . $arrData['deliv_fee'] . "&" ;
$paypalURL .= "amount=" . ($arrData['payment_total']-$arrData['deliv_fee']) . "&" ;
$paypalURL .= "email=" . $arrData["order_email"] . "&" ;
$paypalURL .= "first_name=" . urlencode(mb_convert_encoding($arrData["deliv_name02"], "UTF-8",CHAR_CODE)) . "&" ;
$paypalURL .= "last_name=" . urlencode(mb_convert_encoding($arrData["deliv_name01"], "UTF-8", CHAR_CODE)) . "&" ;

// 郵便番号から市町村を得る
$city = $objQuery->get("mtb_zip", "city", "zipcode=" . $arrData["deliv_zip01"] . $arrData["deliv_zip02"]) ;

$paypalURL .= "address1=" . urlencode(mb_convert_encoding(str_replace($city, "", $arrData["deliv_addr01"]), "UTF-8", CHAR_CODE)) . "&" ;
$paypalURL .= "address2=" . urlencode(mb_convert_encoding($arrData["deliv_addr02"], "UTF-8", CHAR_CODE)) . "&" ;
$paypalURL .= "city=" . urlencode(mb_convert_encoding($city, "UTF-8", CHAR_CODE)) . "&" ;
$paypalURL .= "zip=" . $arrData["deliv_zip01"] . "-" . $arrData["deliv_zip02"] . "&" ;
$paypalURL .= "night_phone_b=(" . $arrData["order_tel01"] . ")" . $arrData["order_tel02"] . "-" . $arrData["order_tel03"] ;

header("Location: " . $paypalURL);
} else {
header("Location: " . URL_SHOP_COMPLETE);
}
}


赤文字で書いた箇所がご自分の情報を入れる箇所になるので、ここを補足説明します。

○payment_id
PayPal支払の場合だけPayPalに飛ぶという設定をするために必要なIDです。
確認方法は、ご自分でテスト注文をして、注文ステップ途中の「お支払方法の指定」の画面でソースを見るとそれぞれの決済方法に「value="xx"」とIDが振られていますので、そのxxの部分を記載してください。

○paypalアカウントのメールアドレス
PayPalに登録したアカウントのメールアドレスを記載します。

○商品名
ここが私が試したところうまくPayPal側に情報を引き継げず、私は暫定措置で固定の商品名を入れました。ご自分のショップで当たり障りのない商品名を入れてみて下さい。(雑貨ショップであれば「雑貨」など…)


以上を修正してアップロードすると、PayPal決済可能になっているはずですので、テスト注文で試してみて下さい。

ユーザ側から見た画面遷移としては、[注文]⇒[決済方法選択]⇒[PayPal決済画面へ移動し、決済]⇒[ショップ側の注文完了画面]となります。


最後にこの修正方法の注意事項をいくつか。

(1)参考にした記事でも触れられていましたが、どうしてもユーザの住所のうち都道府県名を引き継ぐことができず、ここはユーザ側に入力してもらう必要があります。(その他の住所情報はPayPal側に引き継がれます)

(2)上記はバージョン2.0での修正方法です。それ以前のバージョンでは、/shopping/confirm.php を同様に修正すればOKです。

(3)ユーザがPayPalで決済完了後、PayPalからユーザとショップ宛に決済完了通知のメールが届きます。

(4)ユーザがPayPalで決済完了後、PayPal側の決済完了画面へ移動しますが、10秒間そのページが開いたままになり、その後ショップ側の購入完了ページへ移動し、その時点でショップ側に注文情報が送られます。

このため、ユーザが10秒間の間に別ページに移動しないよう注意書きを入れておく必要があります。

もしくはPayPal決済完了画面に「こちらをクリック」というリンクがあり、そこをクリックすればショップページに戻りますので、その旨をユーザに事前に知らせておいて下さい。

ちょっとここがわかりづらいため、ショップページにはPayPal決済用の説明ページを設けておくことを推奨します。(私はこんな感じで作りました)



長々と分かりづらい説明になりましたが、ご参考にしていただければ幸いです。

また、この修正方法で完全に対応しきれなかった点や不備などがありましたらお知らせいただけるととても助かります。




posted by eccube at 17:36 | Comment(14) | TrackBack(0) | 決済

モバイルでのポイント利用注文 設定方法


EC-CUBEではデフォルトでモバイルサイトも構築されますが、ポイント利用注文がテンプレートに反映されていません。

モバイルではポイント利用注文は仕様上実現できないのかな?と思っていたんですが、よくテンプレートを見るとポイント利用ロジックは残っており、これを表示させるようにテンプレートを変更すればモバイルでもポイント利用注文が可能になります。

【モバイルでのポイント利用注文反映方法】
※バージョン2.0、デフォルトテンプレートの変更方法です。

まず、

/data/Smarty/templates/default/mobile/shopping/deliv_date.tpl

の33〜35行目を以下の内容に変更します。


<!--{if $tpl_login == 1}-->
■ポイント利用<br />
現在の所持ポイントは「<!--{$tpl_user_point|default:0}--> pt」です。<br />
所持ポイント以上のポイントはご利用いただけません。<br />
<input type="hidden" name="point_check" value="1" />
<input type="text" name="use_point" istyle="4" />
<!--{/if}-->



次に、

/data/Smarty/templates/default/mobile/shopping/confirm.tpl

の72行目に以下の文を挿入します。


<!--{assign var=discount value=`$arrData.use_point*$smarty.const.POINT_VALUE`}-->-<!--{$discount|number_format|default:0}-->円


これでモバイルからの注文でもポイント利用が可能です。

若年層を中心にモバイルショッピングは年々市場規模を拡げていますので、是非ポイント利用も導入してユーザを取り込んでいきましょう。

※バージョン2.0で説明しましたが、1.3でも変更できることを確認しております。




posted by eccube at 14:49 | Comment(0) | TrackBack(0) | ポイント

EC-CUBE公式ガイドブック発売


先日初のEC-CUBE公式ガイドブック「EC-CUBE公式ガイドブック「EC-CUBE公式ガイドブック―オープンソースECサイト構築ソフト Ver2対応」が発売になりました。

[EC-CUBE公式ガイドブック―オープンソースECサイト構築ソフト Ver2対応]
EC-CUBE公式ガイドブック

早速私も購入して拝見しましたが、さすが公式ガイドブックだけあり、内容はかなりしっかりしています。

セットアップの方法から導入、運営まで基本的な内容は網羅されており、CSSの対応表などまで掲載されているのは◎。

付録でCD-ROMもついていて、これには書籍用に作成したテンプレートセットや書籍の中で触れられているカスタマイズ用プログラムのサンプルコードが収録されていて、これはなかなか嬉しいです。

これを読めばプログラムなどの知識がなくてもEC-CUBEを導入することはできますので、なかなかお買い得の一冊ではないでしょうか。

Amazonで購入する



posted by eccube at 15:02 | Comment(0) | TrackBack(0) | 情報収集

商品詳細ページのtitleタグ変更方法


EC-CUBEではデフォルトでは商品詳細ページのtitleタグが[ショップ名][商品名]の順番になっていますが、SEO効果を上げるために商品名を先頭にしたい人も多いはず。

変更するには

/data/Smarty/templates/site_frame.tpl

を修正します。デフォルトでは

<title><!--{$arrSiteInfo.shop_name}-->/<!--{$tpl_title|escape}--></title>

となっていますので、

<title><!--{$tpl_title|escape}-->/<!--{$arrSiteInfo.shop_name}--></title>

のように変更すればOK。勿論、ショップ名を取ってしまうこともできます。

ただ、商品名を取得する際に「商品詳細」という文言が入ってしまうので、私の場合はそれも取り除きました。

これは

/products/detail.php

を修正する必要があり、

$objPage->tpl_title = "商品詳細 ". $objPage->arrProduct["name"];

という箇所の「商品詳細」という言葉を削除すれば反映されます。

titleタグには必要最小限の言葉しか記載しない方がSEO効果が高いので、是非実践してみて下さい。



タグ:SEO titleタグ


posted by eccube at 15:15 | Comment(0) | TrackBack(2) | SEO

メルマガ配信時のfrom_name変更方法


EC-CUBEのメルマガ機能を利用すると、from_nameがショップ名でなく会社名になっています。

これ、ほとんどの人はショップ名で送りたいと思うんですけどね…。

ということで変更方法ですが、

/admin/mail/sendmail.php

にfromアドレスが指定されていますので、このファイルの

"company_name"を"shop_name"

に置換すればOKです。



posted by eccube at 15:03 | Comment(1) | TrackBack(1) | メルマガ

ポイント付与率一括変更方法


EC-CUBEでは会員ポイント制度機能がありますが、既に登録済商品のポイント付与率を一括で変更する機能がありません。

管理画面の[基本情報管理]⇒[ポイント設定]で標準の付与率を設定できますが、変更した場合もその後の新規登録商品にしか適用されません。

一括で変更するにはDBを直接いじるしか今のところ方法が無さそうです。

商品ごとのポイント付与率はdtb_productsテーブルのpoint_rate に格納されているので、以下のSQLを流し込めば変更されます。

UPDATE dtb_products SET point_rate = ポイント付与率;

SQLに詳しい方であれば、WHERE句でカテゴリごとに設定するなどもできるようです。




posted by eccube at 14:47 | Comment(0) | TrackBack(0) | ポイント

EC-CUBE開発コミュニティ


EC-CUBEの公式サイトにはEC-CUBE開発コミュニティが用意されています。

EC-CUBEはオープンソースという特性上、まだまだ発展途上でバグが多かったりバージョンアップが頻繁に行われたりします。

こうしたコミュニティはあまり盛り上がっていなかったり質問を書き込んでもレスがつかないことが多いですが、EC-CUBEのコミュニティは割と親切で書き込みの量もなかなか多いです。

バグの対処法やカスタマイズ情報などが結構見つかるので、是非利用して下さい。



posted by eccube at 12:44 | Comment(0) | TrackBack(0) | 情報収集

EC-CUBE無料テンプレート


EC-CUBEはデフォルトのデザインが綺麗で見やすいので、新しくショップを構築する際にもデフォルトの画像を差し替えるだけでもそこそこ見た目のいいショップができます。

と言ってもやっぱりデフォルトのデザインからは変えたい人も多いと思いますが、残念ながらEC-CUBEのデザインテンプレートを制作している人はまだほとんどいません。

私の知る限り唯一EC-CUBE無料テンプレートを配布してくれているのがEC-CUBEテンプレート研究所さん。

シンプルで使いやすいデザインのテンプレートを色違いでblue・Green・Orangeの3種類を提供してくれていて、かなりありがたいです。こちらからダウンロードできます。

ダウンロードすると使い方がテキストファイルに書かれていて、変更方法も非常に簡単です。

[参考]blueテンプレートを使ったサイト

ただし、この記事を書いている時点(2008/1/11)ではEC-CUBE最新バージョンの2.0には対応しておらず、1.34までの対応です。ご利用される方はその点ご注意下さい。

ご予算がある方はEC-CUBEのカスタマイズができる制作会社に依頼してみるのもいいかと思います。

また、先日EC-CUBEデザインテンプレート販売会社募集のプレスリリースが出ていたので、有料ですがテンプレートの種類は今後増えていきそうですので、期待しましょう。



posted by eccube at 17:31 | Comment(0) | TrackBack(0) | デザインテンプレート

EC-CUBEインストール手順(blockgroup)


公式にEC-CUBE利用可能レンタルサーバとされているものの中で最安値で利用できるBLOCKGROUPでのインストール手順を説明します。

※ただし前回のエントリーでも説明したように、BLOCKGROUPではSSLは利用できません。

BLOCKGROUPではEC-CUBEインストールマニュアルが用意されているので、ここを参照すればインストールは問題なく完了しますが、
手順通りに作業すると、http://ドメイン名/eccube/html/ のように利用ドメイン直下ではなく、/eccube/html/というディレクトリ配下にEC-CUBEがインストールされてしまいます。

このようなディレクトリ配下でEC-CUBEを使う人はいないと思うので、不親切なマニュアルだと思いますが…。

ということで、利用ドメイン直下にEC-CUBEをインストールするための作業を補足します。
BLOCKGROUPインストールマニュアルと違う箇所のみ記載するので、
参照しながら作業を進めて下さい。(私も不親切になってしまってすみません^^;)

ちなみにBLOCKGROUPインストールマニュアルの[5.ファイルを解凍]の後に付け加える作業があるのと、[9.EC-CUBEのインストール]でのアップロード手順が少し変わります。

尚、今回のインストール作業はEC-CUBE Version 2.0.1で作業しました。(他のバージョンでも手順は変わらないと思います)

■マニュアル[5.ファイルを解凍]の後に付け加える手順

1.define.phpのパス書き換え

\eccube\eccube-2.0.1\htmlの中のdefine.phpのパスを書き換えます。

define("HTML2DATA_DIR", "/../data/");

という箇所(3行目)を

define("HTML2DATA_DIR", "/data/");

に書き換え。

2.バグ?修正

解凍したファイルの中で

\eccube\eccube-2.0.1\\data\class_extends\page_extends\frontparts\

の中の「LC_Page_FrontParts_Bloc_Category_Ex.ph」というファイルは、「LC_Page_FrontParts_Bloc_Category_Ex.php」というのが正しいファイル名になるので、ファイル名の末尾に「p」を付け加える。
(他のバージョンをお使いの方は既に直っているかもしれません)

また、解凍したファイルの

\eccube\data\class_extends\page_extends\frontparts\bloc

の中にある「LC_Page_FrontParts_Bloc_SearchProducts_Ex.php」というファイルを

\eccube\eccube-2.0.1\\data\class_extends\page_extends\frontparts\

の中にコピーする。


■マニュアル[9.EC-CUBEのインストール]でのアップロード手順を以下に変更

ダウンロードしたEC-CUBEのファイルの中に「data」フォルダと「html」フォルダができていると思いますが、この2つを別々にアップロードします。

/public_html/htdocs/ 直下にdataフォルダを、
/public_html/htdocs/ 直下にhtmlフォルダの「中身」をアップロード(htmlフォルダごとではないことに注意)



以上を修正すればあとはBLOCKGROUPインストールマニュアルの手順通りでOKです。



広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。