【PayPal毎度ありがとうメール】 オンラインマニュアル

最新バージョンについて

現在の最新バージョンは2.25です。このページのマニュアルも2.25のものです。
2017-2018年PayPalのセキュリティ計画へ対応済みです。

動作環境

【PayPal毎度ありがとうメール】はPHP バージョン7がインストールされているWebサーバーで動きます。確認はバージョン7.2.8で行っています。 確かめてはいませんが、多くのレンタルサーバーで動くはずです。
管理画面はGoogle Chromeで動作確認しています。

対応している決済

PayPalの【ウェブ ペイメント スタンダード-購読と定期支払い】に対応しています。【ショッピングカート】や【今すぐ購入ボタン】などの他の決済には対応していません。 PayPalのクレジット決済ととPayPal資金(残高)からの送金にのみ対応しています。

メール送信のタイミング

ここでは【sample.desu】ドメインに、【ppmaido】ディレクトリを作成してインストールするとします。 これ以降、 【sample.desu】や【ppmail】はインストールなさるドメイン、ディレクトリに置き換えて読んでください。
PayPalで購読と定期支払いを利用すると、登録、支払、解除といったアクションが起こります。
  1. 購読者がPayPalのボタンから【購読・定期支払い】の申し込みをします。
  2. 申し込みと同時に、PayPalから【http://sample.desu/ppmaido/backend.php】に購読者のデータが送信されます。
  3. 【PayPal毎度ありがとうメール】に登録した【登録完了後に送信する】に設定したメールが購読者へ送信されます。
  4. 購読者データがcsvファイルに保存されます。
  5. 試用期間1(PayPalでは試用期間)を設定し、かつ金額を設定している場合、試用期間1が始まると、PayPalから【http://sample.desu/ppmaido/backend.php】に決済のデータが送信されます。
    PayPalからデータを受け取った【backend.php】は、データが改ざんされていないか確認するため、 送られてきたデータをPayPalに送り返し、結果を待ちます。
  6. PayPalから正しいという結果が送り返されてくれば、購読者が入力したメールアドレスに、【PayPal毎度ありがとうメール】に登録した【試用期間1決済完了後送信するメール】に設定した内容でメールが送信されます。
    ただし、試用期間の金額を無料にしている場合、決済が行われないので、PayPalからデータが送られてきません。そのためメール送信は行われません。
  7. 決済データがcsvファイルに保存されます。
  8. 試用期間1(PayPalでは試用期間)終了後、試用期間2(PayPalでは別の試用期間)の設定をしている場合、試用期間2が始まるとPayPalが自動で決済を行います。 同時にPayPalから【http://sample.desu/ppmaido/backend.php】にデータが送信されます。 【PayPal毎度ありがとうメール】ではデータの確認と試用期間2に設定したメール送信を行います。
  9. 正規支払(PayPalではサイクル)が始まると、PayPalが決済を自動で行います。 同時にPayPalから【http://sample.desu/ppmaido/backend.php】にデータが送信されます。 【PayPal毎度ありがとうメール】ではデータの確認と正規支払に設定したメール送信と初めての正規支払に設定したメール送信を行います。
    初めての正規支払に設定したメール送信は、正規支払の第1回のみ送信します。
  10. 購読者が購読を解除するまで、設定した正規支払の期間に従ってPayPalが定期的に決済を行います。 決済がある度にPayPalから【http://sample.desu/ppmaido/backend.php】にデータが送信されます。 【PayPal毎度ありがとうメール】ではPayPalからデータが送られてくるたびにデータの確認と正規支払に設定したメール送信を行います。
  11. 購読者が購読を解除した場合、PayPalから【http://sample.desu/ppmaido/backend.php】にキャンセルのデータが送信されます。 同時に【PayPal毎度ありがとうメール】に登録した【キャンセル時に送信するに設定したメールが購読者へ送信されます。
項目名 説明
商品ID PayPalで入力した商品IDが保存されます。
商品名 PayPalで入力した商品名が保存されます。
姓  PayPal決済時に入力した名前が保存されます。
名  PayPal決済時に入力した名前が保存されます。
メールアドレス PayPal決済時に入力したメールアドレスが保存されます。
注文ID PayPalで発行された注文IDが保存されます。
親注文ID 決済された注文IDの親IDが保存されます。
支払額 購入者が支払った金額が保存されます。
ステータス 登録、試用1、試用2、通常、キャンセルのうち、いずれかが保存されます。
購入日時  
PayPal発行ユーザー PayPalが発行するユーザー管理ID、パスワードを利用する場合、保存されます。
PayPal発行パスワード PayPalが発行するユーザー管理ID、パスワードを利用する場合、保存されます。

ネットワークのトラブルなどで、100%メールが送信されるとは限りません。
メールが送信されなかった場合の連絡先などを、決済前の画面や決済後の画面に必ず表示し、購入者が困らないようにしてください。

2017-2018年PayPalのセキュリティ計画への対応チェック

お使いのサーバーがPayPalの新セキュリティへ対応しているかどうかの確認方法は2017-2018年PayPalのセキュリティ計画への対応について-お使いのサーバーの対応状況の確認をご覧ください。

インストール前のPHP調査

PHPバージョンの確認

【PayPal毎度ありがとうメール】は、PHP バージョン7で動作します。 PHP バージョン5でも動作しますが、できればPHP バージョン7で動かしてください。
  1. 付属の【phpinfo.php】をサーバーにアップロードします。
  2. ブラウザからアクセスします。
  3. 【PHPバージョン】の項目です。
サーバーによっては、ディレクトリごとにバージョンを切り替えることもできます。
バージョン7以外のPHPでコーディングされた他のソフトウェアを動かしておられる場合は、ディレクトリごとにバージョンを切り替えられるかどうか、 お使いのサーバーのマニュアルをご覧いただくか、サーバー管理会社に問い合わせてください。

PHPモードの確認

【PayPal毎度ありがとうメール】は、PHPがセーフモードでも、動作はします。しかし機能に制限が出てきます。
PHP配布元が言っているように、PHPのセーフモードは非推奨です。通常モードで動かすことをお勧めします。
特にロリポップをお使いの場合はご注意ください。デフォルトでセーフモードが動いているようです。
お使いのサーバーでどちらが動いているか分からない場合は、次の方法で確認してください。
  1. 付属の【phpinfo.php】をサーバーにアップロードします。
  2. ブラウザからアクセスします。
  3. 【safe_mode】が【Off】になっていれば通常モードで動いています。【On】の場合はセーフモードです。
  • サーバーによっては、サーバーの管理画面からセーフモード/通常モードを切り替えることもできます。
    詳しくは、各サーバーのマニュアルをご覧いただくか、サーバー管理会社に問い合わせてください。
  • 【php.ini】が使えるサーバーでは、【php.ini】の設定を変えると通常モードで動かすことができる場合があります。
    【php.ini】に【safe_mode=false】を書き加えてサーバーにアップロードしてください。【php.ini】は【.php】ディレクトリにある場合が多いです。

PHP版の確認

PHPにはCGI版とスクリプト版の2種類があります。
サーバー、あるいは同じサーバーでもアカウントによってCGI版のPHPが動いていたり、スクリプト版のPHPが動いていたりします。
【PayPal毎度ありがとうメール】は、CGI版のPHPでも、スクリプト版のPHPでも動作しますが、 セキュリティの観点から、CGI版PHPで動かされることを強くお勧めします。
お使いのサーバーでどちらが動いているか分からない場合は、次の方法で確認してください。
  1. 付属の【phpinfo.php】をサーバーにアップロードします。
  2. ブラウザからアクセスします。
  3. 【Server API】が【CGI】になっていればCGI版が動いています。
    【Server API】が【CGI】以外であればスクリプト版が動いています。(→ 下の設定を行ってください)
スクリプト版が動いている場合は、ぜひCGIとして動かす設定をしてください。 設定方法やCGIとして動くかどうかは、お使いのサーバーのマニュアルをご覧いただくか、サーバーの管理会社にお問い合わせください。
設定ファイル1つでCGI版PHPが動く場合もありますし、全く動かない場合もあります。
どうしてもPHPをCGIとして動かすことができない場合のみ、スクリプト版を動かしてください。

インストール

ここでは仮に【sample.desu】ディレクトリに、【ppmaido】ディレクトリを作成してインストールするとします。
実際には、【sample.desu】はご自分の環境のディレクトリへ置き換えて見ていただき、【ppmaido】はお好きなディレクトリ名にしてください。
決済ページを置くドメインと同じドメインにインストールする必要はありません。別のドメインあるいは別サーバーでも動きます。 メールを送信したいサーバーにインストールしてください。

  1. ダウンロードしたファイル【PayPalMaido.zip】を解凍します。
  2. FTPソフトを立ち上げて、サーバーに接続します。【PayPal毎度ありがとうメール】をインストールするディレクトリを作成します。
    ディレクトリはブラウザからアクセスが許されていて、かつPHPが動作するディレクトリの下へ作成してください。 具体的にどのディレクトリの下へ作成したらよいかはサーバーによって違いますので、各サーバーのマニュアルをご覧ください。 PHPやCGIを設置するディレクトリとして説明されているはずです。
  3. もしインストール前のPHP調査がまだの場合、【ppmaido】ディレクトリに対してPHPバージョンの確認PHPモードの確認PHP版の確認を行い、動作環境を整えてください。
  4. 【ppmaido】ディレクトリに、解凍したファイルのうち、【PayPalMaido】ディレクトリ以下の全てのファイルをアップロードします。
  5. パーミッションの設定をします。
    CGI版PHPとスクリプト版PHPで、設定する値が異なります。
    PHP版の確認でCGI版のPHPが動いてた場合は、【CGI版のパーミッション】を設定してください。
    スクリプト版のPHPが動いてた場合は、【スクリプト版のパーミッション】を設定してください。

    CGI版のパーミッショ ---------------------
    セキュリティレベルを上げるため、 次のディレクトリのパーミッションを変更することをお勧めします。
     ・【body】、【data】ディレクトリを【700】に
    もし、【700】にして動作しない場合は、【760】、【766】など試してみてください。

    スクリプト版のパーミッション ---------------------
    次のディレクトリとファイルのパーミッションを変更してください。
     ・【data】ディレクトリの下の、【admin.csv】、【buyer.csv】、【errlog.csv】、【ppdata.csv】、【output.csv】、【test_buyer.csv】、【test_errlog.csv】を【666】や【664】などに
     ・【body】ディレクトリを【777】や【775】などに
    パーミッションはサーバー(アカウント)によっても設定値が異なってきます。 どうのように設定すればよいか分からない場合は、まずは緩いパーミッションで試し、動いたら厳しく設定してみてください。 サーバーのマニュアルに設定値が書かれていることもあります。
    セキュリティの観点からも、最終的にはパーミッションはできるだけ厳しく設定してください。
    このままでは【data】ディレクトリや【body】ディレクトリ下のファイルがブラウザから見えてしまいますので、可能ならばアクセス制限を行うことをお勧めいたします。
    【.htaccess】や【httpd.conf】ファイルによるアクセス制限がポピュラーです。 サーバーによってはアクセス制限が使えない場合もあります。 アクセス制限が使えるかどうか、またその方法については、お使いのサーバーにお問い合わせください。
【PayPal毎度ありがとうメール】は自動バックアップ機能は備えていません。定期的に【data】ディレクトリのファイルをバックアップしてください。
特にバージョンアップする時は、サーバーの【data】ディレクトリのファイルを上書きしないようにお気をつけください。

インストールがうまくいかない場合

ブラウザからアクセスすると【404 Not Found】エラーが表示される

【404】、【HTTP ERROR 404】など表示されることもあります。
ファイルをアップロードするディレクトリが異なるか、ブラウザからアクセスしているURLが異なります。
どのディレクトリにアップロードすれば、何というURLでアクセスできるかは、お使いのレンタルサーバーによって異なります。 また【PayPalオートメール】はブラウザからアクセスが許されていて、かつPHPが動作するディレクトリへアップロードする必要もあります。
サーバーのどのディレクトリにアップロードすべきかは、サーバーのマニュアルやヘルプをご確認いただき、 正しいディレクトリへアップロードし直してください。

ブラウザからアクセスすると【403 Forbidden】エラーが表示される

【403】、【HTTP ERROR 403】など表示されることもあります。
ディレクトリやファイルのパーミッション(権限)の設定が異なります。 あるいはブラウザからアクセスが許されていていないディレクトリにアップロードした可能性があります。
どのディレクトリにアップロードすればよいかわからない場合は、お使いのサーバーのマニュアルをご覧いただくか、サーバー管理会社へお問い合わせください。

ブラウザからアクセスすると【<php ・・・ ?>】と表示される

お使いのレンタルサーバーでPHPが動いているか、インストールしたディレクトリでPHPが動いているかご確認ください。
PHPが動いているかどうかわからない場合は、お使いのサーバーのマニュアルをご覧いただくか、サーバー管理会社へお問い合わせください。

ブラウザからアクセスすると【500 Internal Server Error】と表示される

【500】、【HTTP ERROR 500】など表示されることもあります。
次の項目を順番に確認してみてください。
  1. PHPのバージョンを確認してください。
  2. セキュリティ上好ましくないので、【PayPal毎度ありがとうメール】ではエラー表記を止めています。 一時的にブラウザにエラーを表記させてその内容を確認できるようにします。 次の手順でエラーを表記、確認してください。
    mai_baseproc.zip】をダウンロードして、解凍します。
    サーバーの【class】ディレクトリの下の【ClassBaseProcess.php】をリネーム後、解凍した【ClassBaseProcess.php】をアップロードしてください。
    再度ブラウザからアクセスしてみてください。
    エラーが表示されたら、エラー内容をご連絡ください。
    動作し始めたら【ClassBaseProcess.php】を元に戻してください。

ブラウザからアクセスすると何も表示されず真っ白になる

ブラウザからアクセスすると【500 Internal Server Error】と表示されると同じことをやってみてください。

バージョンアップ

バージョンアップは決済の少ない時間帯に行われることをお勧めいたします。

バージョンの表記とバージョンアップについて

ソフトウェアのバージョンは通常【1.2.03.04】のように表示し、【メジャーバージョン.マイナーバージョン.リビジョン.ビルド】を表します。
  • メジャーバージョン:根本的な変更
  • マイナーバージョン:大幅な仕様変更・機能追加
  • リビジョン:仕様変更・機能追加
  • ビルド:修正パッチ
ですが【PayPal毎度ありがとうメール】ではそこまで厳密に表記していません。 メジャーバージョンとマイナーバージョン、リビジョンとビルドをそれぞれ一緒に表記しているイメージです。
例えばバージョン1.02の場合、1がメジャーバージョンとマイナーバージョン(以下メジャーバージョン)、02がリビジョンとビルド(以下リビジョン)となります。
  • メジャーバージョンが同じ場合
    リビジョンの番号が最新(最大)の物でバージョンアップしてください。最新のリビジョンに過去の変更分が全て含まれています (迷われないように最新のバージョンしかダウンロードできないようにしております)。
    ex.) 最新バージョンが1.09で1.02をお使いの場合、1.09をダウンロード、バージョンアップしてください。
    負担が少なく、間違いも少ないと考えられるバージョンアップ方法を2つ記載しておきます。
    それぞれメリット・デメリットがありますので、ご自身に合う方法を選択してください。
    載せている2つの方法が絶対ではありませんので、ご自身のやりやすい方法でバージョンアップしてください。
  • メジャーバージョンが異なる場合
    新バージョンご購入時あるいはお手続き時にメールでご案内している方法と、ダウンロード画面の説明をご参照ください。

現在インストールしているシステムファイルを上書きしてバージョンアップ

  • メリット
    基本的には新しいバージョンのファイルをサーバーに上書きアップロードするだけなので簡単です。
  • デメリット
    新しいバージョンが動かなかった場合、元のバージョンに戻すのにやや時間がかかる上、本当に元に戻ったか確認するのも手間がかかります。

  1. ご購入時にメールでお知らせいたしましたダウンロードページから、バージョンアップ用のファイルをダウンロードします。 既に運用中のデータファイルを上書きしないようにファイルを抜いてありますので、必ずバージョンアップ用のファイルをダウンロードしてください。
  2. ダウンロードしたファイルを解凍します。
  3. FTPソフトを立ち上げて、【PayPa毎度ありがとうメール】をインストールしたサーバーに接続します。
  4. バックアップのため、サーバーの【ppmaido】ディレクトリのファイルをローカルにダウンロードします。
    特に【data】ディレクトリは確実にバックアップしてください。
    古いバージョンの【PayPalMaido.zip】も、新しいバージョンが正常に動いていることが確認できるまで消さずに取っておいてください。
  5. 【ppmaido】ディレクトリに、新しいバージョンのファイルをアップロードします。
    バージョン1からのバージョンアップの場合、【追加データファイル】にあるデータファイルもサーバーの【data】ディレクトリへアップロードし、 パーミッションを【data】ディレクトリにある他のファイルと同じパーミッションに設定してください。
  6. もし動作しない場合は、PCにバックアップしたPHPファイルをサーバーに書き戻してください。
    この場合、【body】、【data】ディレクトリのファイルはアップロードしないようにしてください。 サーバーのデータファイルの方が新しい場合、書き戻してしまうとデータが古くなってしまうことを避けるためです。

新旧を切り替えてバージョンアップ

  • メリット
    新しいバージョンが動かなかった場合、ディレクトリ名の変更だけで元のバージョンに戻すことができます。
  • デメリット
    新しいバージョンをインストールして、パーミッションなどを設定しないといけないので手間がかかります。

沢山手順がありますが大まかな流れは、
古いバージョンのファイル群をサーバーにコピーしてパーミッションなどを設定、
片方だけバージョンアップ、
になります。
  1. ご購入時にメールでお知らせいたしましたダウンロードページから、最新バージョンのバージョンアップ用ファイルをダウンロードします。 既に運用中のデータファイルを上書きしないようにファイルを抜いてありますので、必ずバージョンアップ用のファイルをダウンロードしてください。
  2. ダウンロードしたファイルを解凍します。
  3. FTPソフトを立ち上げて、【PayPa毎度ありがとうメール】をインストールしているサーバーに接続します。
  4. 【PayPa毎度ありがとうメール】をインストールしているディレクトリ【ppmaido】と同じ階層に【ppmaido_new】ディレクトリを作成します。
  5. 【ppmaido】にPHPをCGIで動かすといったPHPの設定やサーバーの設定をしている場合は、【ppmaido_new】にも設定します。
    PHPバージョンの確認PHPモードの確認PHP版の確認を行って、 【ppmaido】と【ppmaido_new】のPHPの環境が同じであることを確認してください。
    もし【ppmaido】と【ppmaido_new】でPHPの環境を変えたい場合はこの限りではありません。
  6. サーバーの【ppmaido】下の全ディレクトリと全ファイルをローカルにダウンロードします。
  7. 【ppmaido_new】ディレクトリへ、ダウンロードした全ディレクトリと全ファイルをアップロードします。
    ここまでの作業で、【ppmaido】のファイルとディレクトリを丸ごと【ppmaido_new】へコピーしています。
  8. 【ppmaido_new】のディレクトリとファイルのパーミッションを、【ppmaido】と同じに設定します。
    ここまでの作業で、【ppmaido】と【ppmaido_new】ディレクトリが全く同じになっているはずです。
    もし【ppmaido】と【ppmaido_new】でPHPの版が異なる場合は、インストールの5の設定を行ってください。
  9. 【ppmaido_new】にダウンロード・解凍した最新バージョンのバージョンアップ用ファイルをアップロードします。
  10. 【ppmaido_new】へログインし、ライセンス登録の項目を確認してください。
    インストールURLは【ppmaidol_new】ではなく、【ppmaido】で設定してください。
  11. ざっとでいいので、動作を確認してください。
    動いているようなら【ppmaido】を【ppmaido_old】に、【ppmaido_new】を【ppmaido】に変更します。
  12. これで新しいバージョンに切り替わりますので、正しく動くかきちんと確認してください。
    もし正常に動かない場合は、【ppmaido】を【ppmaido_new】へ、【ppmaido_old】を【ppmaido】に変更すれば、元に戻すことができます。
  13. もし作業の途中で決済があった場合や、動かなくて【ppmaido_old】と【ppmaido_new】を切り替えながら運用した場合、データファイルの同期も行ってください。
    データファイルは【data】ディレクトリ下のディレクトリとファイルになります。

他サーバーや他ドメインへの移転

  1. インストール前のPHP調査に従い、移転先サーバーのPHPバージョンの確認PHPモードの確認PHP版の確認を行います。
  2. 移転元サーバーの【PayPa毎度ありがとうメール】をローカルにダウンロードします。
  3. インストールの2~3に従い、移転先サーバーに移転元からダウンロードした【PayPa毎度ありがとうメール】をアップロードします。
  4. ご購入時にメールでお知らせいたしましたダウンロードページから、最新バージョンのバージョンアップ用ファイルをダウンロードし、解凍します。
    既に運用中のデータファイルを上書きしないようにファイルを抜いてありますので、必ずバージョンアップ用のファイルをダウンロードしてください。
  5. 最新バージョンのバージョンアップ用ファイルを移転先サーバーへアップロードします。
  6. インストールの5を、移転先サーバーの【body】、【data】ディレクトリに対して行います。
  7. URLが変わっている場合は次の2つを行ってください。
    移転先サーバーの【PayPa毎度ありがとうメール】にログインし、【管理者情報など】-【PayPa毎度ありがとうメールのインストールURL】を変更します。
    PayPalにログインし、【IPN通知の設定】の【通知URL】を、新しいURLに変更してください。
  8. 移転先サーバーで【PayPa毎度ありがとうメール】が安定して動作していることが確認できたら、移転元の【PayPa毎度ありがとうメール】をアンインストールします。

個別サポート

どうしてもインストールができない、バージョンアップができない、サーバー移転をして欲しい、などお困りになった場合は、 個別サポートも行っています。
目次 インストール ログイン 商品情報 PayPalの設定 メール送信テスト
データの確認 置換 FAQ