バージョン選択

フォーラム

メニュー

オンライン状況

36 人のユーザが現在オンラインです。 (25 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 36
もっと...

サイト内検索

質問 > フロント機能 > paypal決済導入に関して

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
masa153
投稿日時: 2009/6/14 4:38
対応状況: −−−
新米
登録日: 2009/6/14
居住地:
投稿: 1
Re: paypal決済導入に関して
Ver.2.4で、私も同じことで悩んでします。

とりあえず、「lc=JP」の指定があり、

https://www.paypal.com/j1/cgi-bin/webscr

に飛ぶとNGな点までは切り分けました。


https://www.paypal.com/hk/cgi-bin/webscr

とかなら住所は引き継げます。

香港には、都道府県は無いので当然ダメですが・・・

そもそも、都道府県の送信は、Paypal側が「北海道 -Hokkaido」みたいになっているので、スペース以降のローマ字表記を付加してやらないと難しいと思います。
tonton
投稿日時: 2009/6/14 12:55
対応状況: −−−
仙人
登録日: 2008/8/14
居住地:
投稿: 437
Re: paypal決済導入に関して
こんにちは。

私もこちらのようなPAYPALの導入を試みていて、toyoatuさんと同様、住所情報の取得でエラーが出てしまって、今、ソースをイジイジしているのですが、

私の環境は、ポスグレの8.3で、どうも、8.3になって、データ型の自動変換ができなくなってしまったのが、原因で、mtb_zipのcityカラムのデータをテキスト型として読み込めないのがエラーの原因のようです。


エラーメッセージは、購入プロセスでPAYPALを選択して、決済画面を進めていくと、PAYPALへのデータ受け渡しで、

----------------
SELECT city FROM mtb_zip WHERE zipcode=5420081
DB Error: unknown error

SELECT city FROM mtb_zip WHERE zipcode=5420081[nativecode=ERROR: operator does not exist: text = integer at character 39
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.]
----------------
このようなエラーが出ています。
ちなみに、zipcode:5420081は大阪市中央区です。

こちらに、キャストについて詳しく書かれているのですが、、、↓↓↓

http://lets.postgresql.jp/documents/tutorial/cast/

理屈はわかったものの、これって、どこにどうすれば、型変換できるのでしょうか;;;というところでつまづきまくっています。


toyoatuさんは、MYSQLということなので、もしかしたら原因およびエラー内容は違うかもしれませんが、参考になれば・・・&どなたかお助けいただければ、、、と書き込みしました。

よろしくお願いします。
tonton
投稿日時: 2009/6/14 13:05
対応状況: −−−
仙人
登録日: 2008/8/14
居住地:
投稿: 437
Re: paypal決済導入に関して
あの、一応、追記ですが、toyoatuさんの質問にもありました参考サイトでもありました、(http://www.wiz.gr.jp/wordpress/82

郵便番号から、住所情報を取得しているソースは、下記のところだと思うのですが、

$city = $objQuery->get("mtb_zip", "city", "zipcode=" . $arrData["deliv_zip01"] . $arrData["deliv_zip02"]) ;

もしかしたら、このコードに、型変換を追加してやるだけでいいのかもしれません。(やり方わからないので調べているのですが・・・)

seasoft
投稿日時: 2009/6/14 14:58
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: paypal決済導入に関して
こんなのは?
$city = $objQuery->get('mtb_zip', 'city', 'zipcode = ?', $arrData['deliv_zip01'] . $arrData['deliv_zip02']);


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

tonton
投稿日時: 2009/6/14 15:42
対応状況: −−−
仙人
登録日: 2008/8/14
居住地:
投稿: 437
Re: paypal決済導入に関して
seasoft様

>こんなのは?
>$city = $objQuery->get('mtb_zip', 'city', 'zipcode = ?', $arrData['deliv_zip01'] . $arrData['deliv_zip02']);


早速試してみました。

そして、あっさり動作できました;
スゴッ!

つい今しがた、PAYPALのサンドボックス(テストアカウントで動作確認ができるテストサイト)につなげて、試してみました。
動作、ちゃんとできました!
受注者アカウントにも発注者アカウントにも、ちゃんと計上されています。
サンドボックスでちゃんと動作できているので、PAYPALの場合、通常の利用でも多分問題ないと思います。

今回も、とても助かりました!本当に、ありがとうございました。


今回の動作は、私はポスグレ8.3.3/EC-CUBE2.4で試しました。


PAYPALは、こちらのサイト 
http://blog.katsuma.tv/develop/paypal/
で述べられているように、PDT、IPNの2つのコールバック方式を加味しつつ、EC-CUBEなどのシステムのバックエンドと統合しなければならないようで、もう少し、複雑な要件も出てきそうです。
ですが、とりあえずは、受注して決済を受けるところまで一通りできたことになるので、いちばん根元の解決が得られました。

あとは、続けて、都道府県情報の読み出しやIPNについても調べていこうと思いますので、私も何か自分で得られた情報が出てきたら、書き込みに来ますね。

SEASOFTさん、本当にありがとうございます。
nagasawa
投稿日時: 2009/12/11 11:00
対応状況: −−−
新米
登録日: 2009/12/10
居住地:
投稿: 2
Re: paypal決済導入に関して
はじめまして。こちらのツリーや、EC-CUBEの公式ガイドブックを参考にカスタマイズしてPayPalを導入しようと、試みているのですが、住所が渡せなくて困っております。

こちらの環境
 EC-CUBEバージョン 2.4.1
 PHPバージョン PHP 5.1.6
 DBバージョン PostgreSQL 8.1.18

まず、LC_Page_Shopping_Confirm.php の148行目以降のソースは下記の通りです。

// 決済方法により画面切替
 if($payment_type != "") {
  $_SESSION["payment_id"] = $arrData['payment_id'];
  $this->sendRedirect($this->getLocation(URL_SHOP_MODULE));
 }else{
  if($arrData['payment_id'] == 5) {
   $paypalURL = "https://www.paypal.com/j1/cgi-bin/webscr?cmd=_xclick&" ;
   $paypalURL .= "business=" . "info@hogeshop.com"; . "&" ;
   $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"] ;
//   echo $paypalURL;
   header("Location: " . $paypalURL);
  } else {
   $this->sendRedirect($this->getLocation(URL_SHOP_COMPLETE));
  }
 }


注文時にPayPalへ送信されるURLは下記の通りです(改行を入れております)

https://www.paypal.com/j1/cgi-bin/webscr?cmd=_xclick&
 business=info@hogeshop.com&
 lc=JP&
 item_name=商品名&
 invoice=45&
 currency_code=JPY&
 no_shipping=1&
 no_note=1&
 shipping=1000&
 amount=10500&
 email=kyaku@hogehoge.com&
 first_name=%E3%81%8A%E3%82%84%E3%81%98&
 last_name=%E3%81%AA%E3%81%94%E3%82%84%E3%81%AE&
 address1=%E8%B1%8A%E5%B9%B4%E7%94%BA&
 address2=3-1&
 city=%E5%90%8D%E5%8F%A4%E5%B1%8B%E5%B8%82%E5%8D%83%E7%A8%AE%E5%8C%BA&
 zip=464-0076&
 night_phone_b=(04)1234-4567

そして、PayPalで表示されるのが、下記URLの通り、住所が入ってない状態になっております。
http://imagepot.net/view/126049653935.jpg

商品名、価格、名前が入ってますので、エンコードの問題ではなさそうです。

何かしら、お気づきの点があればコメントいただけますでしょうか?
ヒントだけでも戴けると助かりますので、
どうぞよろしくお願いします。
seasoft
投稿日時: 2009/12/11 12:45
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: paypal決済導入に関して
URL を PayPal に確認してもらっては?


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

nagasawa
投稿日時: 2009/12/12 0:50
対応状況: −−−
新米
登録日: 2009/12/10
居住地:
投稿: 2
Re: paypal決済導入に関して
さっそくのお返事ありがとうございます。
そうですね。PayPalに確認してみます。

今回はありがとうございました。
« 1 (2)
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,173名です
総投稿数は110,047件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1650
8
red
1570
9
mcontact
1299
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.