ipn - paypal simulator payment
Valores de QueryString eliminados del punto final de IPN por PayPal (1)
Bien, ahora nos hemos dado cuenta de que algunos de los servidores de PayPal terminan en el primer ampersand. Esto explica por qué obtenemos el primer valor de cadena de consulta pero no otros.
Parece que este comportamiento no se limita a notify_url
value, sino como lo sugiere Mike en los comentarios, esto también ocurre con el campo CUSTOM
. Si está pulsando una serie de pares de valores de nombre con un separador de ampersand, debe cambiar a otro separador o URL Codificar todo el valor.
Ahora estamos probando para ver si la codificación URL de toda la URL de devolución de llamada todavía dará como resultado una devolución de llamada real.
EDITAR:
Sí La codificación URL de todo el valor notify_url
resolvió el problema y conservó la cadena de consulta.
EDICION 2:
Parece que la codificación de URL de todo el valor ya no funciona, por lo que supongo que PayPal ha vuelto al comportamiento original antes de que nos encontráramos con estos problemas. Esperemos que esto sea coherente en todos sus servidores entrantes y se mantendrá fijo ahora.
Hemos tenido una integración de pago simple con PayPal durante 5 años que se ha ejecutado sin problemas hasta hoy. En la URL de IPN ( notify_url
), pasamos 3 valores en la cadena de consulta, por ej.
https://www.example.com/callback/ipn?pspId=A&secCode=MnBP%2fxOwbQhXLd%2arD5xd6g%3d%3d&isPur=false
A partir de hoy, PayPal elimina los últimos 2 valores y llama solo con el primer valor de la cadena de consulta, por ejemplo
https://www.example.com/callback/ipn?pspId=A
Utilizamos el valor de secCode
como firma que verificamos en la devolución de llamada para evitar cualquier modificación del formulario. ¿Por qué PayPal comenzaría de repente a eliminar los valores de la cadena de consulta? Sospecho que deberían estar en el POST, pero no estoy seguro de por qué el cambio repentino.