参考サイト
・PayPal決済導入方法←かなり詳しいです。1部のコードでエラーが出たので下記サイト参考にして修正しました。
まず、PayPal のビジネスアカウントを取得している必要があります。
■PayPal側の設定
[マイアカウント]→[個人設定]→[販売の設定-ウェブサイト決済の設定]ページを表示。
- ウェブサイト決済の自動復帰
自動復帰:オン
ウェブサイト決済の自動復帰
復帰URL:
http://ショップURL/html/shopping/complete.php
- 支払いデータ転送:オン
- 暗号化ウェブサイト決済
暗号化されていないウェブサイト決済の受領拒否:オフ
- PayPalアカウントオプションサービス:オフ
- 連絡先電話番号:オフ
- 高速チェックアウトの設定
giropayおよび銀行振替による支払いのサポート:オフ
と設定して保存。
[マイアカウント]⇒[個人設定]⇒[販売の設定-言語のエンコード]
- ウェブサイトの言語:日本語
- [詳細オプション]
エンコード方式:UTF-8
PayPalから送信されたデータと同じエンコード方式を使用しますか(IPN、ダウンロード可能なログ、メールなど)?
はい
[マイアカウント]⇒[個人設定]⇒[販売の設定-支払い受領設定]
- クレジットカード利用明細上の名前を適宜設定
■EC-CUBE側の設定
/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'] == ※1 payment_id) {
// 設定変更行して下さい ↑ if($arrData['payment_id'] == payment_id) {
$paypalURL = "https://www.paypal.com/j1/cgi-bin/webscr?cmd=_xclick&" ;
$paypalURL .= "business=" . "PayPalアカウントのメールアドレス" . "&" ;
// 設定変更行して下さい ↑$paypalURL .= "business=" . "paypalアカウントのメールアドレス" . "&" ;
$paypalURL .= "lc=JP&item_name=" . "※2 商品名" . "&" ;
// 設定変更行して下さい ↑ $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);
}
}
に入れ替え。
※1.支払い方法の選択をPayPalを選んで、テスト注文をして、注文ステップ途中の「お支払方法の指定」の画面でソースを見るとそれぞれの決済方法に「value="x"」と数字のIDが振られているので、そのxの部分を記載。
※2. ショップで当たり障りのない商品名を入れる。(雑貨ショップであれば「雑貨」など…)
EC-CUBE2.3.3
PHP 4.3.9
PostgreSQL 7.4.17
で動作確認済み。
- Newer: EC-CUBEのバージョン管理
- Older: wp-shotの文字化け
Comments:0
Trackbacks:1
- Trackback URL for this entry
- http://www.wiz.gr.jp/wordpress/82/trackback
- Listed below are links to weblogs that reference
- EC-CUBE に PayPal 支払を追加する from WIZ-WORDPRESS│EC-CUBE-LABO
- pingback from B豚の備忘録 - 【EC-CUBE】PAYPAL支払いAPIを利用する 09-06-14 (日) 16:28
-
[...] http://eccube.seesaa.net/article/87548448.html http://www.wiz.gr.jp/wordpress/82 [...]
