サイトカレンダをスキップ

«
2017年 12月
»
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

-

ログイン

ログイン

QRコード

QR code


 掲示板目次 > Magento全般 > カスタマイズ質問 新規投稿 返信投稿
 PayPal ウェブサイト ペイメント プラスの インテグレーションの問題
 
t1nori
 2011年11月26日 12:22 JST (参照数 7203回)  
掲示板 Newbie
Newbie

状態: オフライン


登録日: 2011年11月26日
投稿数: 3
はじめまして

magento 1.6.1.0を利用しています。
最近PayPal のウェブサイトペイメントプラスの導入をしようとしており、
その中で問題があります。

日本語と英語の2つのサイトビューがあるのですが、英語サイトで支払いをした場合も、
PayPalのフォームが日本語になってしまいます。

PayPalディペロッパーセンターに問い合わせたところ、magentoからPayPalにFORM POSTを発送する際に、変数「lc」を追加することで、設定することができます。という回答があり、
<input type="hidden" name="lc" value="US"/>を追記してください。といわれました。

どこに追記すればよいかわかりません。
どなたかわかる方がいれば教えていただけませんか?

よろしくお願いします

 
プロフィール メール
引用して書き込む
hirokazu_nishi
 2011年11月26日 15:14 JST  
掲示板 管理者
管理者

状態: オフライン


登録日: 2008年2月 9日
投稿数: 470
app/code/core/Mage/Paypal/Model/Hostedpro/Request.php

の135行めあたりかなと思います。
そのままいじるとバージョンアップの際に上書きされてしまうので、app/code/localに同様のディレクトリ構成でコピーして、編集してもらえばいいかと思います。

Magento技術サポート・日本語化エクステンション・セキュリティ診断提供中です。日本語ガイドブックの販売・レンタルサーバサービス開始しました。 http://principle-works.jp/
 
プロフィール メール ホームページ
引用して書き込む
t1nori
 2011年11月26日 15:43 JST  
掲示板 Newbie
Newbie

状態: オフライン


登録日: 2011年11月26日
投稿数: 3
ご回答ありがとうございます。

app/code/core/Mage/Paypal/Model/Hostedpro/Request.phpを見たところ、
ご指摘の部分が以下のようになっておりました。

protected function _getPaymentData(Mage_Paypal_Model_Hostedpro $paymentMethod)
{
$request = array(
'paymentaction' => strtolower($paymentMethod->getConfigData('payment_action'Wink),
'notify_url' => $paymentMethod->getNotifyUrl(),
'cancel_return' => $paymentMethod->getCancelUrl(),
'return' => $paymentMethod->getReturnUrl(),
'lc' => $paymentMethod->getMerchantCountry(),

'template' => 'templateD',
'showBillingAddress' => 'false',
'showShippingAddress' => 'false',
'showBillingEmail' => 'false',
'showBillingPhone' => 'false',
'showCustomerName' => 'false',
'showCardInfo' => 'true',
'showHostedThankyouPage'=> 'false'
);

return $request;
}

私のmerchantCountryのセッティングはjapanなので
'lc' => $paymentMethod->getMerchantCountry(),の部分の影響かなと思ったのですが、

'lc' => 'US'に変えてテストしたところ、以前のように日本語のフォームがでてしまいました。
site viewに応じて変更するにはどうしたらよいでしょうか?
アドバイスいただけると幸いです。



 
プロフィール メール
引用して書き込む
hirokazu_nishi
 2011年11月26日 15:49 JST  
掲示板 管理者
管理者

状態: オフライン


登録日: 2008年2月 9日
投稿数: 470
とある所では、

'lc' => 'EN',
'locale.x' => 'en_US',

と入れてました。英語サイトオンリーだったので。
locale.xってのはPayPalの方から教えていただいた隠しパラメータです。

ストアビューごとに変えるのであれば、一番簡単なのは

PHP Formatted Code
Mage::getStoreConfig('path/to/config');


というのでcore_config_dataテーブルとかの設定データを引っ張ってくる方法ですね。
system.xmlで入力項目の定義を追加して、管理画面でストアビューごとに設定できるようにすると便利だとは思います。

書き方は他のsystem.xmlを参考にするとできますよ。

Magento技術サポート・日本語化エクステンション・セキュリティ診断提供中です。日本語ガイドブックの販売・レンタルサーバサービス開始しました。 http://principle-works.jp/
 
プロフィール メール ホームページ
引用して書き込む
t1nori
 2011年11月26日 16:26 JST  
掲示板 Newbie
Newbie

状態: オフライン


登録日: 2011年11月26日
投稿数: 3
たびたびお世話になります

'lc' => 'EN',
'locale.x' => 'en_US',


'lc' => $paymentMethod->getMerchantCountry(),
の代わりに入力して試してみましたが、やはり日本語フォームがでてきてしまいます

また教えていただいた、Mage::getStoreConfig('path/to/config'; の使い方がわからないのですが、
'lc' => Mage::getStoreConfig('path/to/config';
ですか?それとも
'lc' => $paymentMethod->Mage::getStoreConfig('path/to/config';
でしょうか?

どちらも試してみたものの、やはり日本語フォームのみでてきてしまいます。

system.xmlの入力項目の定義追加は当方初心者のため、書き方がわかりません。

アドバイスいただけましたら幸いです。

 
プロフィール メール
引用して書き込む
hirokazu_nishi
 2011年11月26日 17:21 JST  
掲示板 管理者
管理者

状態: オフライン


登録日: 2008年2月 9日
投稿数: 470
うーん・・・。

私自身がWebsite Payments Plusを使っているわけではないので、決定的なアドバイスができないというのが実際のところです。

system.xmlの書き方については変な説明をするより、例えばPaypalモジュールのsystem.xmlを見てもらうほうがわかると思うんです。

path/to/config

というのもいわゆる

foo.bar

とかと同じ意味なので、特に意味はありません。

Mage::getStoreConfig('path/to/config' ) ;

が何を意味しているかがわからないということであれば、まずはPHPから勉強されたほうがよいかと思います。

Magento技術サポート・日本語化エクステンション・セキュリティ診断提供中です。日本語ガイドブックの販売・レンタルサーバサービス開始しました。 http://principle-works.jp/
 
プロフィール メール ホームページ
引用して書き込む
内容生成: 5.30 秒
新規投稿 返信投稿


通常 通常
注目トピック 注目トピック
ロック済 ロック済
新着 新着
注目トピック 新着 注目トピック 新着
ロック済トピック 新着 ロック済トピック 新着
ゲストユーザの投稿を見る 
ゲストユーザ投稿可能 
HTML許可 
バッドワードをチェック