【オートメール for PayPal】 オンラインマニュアル
 テスト(スタンダード)

メール送信のテスト方法は3つあります。
  1. PayPalのテストサイト(PayPal Sandbox)の【Instant Payment Notification (IPN) Simulator】を使う。
  2. PayPalのテストサイト(PayPal Sandbox)のテストアカウントを利用する。
  3. PayPalの本番用の2つのアカウントを使う。


PayPal Sandboxの【Instant Payment Notification Simulator】を使う

PayPal Sandboxの使い方はPayPalへお問い合わせください。
サンキューページのテストも行う場合は、この方法ではテストできません。 PayPalのテストサイト(PayPal Sandbox)のテストアカウントを利用するPayPalの本番用の2つのアカウントを使うで行ってください。

本番モードとテストモードの切替

テストモードと本番モードで必要な切替を行います。
切り替えられるのは、ポストバックURL(不正な販売が行われないようにデータのチェックするURL)、購入者データファイル、エラーログファイルです。
商品ごとにモードを設定できるので、他の商品に影響はありません。

  1. 【オートメール for PayPal】にログインし、テストしたい商品の【データ編集】を開きます。
  2. 【モード】で【テスト】を選択して、【保存する】ボタンをクリックします。


テストメールの送信

  1. PayPal Developerへ本番アカウントでログインします。
  2. 【Sandbox】-【IPN Simulator】をクリックします。
  3. 【IPN handler URL】へ、【http://sample.desu/ppmail/backend.php】(URLはご自分のURLに置き換えてください)と入力し
    【Transaction type】で【Web Accept】を選択します。
  4. 【first_name】:姓
    【last_name】:名
    【payer_email】:購入者のメールアドレス(テスト送信するメールアドレス)
    【receiver_email】:PayPal登録アドレスで入力したPayPal登録アドレス
    【item_number】:商品登録で入力した商品ID
    【mc_currency 】:【JPY - Yen】を選択
    【mc_gross】:メール送信設定で入力した商品価格
    を入力します。
  5. 【Send IPN】をクリックします。
    【IPN handler URL】で入力したURLへデータが送信されます。
  6. 【IPN handler URL】が正しいのに403エラーが出る場合、IPN送信確認-403エラーをご覧ください。
  7. 設定値が全て正しければ、メールが送信され、購入者データがファイルに保存されます。
    設定値が1つでも間違っていていればエラーとなり、エラーログがファイルに保存されます。
    【オートメール for PayPal】の左メニューから【購入者データ】と【エラーログ】選択して正しく動作しているかチェックしてください。 テストモードにしている商品の、【購入者データ】と【エラーログ】はテスト用のファイルにデータが保存されます。
    ただし、間違えて存在しない商品IDでテストした場合だけは、エラーログはテスト用ではなく本番用のファイルに書き出されます。 【購入者データ】と【エラーログ】の両方に何も書き出されていない場合、 【オートメール for PayPal】の左メニューから【データ編集】で【本番】を選択して本番用のエラーログを確認してください。
PayPalから送信されるメールの確認は、【PayPal Sandbox】の【Test Email】で確認できます。
テストが終了し、商品の販売を始めるときは、必ず【本番モード】に切り替えてください。


PayPal Sandboxのテストアカウントを利用する

PayPal Sandboxの使い方は、
Sandbox ペイパルビジネスガイド - PayPal
PayPal テスト環境 Sandboxの使い方 - Qiita
などをご参照ください(URLが変更になっている場合は、ご自身で検索してください)。
またSandboxの使い方はPayPalへお問い合わせください。

PayPalのテストサイト(PayPal Sandbox)へアカウントの登録

PayPal Sandboxにテスト用のアカウントを登録します。
テスト用アカウントの登録方法は、PayPal テスト環境 Sandboxの使い方 - Qiitaなどをご参照ください。
もしPayPalの仕様が変わっていて、登録方法がおわかりにならない場合は、PayPalにお尋ねください。

テストアカウントは、販売用(売り手用)と購入用(買い手用)に2つ必要になります。 販売用はビジネスかプレミアのいずれか、購入用はパーソナル、ビジネス、プレミアのいずれでもOKです。

テストアカウントで決済を行う

  1. 【オートメール for PayPal】にログインします。
  2. 【オートメール for PayPal】管理画面の【管理者情報など】-【PayPal Sandbox(テスト用)情報】-【PayPal登録アドレス】へテストアカウントの登録メールアドレスを入力して【保存する】ボタンをクリックします。
  3. テストしたい商品の【データ編集】を開き、【モード】で【テスト】を選択して、【保存する】ボタンをクリックします。

  4. PayPal Sandboxの売り手用テストアカウントにログインします。
  5. 本番用アカウントと同じように【PayPal設定】と【サンキューページ設定】の設定をします。
    ただし、【サンキューページ設定】で【IDトークン 】をご利用になられる場合は、【オートメール for PayPal】の左メニュー【管理者情報など】-【PayPal Sandbox(テスト用)情報】-【IDトークン 】の項目へテストアカウントで取得した【IDトークン 】を設定してください。
  6. 本番用アカウントと同じように、購入ボタンを作成します。
  7. テスト用の購入ボタンを配したWebページから購入します。 支払いは購入者用のテストアカウントから行います。
  8. テストが終わって本番の販売を始める時は、【データ編集】を開き、【モード】を【本番】に戻し、決済ボタンを本番用に入れ替えてください。

きちんと動作していれば、【オートメール for PayPal】で設定したメールが届き、購入者データに決済情報が書き込まれます。
メールが送信されなかったり、購入者データが書き込まれない場合は、エラーが起こっていると思われますので、 エラーメッセージについてサンキューメールが送信されない場合を参照してください。

PayPalから送信されるメールの確認は、【PayPal Sandbox】の【Sandbox】-【Notifications】で確認できます。

テストが終了し、商品の販売を始めるときは、必ず【本番モード】に切り替えてください。


PayPalの2つの本番用アカウントを使う

ご自身で2つのアカウントを用意してテストします。
PayPalはビジネスorプレミアとパーソナルの組み合わせで2つ登録できるようです(PayPalの規約が変わる場合もあるので、できるかどうかはご自身でお確かめください)。
もし2つのアカウントを用意できなかった場合は、どなたか気心の知れた方のアカウントをお借りして2つのアカウントでテストしてください。
決済はテスト後にキャンセルすることも可能ですが、手数料がかかります。

PayPalの規約に、自分の商品を自分で購入することは禁止とも取れる文言があります。 テスト目的で自分の商品を購入するのも禁止なのかPayPalテクニカルサポートに問い合わせたところ、それは問題ないとのことでした(2020年7月)。 ですがPayPalの言い分が変わらないとも限りませんので、ご不安な方はPayPalに問い合わせてからテストしてください。

  1. PayPalに2つのアカウントを作成していない場合作成します。
  2. 【オートメール for PayPal】にログインし、テストしたい商品の【データ編集】を開きます。
  3. 【モード】で【本番】を選択して、【保存する】ボタンをクリックします。

  4. 作成したセールスページにアクセスします。
  5. 購入ボタンをクリックします。
  6. PayPalへのログイン画面が表示されるので、商品を販売していない方のアカウントへログインして支払いをします。
  7. PayPalの管理画面から、決済をキャンセルします。決済をキャンセルする方法はPayPalにお尋ねください。

きちんと動作していれば、設定したメールが届き、購入者データに決済情報が書き込まれます。
メールが送信されなかったり、購入者データが書き込まれない場合は、エラーが起こっていると思われますので、エラーメッセージについてサンキューメールが送信されない場合を参照してください。


お使いのMTAがqmailの場合

【オートメール for PayPal】では、事実上の世界標準形式に従ってメールを送信しています。
しかし、お使いのサーバーのMTAがqmailの場合、qmailのバグにより世界標準形式が崩れます。 このバグを放置してそのまま送信した場合、正しい形式で送信されないことになります。
大抵のメーラーは作者の善意により、正しくない形式のメールでも、きちんと表示されるように作られています。 しかし、一部のメーラーでは対応していないため、正しく表示されない場合もあります。
この場合、見られる症状は、
  • メールのヘッダが本文に表示される。
  • 件名、送信者名などが途中で切れる、あるいは空欄になる。
などです。
【オートメール for PayPal】では、自動でMTAを判定し、qmailのバグを吸収するようにしてはいますが、全てのサーバーで100%正しい判定ができるとは限りません。
また、自動判別を用いた場合、購入者にメールを送信する際の動作が重くなります。
自動判別が気になる方は、次の設定をしてください。

  1. お使いのサーバーにインストールされているMTAを調べます。
    複数インストールされている場合は、PHPから利用しているMTAを調べます。
    お分かりにならない場合はお使いのサーバーにお問い合わせください。
  2. 【オートメール for PayPal】にログインし、【管理者情報など】-【メールの改行コードを設定します】を開きます。
  3. MTAがqmailの場合は【LF】を、それ以外のMTAの場合は【LFCR】を指定してください。
  4. 【更新する】ボタンをクリックします。

もしこの方法で解決した場合、次のことに気をつけてください。
  • サーバーを変更した場合、あるいはサーバーのMTAが変わった場合。
  • qmailのバージョンアップによりバグが解消された場合。

qmailのバグに関しては、これ以上の対応はできかねます。