PayPalのenrolプラグインが動作しない

PayPalのenrolプラグインが動作しない

by Masayuki Nii -
Number of replies: 1

こちらでははじめて書きます。個人でe-Leariningサイトを構築するのにMoodleを使っうつもりで準備をしています。PayPalで簡単に…と期待したらうまくいかないのですが、うまく行っている方っていらっしゃいますか? HPC HostingというところでVer.2.2+を使っています。最初のトライで404のエラーが出たのですが、これは以下のメッセージにもある問題のようです。

http://moodle.org/mod/forum/discuss.php?d=177130

このメッセージの中でパッチを当てた「ipn.php」を作られたようで、それに置き換えると、確かに404のエラーはでなくなり、PayPal側から呼び出されるPOSTの結果は200となり、エラーは出なくなります。しかし、コースには自動的には登録されません。return.php?id=3が呼び出されて、「残念ながら…」のメッセージが出てきます。
もちろん、以下のページは見ています。

http://docs.moodle.org/22/en/Paypal_enrolment#Course_settings_for_Paypal

「What to set up in Paypal」の#4の「UTF-8に設定しなさい」という箇所、PayPalにログインをしてもその項目が存在せず、できないのです。IPNのログを見ると、Shift_JISで飛ばしています。それが問題でしょうか?
ipn.phpのソースを見る限り、POSTしたデータのエンコードの情報からUTF-8に変換するのはたやすいとは思うのですが、それがトラブルの原因だったら、アメリカ以外のほとんどのみなさんがトラブっているはずなので、どんな様子か知りたいので、書き込んでみました。

Average of ratings: お役立ち度: ★★★★★★★ (2)
In reply to Masayuki Nii

Re: PayPalのenrolプラグインが動作しない

by Masayuki Nii -

結論を言うと、うまく行きました。「What to set up in Paypal」の#4の「UTF-8に設定しなさい」の方法がわかり、その設定をすれば決済は滞りなく進みました。設定方法は、ヘルプのサイトの手順ではなく、次の通りです。日本語での手順を書いておきます。

  1. 「マイアカウント」にある「個人設定」のリンクをクリック
  2. 左側の「販売ツール」のリンクをクリック
  3. 「PayPalボタンの言語コード化」というリンクがあるのでそこをクリック
  4. 「詳細オプション」ボタンをクリックして、UTF-8を選択

言語は「西欧言語」になるけどこれでいい模様です。IPNを使うのだけど、PayPalボタンの言語設定もIPNに反映されるということかと思います。私は別物だと思っていて、そのリンクの先であることに気づきませんで、サポートを依頼したらすぐに教えてくれました。

なお、ipn.phpは前記のパッチを当てたものを使っています。Moodle側でのメッセージは飛ばないようですが、PayPalの支払い通知が出てくるので、誰か支払ったことはすぐにわかります。

Average of ratings: お役立ち度: ★★★★★★★ (3)