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) | 情報収集

広告


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

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

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


×

この広告は180日以上新しい記事の投稿がないブログに表示されております。