test notify_url ipn example developer dev paypal paypal-ipn paypal-subscriptions

paypal - notify_url - Simular IPN para recurring_payment_skipped desde developer.sandbox.com



paypal simulator payment (1)

Necesito simular IPN cuando falla un pago recurrente. Mi aplicación puede crear crear facturas pendientes y enviarlas a los clientes.

Busqué y encontré que necesitaría configurar el IPN que se manejará debajo de txn_type

  • recurring_payment_skipped
  • recurring_payment_failed

¿Serán estos dos suficientes?

Además, recientemente PayPal ha proporcionado una nueva herramienta llamada IPN Simulator donde puede enviar una muestra de IPN a una URL. Solo admite debajo de txn_type s

  • web_accept (eCheck-pending, eCheck-decline, eCheck-complete)
  • cart (pago exprés, carro pago)
  • web_accept (Web Accept, Refund)

    y así. Pero no recurring_payment_skipped ni recurring_payment_failed

¿De dónde puedo simular esos?

Por favor, ayúdame.


Está en lo cierto, actualmente, el Simulador de IPN no admite el tipo de transacción para las suscripciones. Ayer, 29 de mayo de 2015, puse una solicitud para esto en PayPal-PHP-SDK github

https://github.com/paypal/PayPal-PHP-SDK/issues/316

Hay una solución,

Para IPN Simulator, elijo algún tipo de transacción como "Carro de pago". Luego, en el campo "personalizado" puse "sim".

En mi escucha de IPN, tengo un bloque de código que comprueba si el campo "personalizado" está configurado en "sim", si es así, entonces codigo duro en valores de prueba.

// if data is coming from the IPN Simulator then // just hard code the data in here if ( $rawData[custom] == "sim") { $rawData[txn_type] = "recurring_payment"; $rawData[recurring_payment_id] = "I-ABCDEF123456"; }

Si "personalizado" no está configurado en "sim", su oyente de IPN pasa por alto este bloque de código y funciona normalmente. Nota: rawData es una matriz para contener los datos brutos. Al comienzo del oyente de IPN, obtengo todos los datos sin procesar y los pongo en una matriz.

Esto le permitirá obtener su secuencia de comandos de IPN funcionando y, al mismo tiempo, no interferir con la entrada de otros datos IPN reales.