¿Cómo pasar varios parámetros a IPN url a PayPal en Android?

Estoy implementando PayPal en mi aplicación de Android y quiero enviar múltiples parámetros a PayPal como cadena de consulta con URL IPN.

Por ejemplo

http://www.example.com/ipn/txnId=12&cartId=12 

Pero el problema es cuando uso esta URL como URL de IPN PayPal me da un error.

He intentado con URLEncoding pero otra vez ningún pago acertado.

Si intento con solo parámetro está trabajando.

Ejemplo

 http://www.example.com/ipn/txnId=12 

Me encontré con un problema que PayPal no es aceptar & caracteres en la cadena por lo que he tratado de reemplazar & con & Y también \\& pero tampoco ayudó.

Sé que puedo establecer múltiples parámetros en una sola variable y pasarla a PayPal, pero quiero pasar varios parámetros como la cadena de consulta.

¿Cómo puedo tener PayPal para aceptar mi pago con múltiples parámetros?

EDITAR

Actualmente estoy utilizando este código para codificar URL, pero falla.

 protected String addLocationToUrl(String url){ if(!url.endsWith("?")) url += "?"; List<NameValuePair> params = new LinkedList<NameValuePair>(); params.add(new BasicNameValuePair("txnId", "45")); params.add(new BasicNameValuePair("cartId", "34")); String paramString = URLEncodedUtils.format(params, "utf-8"); url += paramString; return url; } 

Desde p20 de la guía de desarrolladores en https://cms.paypal.com/cms_content/en_US/files/developer/PP_PayflowPro_Guide.pdf

Uso de caracteres especiales en valores

Dado que los signos de signo (&) y de signo igual (=) tienen significados especiales en PARMLIST, los pares nombre-valor como los siguientes ejemplos no son válidos:

NAME=Ruff & Johnson

COMMENT1=Level=5

Para utilizar caracteres especiales en el valor de un par nombre-valor, utilice una etiqueta de longitud. La etiqueta length especifica el número exacto de caracteres y espacios que aparecen en el valor. Los siguientes pares nombre-valor son válidos:

NAME[14]=Ruff & Johnson

COMMENT1[7]=Level=5

ACTUALIZAR

A raíz de nuestra conversación discutida en la Sala de disusiones de Android, se convirtió en una aplicación que usabas la API de pago de Paypal para Android. Paypal no proporciona soporte para varios parámetros en la dirección IPN mediante la API de pagos de Android.

Una opción sería reemplazar el carácter & con uno que no tiene un significado especial en URL. A continuación, analice los valores de un solo valor de parámetro cuando reciba su oyente IPN, sin embargo, también tendrá que reemplazar los siguientes caracteres = .

Eg http://www.example.com/ipn/params=txnId_12-cartId_12

Usted declaró que usted requiere estos parámetros adicionales para los propósitos de la validación pero la validación se debe implementar según lo descrito por paypal si está a la aplicación segura.

Por favor, lea la descripción general de la notificación de pago instantáneo . Esto describe el proceso IPN y lo que necesita para validar las peticiones IPN a su servicio de escucha.

También encontrará un ejemplo para implementar un listener IPN en PHP

Se puede encontrar una lista completa de los parámetros del cuerpo del mensaje IPN en la Guía de integración de la gestión de pedidos

Usted podría utilizar "Custom" campo, pero el mismo problema se plantea! Intentaré ese uso de las etiquetas de la longitud con la aduana algo como:

 var1[5]=th&ee&var2[3]=t=o&var3[3]=one 

Valores

te

T0

uno


¿Es esto o me estoy perdiendo algo?

Si todo lo demás falla, reemplazaré los caracteres y los reemplazaré en el extremo receptor.

  • Problemas de transacción de PayPal MECL
  • Cómo integrar PayPal sdk con Gradle Android
  • Integración con Android y Paypal API
  • MPL de Paypal para Android y ejemplo de Pizza "Aplicación no autorizada, Error ID -1"
  • Cómo combinar SDK de PayPal y SDK de Braintree en el estudio de Android
  • PayPal Mobile Express - "El pago no se puede realizar con un dispositivo móvil"
  • Biblioteca de pagos de Android
  • Métodos alternativos de compra en la aplicación para Android
  • Procesamiento de pagos de Android a través de PayPal / tarjeta de crédito
  • Compras de Android en la aplicación con Phonegap
  • Braintree con Cordova para compras en la aplicación para actualizaciones de características
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.