Home > EC-CUBE | カスタマイズ > EC-CUBE に PayPal 支払を追加する

EC-CUBE に PayPal 支払を追加する

参考サイト

PayPal決済導入方法←かなり詳しいです。1部のコードでエラーが出たので下記サイト参考にして修正しました。

EC-CUBEにPAYPAL支払いを組み込む

まず、PayPal のビジネスアカウントを取得している必要があります。

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

で動作確認済み。

Comments:0

Comment Form
Remember personal info

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 [...]

Home > EC-CUBE | カスタマイズ > EC-CUBE に PayPal 支払を追加する

Return to page top