【PayPalオートメール】 オンラインマニュアル

PayPalによると、2016年1月から、
PayPal Sandbox(テストサイト) : 新セキュリティ
ライブ : 旧セキュリティ、2017年6月30日に新セキュリティへ移行
環境で動作しています。
PayPal Sandboxを利用したテストは新セキュリティでのテスト、本番用アカウントでのテストは旧セキュリティでのテストをすることになりますのでご注意ください。 特にSandboxでのテストは新セキュリティに準拠したサーバーでないと動きませんのでご注意ください
PayPalのセキュリティのアップグレードに関しては、2016年のセキュリティ計画について PayPal をご参照ください。


メール送信のテスト方法は3つあります。
  1. PayPalのテストサイト(PayPal Sandbox)の【Instant Payment Notification (IPN) Simulator】を使う。
  2. PayPalのテストサイト(PayPal Sandbox)のテストアカウントを利用する。
  3. PayPalの本番用の2つのアカウントを使う。
PayPal Sandboxの仕様が大幅に変更されて以来、1はやや使いにくくなっています。


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

念のためこのマニュアルも残していますが、Sandboxでのテスト方法は、Sandbox ペイパルビジネスガイド - PayPalをご参照ください。またSandboxの使い方はPayPalへお問い合わせください。

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

  1. https://developer.paypal.com/へアクセスします。
  2. 【Sign Up Now】をクリックします。
  3. 名前、メールアドレス、パスワード、パスワードを忘れたときの質問と答えを入力して、【Agree and Submit】をクリックします。
  4. PayPalから確認メールが送信されてきます。メール中のURLをクリックすれば登録完了です。

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

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

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


テストメールの送信

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



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

念のためこのマニュアルも残していますが、Sandboxでのテスト方法は、Sandbox ペイパルビジネスガイド - PayPalをご参照ください。またSandboxの使い方はPayPalへお問い合わせください。

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

PayPalのテストアカウントの登録は、PayPalで楽アフィリエイトのマニュアル【PayPal Sandboxへの登録】と【テストアカウントの作成】を参照してください。
テストアカウントは、販売用と購入用に2つ必要になります。 販売用はビジネスかプレミアのいずれか、購入用はパーソナル、ビジネス、プレミアのいずれでもOKです。

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

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

  3. 作成した販売用のテストアカウントにログインします。
  4. 本番用アカウントと同じように、【エンコード方式の設定】と【購入ボタンの作成】を行います。
  5. テスト用の購入ボタンをセールスページに配します。
  6. 作成したセールスページにアクセスします。
  7. 購入ボタンをクリックします。
  8. PayPalへのログイン画面が表示されるので、購入用のテストアカウントでログインし支払いをします。
PayPalから送信されるメールの確認は、【PayPal Sandbox】の【Test Email】で確認できます。
テストが終了し、商品の販売を始めるときは、必ず【本番モード】に切り替えてください。

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


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

PayPalには、通常アカウントとマイクロペイメントアカウントの2つのアカウントを作成できます。
この2つのアカウントを用いてテストすることも可能です。決済はテスト後にキャンセルすることも可能です。
あまり何度もテストすると、PayPalのサーバーに負担がかかり、叱られるかもしれないので、この方法でテストする場合必要最低限にしてください。
  1. PayPalに2つのアカウントを作成していない場合作成します。
    2つの内1つはマイクロペイメント用のアカウントにしてください。 マイクロペイメント用のアカウントを作成する方法はPayPalにお尋ねください。
  2. 【PayPalオートメール】にログインし、テストしたい商品の【データ編集】を開きます。
  3. 【モード】で【本番】を選択して、【保存する】ボタンをクリックします。

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

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


お使いのMTAがqmailの場合

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

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

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

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

目次 インストール ログイン 商品情報(標準) PayPal設定(標準) テスト(標準) サンキューページ(標準)
商品情報(Express) サンキューページ(Express) テスト(Express) 商品情報(Digital)
PayPal設定(Digital) テスト(Digital) データの確認 置換 FAQ