PayPalの開発者サポートとドキュメントは彼らにとって恥ずかしいものです。しかし、この特定の制限は、最初は赤面しているように見えるほど衰弱させるものではありません。
テストでは、無料トライアルがないように定期支払いを定義します。新しいサブスクリプションを作成すると、サーバーは2つのIPNメッセージをすばやく連続して受信します。1つはサブスクリプションを作成するためのもので、もう1つは支払いを適用するためのものです。基本的に、テストする必要があるのはそれだけです。
無料トライアルがある場合は、基本的に同じメッセージのペアを受け取りますが、それらの間にトライアル期間があります。:)
最初のメッセージ(「サブスクリプションの作成」)は次のようになります。'txn_type'に注意してください。これは、2つのメッセージを明確にするための重要な情報です。
{
"txn_type"=>"subscr_signup",
"subscr_id"=>"unique_id",
"verify_sign"=>"random_gibberish",
"item_number"=>"your_subscription_name"
"subscr_date"=>"14:32:23 Feb 15, 2010 PST",
"btn_id"=>"1111111",
"item_name"=>"Your Subscription Description",
"recurring"=>"1",
"period1"=>"1 M",
# This example is from a "free trial" IPN notification-- if you don't have a
# free trial defined, there will only be 'period1' fields, and they'll
# have the data that appears here in the 'period3' fields.
"amount1"=>"0.00",
"mc_amount1"=>"0.00",
"period3"=>"1 M",
"amount3"=>"34.95",
"mc_amount3"=>"34.95",
"mc_currency"=>"USD",
"payer_status"=>"verified",
"payer_id"=>"payer_unique_id",
"first_name"=>"Test",
"last_name"=>"User",
"payer_email"=>"test_xxxx@example.com",
"residence_country"=>"US",
"business"=>"seller_xxxxxxx@example.com",
"receiver_email"=>"seller_xxxxxxx@example.com",
"reattempt"=>"1",
"charset"=>"windows-1252","notify_version"=>"2.9","test_ipn"=>"1",
}
この場合、2番目のメッセージはより興味深いメッセージです。これは基本的に、後で定期支払いが適用されたときに表示されるメッセージとまったく同じになります。これは次のようになります。
{
"txn_type"=>"subscr_payment",
"subscr_id"=>"unique_id",
"verify_sign"=>"random_gibberish",
"txn_id"=>"payment_unique_id",
"payment_status"=>"Completed",
"payment_date"=>"12:45:33 Feb 16, 2010 PST",
"item_number"=>"your_subscription_name"
"subscr_date"=>"14:32:23 Feb 15, 2010 PST",
"custom"=>"data-you-sent-in-a-custom-field",
"id"=>"1",
"payment_gross"=>"34.95",
"mc_currency"=>"USD",
"payment_type"=>"instant",
"payment_fee"=>"1.31",
"payer_status"=>"verified",
"mc_fee"=>"1.31",
"mc_gross"=>"34.95",
"btn_id"=>"1111111",
"payer_id"=>"payer_unique_id",
"first_name"=>"Test",
"last_name"=>"User",
"payer_email"=>"test_xxxx@example.com",
"residence_country"=>"US",
"receiver_id"=>"your_merchant_id",
"business"=>"seller_xxxxxxx@example.com",
"receiver_email"=>"seller_xxxxxxx@example.com",
"protection_eligibility"=>"Ineligible",
"transaction_subject"=>"",
"charset"=>"windows-1252","notify_version"=>"2.9","test_ipn"=>"1",
}
したがって、1日も待たずにほとんどすべてのテストを実行できます。あなたがそれを釘付けにしたと思う時までに、あなたは翌日たくさんのサブスクリプションIPNメッセージを受け取るでしょう。
さらに、参照用にPayPalのドキュメントへのリンクがあります。