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
nirecurring_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.