Pregunta

Me gustaría probar paypal IPN de suscripción, tanto las recibidas cuando se crea una suscripción, y los enviados más tarde con el próximo pago (por ejemplo, mensualmente si la suscripción es de $ X por mes).

Sin embargo prefiero no esperar un mes o un día para recibir la segunda IPN. ¿Hay una manera de tener una IPN envió más rápido, como por hora, a través de PayPal o de su caja de arena?

En la documentación que dice que sólo se puede especificar años, meses, días y semanas como el periodo de suscripción.

¿Fue útil?

Solución

Lo que solía ser que el plazo especificado en día sería tratado por el servidor de prueba como minutos para que me llamarían cada 3 minutos cuando se especifique 'd3'. Creo que le quitaron esto y no estoy al tanto de cualquier característica de reemplazo para poner a prueba las suscripciones.

Otros consejos

soporte para desarrolladores de PayPal y la documentación es una vergüenza para ellos. Pero esta limitación particular no es tan debilitante como parece a primera vista.

Para las pruebas, definir su pago periódico a no tienen una prueba gratuita. Cuando se crea una nueva suscripción, el servidor recibirá dos mensajes de IPN en rápida sucesión, uno para crear la suscripción y el segundo a aplicar un pago. Eso es básicamente todo lo que necesita para poner a prueba.

Si usted tiene una versión de prueba, podrás obtener básicamente el mismo par de mensajes, sólo con un período de prueba entre ellos. :)

El primer mensaje ( "crear suscripción") va a ser algo como esto. Tenga en cuenta el 'txn_type' - que es el bit de información clave para la desambiguación de los dos mensajes:

{
  "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",
}

El segundo mensaje es el más interesante en este caso. En esencia, será el mismo mensaje exacto que obtendrá más tarde, cuando se aplica el pago recurrente. Se ve algo como esto:

{
  "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",
}

Por lo que puede hacer casi todas sus pruebas sin tener que esperar un día. En el momento en que piensas que lo tienes clavado, usted recibirá una gran cantidad de mensajes de suscripción de IPN al día siguiente.

Además, aquí es un enlace a la documentación de PayPal para mayor referencia.

Es posible que vuelva a enviar las IPN de prueba, por lo que sólo debería tener que 'comprar' una suscripción para la prueba. Una vez que usted ha comprado una suscripción, esto es lo que debe hacer:

  1. Acceda a su caja de arena segura vendedor cuenta.
  2. Seleccione 'Perfil' => 'Mis Preferencias de ventas'.
  3. Seleccione 'Preferencias de notificación de pago instantánea' de la tercera columna.
  4. Compruebe si IPN está activado y que la URL es correcta.
  5. Haga clic en el enlace de la IPN Historia .
  6. Desplácese hacia abajo, marque una o más IPN y haga clic en 'Volver a enviar'.

Después de confirmar, el IPN (s) seleccionado se resienten a la URL que haya especificado. Se puede repetir un número ilimitado de veces con el mismo IPN (s).

La excelente respuesta por @dondo cubre el resto.

Hey, yo sólo quería lanzar un grito a Neil porque eso es exactamente lo que estaba buscando y no tengo la reputación suficiente para responder o upvote ..

Lo creas o no paypal todavía no significa que sea fácil de hacer pruebas de suscripción con archivos IPN: /

Por lo tanto, sólo porque yo no lo vi en el aquí y el tipo de OP parecía que estaban bajo la impresión de que sólo se esperan dos respuestas posibles a partir papal -

si alguien más está teniendo problemas, aquí hay alguna otra txn_type que afectó a mi IPN mientras se hace la prueba:

//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

ese último golpeó mi IPN esta mañana en contra hasta el último de mis suscriptores de prueba. cuando yo estaba mirando lo que significaba, me encontré con que el siguiente también son posibles de conseguir:

recurring_payment_profile_created

recurring_payment_profile_cancel

recurring_payment_profile_modify

recurring_payment

recurring_payment_skipped

recurring_payment_failed

No sé lo que hice para conseguir que debido a las suscripciones y pagos periódicos son técnicamente diferentes en los ojos de PayPal (suscripciones que posiblemente nunca se terminan, pero los pagos recurrentes tienen un límite en el total de pagos que alguien puede hacer por cualquier "suscripción") pero su documentación no siempre es sencillo, ya sea, por lo que no sé. Que todavía estoy trabajando en averiguar que se trataba de un botón de suscripción generada por una cuenta de caja de arena comerciante, pero lo que sea.

dolores de cabeza felices:)

ACTUALIZACIÓN: Me di cuenta de mi problema ahora - por lo que sólo por lo que suena como si supiera lo que estoy haciendo Voy a explicar ...

Creo entorno de suscripción recinto de seguridad de PayPal está muriendo lentamente. Me di cuenta el otro día cuando estoy jugar un poco en sandbox.paypal.com que consigo "error grave" un montón de veces. Actualizar la página parece corregir esto la mayoría de veces, aunque a veces tengo que refrescar un par de veces para que la pantalla vuelva.

Me estoy haciendo la misma respuesta de ellos golpeando mi archivo IPN, lo que explica por qué cada suscripción que había conseguido suspendida hoy. Gracias a Neil que fue capaz de volver a enviar la respuesta IPN y capturado en un archivo de texto (lol) y luego me golpeó el archivo IPN leer en la respuesta y tirar de nuevo en PayPal (que es realmente más complicado de lo que estoy solo haciendo que suene fácil).

En cualquier caso, mediante la actualización de la página que pueden iniciar el protocolo de enlace de PayPal más o menos de la demanda y cuando lo hacen, es 50/50 - A veces tengo VERIFICADO, y en ocasiones obtener la insuficiencia Fatal - al igual que cuando trato de hacer mucho de cualquier cosa en su sitio de caja de arena (Si no fatal).

A continuación se muestra un ejemplo de parte de una respuesta fallida recibo de ellos ... me sale un 200 por lo que creo golpeando su servidor no es el problema con la conectividad, pero estoy empezando a ver un patrón de "error grave "aquí y esto apunta a su fin más que la mía

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

Fatal Failure 

También puede crear manualmente IPN de su caja de arena:

https://developer.paypal.com/cgi- bin / devscr? cmd = _ipn de enlace de sesión

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top