Question

Je voudrais tester abonnement paypal IPN, à la fois ceux reçus lors d'un abonnement est créé, et ceux envoyés plus tard avec le prochain paiement (chaque mois si l'abonnement est de $ x par mois).

Cependant, je préfère ne pas attendre un mois ou un jour pour recevoir le deuxième IPN. Est-il possible d'avoir un IPN envoyé plus rapide, comme toutes les heures, en utilisant paypal ou leur bac à sable?

Sur la documentation, il dit que vous ne pouvez spécifier années, mois, jours, semaines et que la période de souscription.

Était-ce utile?

La solution

Il fut un temps que la période spécifiée en jours serait traitée par le serveur de test minutes afin que vous seriez appelé toutes les 3 minutes lorsque cela est spécifié « d3 ». Je pense qu'ils ont enlevé et je ne suis pas au courant d'aucune fonctionnalité de remplacement pour tester les abonnements.

Autres conseils

Le soutien des développeurs de PayPal et la documentation est une source d'embarras pour eux. Mais cette limitation particulière n'est pas aussi invalidante que cela puisse paraître à première vue.

Pour les tests, définir votre paiement récurrent à pas ont un essai gratuit. Lorsque vous créez un nouvel abonnement, votre serveur recevra deux messages IPN en succession rapide, un pour créer l'abonnement et la seconde à appliquer un paiement. C'est essentiellement tout ce que vous devez tester.

Si vous avez un essai gratuit, vous aurez essentiellement la même paire de messages, juste avec une période d'essai entre eux. :)

Le premier message ( « créer abonnement ») ressemblera à quelque chose comme ça. Notez que le 'txn_type' - c'est le bit d'information clé pour disambiguating 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 sera essentiellement le même message que vous obtiendrez plus tard lorsque le paiement récurrent est appliqué. Il ressemble à 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 faire presque tous vos tests sans attendre un jour. Au moment où vous pensez que vous l'avez cloué vers le bas, vous allez recevoir beaucoup d'abonnement messages IPN le lendemain.

En outre, est un lien vers la documentation de PayPal pour référence ultérieure.

Il est possible de renverrons IPN de test, vous devriez donc seulement besoin de « acheter » un abonnement pour les tests. Une fois que vous avez acheté un abonnement, voici ce qu'il faut faire:

  1. Connectez-vous à votre bac à sable PayPal vendeur compte.
  2. Sélectionnez 'Profil' => 'Mes Préférences de vente'.
  3. Sélectionnez 'Préférences de notification instantanée de paiement' de la troisième colonne.
  4. Vérifiez que IPN est activé et que l'URL est correcte.
  5. Cliquez sur le lien IPN Histoire .
  6. Faites défiler vers le bas, cochez une ou plusieurs IPN et cliquez sur « Renvoyez ».

Après avoir confirmé, sera maintenant renvoyé à l'URL que vous avez spécifié les IPN (s) sélectionné. Vous pouvez répéter un nombre illimité de fois avec le même IPN (s).

L'excellente réponse par @dondo couvre le reste.

Hé, je voulais juste jeter un cri à Neil parce que c'est exactement ce que je cherchais et je n'ai pas assez réputation pour répondre ou upvote ..

Croyez-le ou non paypal ne fait toujours pas facile de faire des tests d'abonnement avec des fichiers IPN: /

Alors, juste parce que je ne le vois ici et l'OP de type avait l'impression qu'ils avaient l'impression d'attendre que deux réponses possibles du pape -

si quelqu'un d'autre a des problèmes, voici une autre txn_type qui a frappé mon IPN tout en faisant le test:

//when paypal subscription profile is created for the subscriber
subscr_signup 

//payment made for a given billing cycle
subscr_payment 

//when subscription fails
subscr_failed 

//user cancels subscription - not
subscr_cancel 

//end of term - paypal is "done" with that subscriber 
subscr_eot 

//why I was looking for this thread to begin with lol
recurring_payment_suspended_due_to_max_failed_payment

que la dernière a frappé mon IPN ce matin contre tout dernier de mes abonnés de test. quand je regardais ce que cela signifiait, je trouve que les éléments suivants sont également possibles pour obtenir:

recurring_payment_profile_created

recurring_payment_profile_cancel

recurring_payment_profile_modify

recurring_payment

recurring_payment_skipped

recurring_payment_failed

Je ne sais pas ce que je fait pour obtenir que parce que les souscriptions et les paiements récurrents sont techniquement différents dans les yeux de PayPal (abonnements peuvent éventuellement ne jamais terminer, mais les paiements récurrents ont un plafond sur la personne total des paiements peut faire pour tout « abonnement ») mais leur documentation ne sont pas toujours en avant droit, non plus, donc je sais pas. Que je travaille toujours comprendre comme cela a été un bouton d'abonnement généré par un compte marchand de bac à sable mais peu importe.

maux de tête heureux:)

Mise à jour: Je me suis dit mon problème tout à l'heure - si juste si on dirait que je sais ce que je fais, je vais vous expliquer ...

Je pense que l'environnement bac à sable abonnement paypal est en train de mourir lentement. J'ai remarqué l'autre jour quand je suis déconner en sandbox.paypal.com que je reçois « erreur fatale » un grand nombre de fois. Rechargeant la page semble corriger ce la plupart du temps, bien que parfois je dois rafraîchir plusieurs fois pour l'écran pour revenir.

Je reçois la même réponse de les frapper mon dossier IPN, ce qui explique pourquoi chaque abonnement que j'avais été suspendu aujourd'hui. Merci à Neil j'ai pu renvoyer la réponse IPN et je capturé dans un fichier texte (lol) et je frappé le fichier IPN lire dans la réponse et de le jeter en arrière à paypal (son vraiment plus compliqué que je suis ce qui rend le son facile).

Dans tous les cas, en actualisant la page que je peux lancer la poignée de main paypal plus ou moins sur la demande et quand je le fais, il est 50/50 - parfois je me VÉRIFIÉ, et parfois j'obtenir erreur fatale - comme lorsque je tente de faire une grande partie de quoi que ce soit dans leur site bac à sable (défaillance fatale).

Voici un exemple d'une partie d'une réponse échoué je reçois d'eux ... Je reçois 200 donc je crois frapper leur serveur n'est pas le problème avec la connectivité, mais je commence à voir un modèle avec « erreur fatale "ici et cela fait plus leur fin que le mien

HTTP/1.1 200 OK 
Date: Tue, 29 Sep 2015 02:41:00 GMT 
Server: Apache 

Fatal Failure 

vous pouvez également créer manuellement IPN de leur bac à sable:

https://developer.paypal.com/cgi- bin / devscr? cmd = session _ipn-link

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top