L'assistance aux développeurs et la documentation de PayPal lui font honte. Mais cette limitation particulière n'est pas aussi débilitante qu'il n'y paraît à première vue.
À titre d'essai, définissez votre paiement récurrent comme suit no ont un essai gratuit. Lorsque vous créez un nouvel abonnement, votre serveur reçoit deux messages IPN en succession rapide, l'un pour créer l'abonnement et l'autre pour appliquer un paiement. C'est à peu près tout ce dont vous avez besoin pour tester.
Si vous disposez d'un essai gratuit, vous recevrez pratiquement la même paire de messages, mais avec une période d'essai entre les deux :)
Le premier message ("créer un abonnement") ressemblera à ceci. Notez le 'txn_type' -- c'est l'information clé pour désambiguïser les deux messages :
{
"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",
}
Le second message est le plus intéressant dans ce cas. Il s'agit essentiellement du même message que vous recevrez plus tard lorsque le paiement récurrent sera appliqué. Il ressemble à peu près à ceci :
{
"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",
}
Vous pouvez donc effectuer la quasi-totalité de vos tests sans attendre un seul jour. Lorsque vous penserez avoir trouvé la solution, vous recevrez le lendemain de nombreux messages IPN d'abonnement.
En outre, aquí est un lien vers la documentation de PayPal.