Pregunta

Estoy trabajando en la integración de PayPal en mi sitio web, siguiendo las especificaciones API de PayPal. Lo estoy probando en una caja de arena y después de enviar un SetExpressCheckout Solicitud como esta:

CURRENCYCODE=EUR
&RETURNURL=http%3A%2F%2Fwww.xxxxxxxx
&CANCELURL=http%3A%2F%2Fwww.xxxxxxxx
&PAYMENTACTION=Sale
&L_PAYMENTREQUEST_0_NAME0=T-shirt+ring-spun+attillata%3B+taglia+L%3B+colore+Navy
&L_PAYMENTREQUEST_0_NUMBER0=0LLR7IQ-B0SIE+%28Product+%230LLR7IQ-B0SIE%29
&L_PAYMENTREQUEST_0_DESC0=160+g%2Fm%C2%B2%2C+100+%25+cotone+ring-spun%2C+pre-ristretto%2C+simple+jersey%2C+scollatura+arrotondata%2C+maniche+corte%2C+impunture+sulla+scollatura%2C+sul+bordo+delle+maniche+e+sulla+base%2C+cuciture+laterali.
&L_PAYMENTREQUEST_0_AMT0=1.90
&L_PAYMENTREQUEST_0_QTY0=1
&L_PAYMENTREQUEST_0_NAME1=T-shirt+ring-spun+attillata%3B+taglia+M%3B+colore+Dark+Heather
&L_PAYMENTREQUEST_0_NUMBER1=0LLR7IQ-2KEI1+%28Product+%230LLR7IQ-2KEI1%29
&L_PAYMENTREQUEST_0_DESC1=160+g%2Fm%C2%B2%2C+100+%25+cotone+ring-spun%2C+pre-ristretto%2C+simple+jersey%2C+scollatura+arrotondata%2C+maniche+corte%2C+impunture+sulla+scollatura%2C+sul+bordo+delle+maniche+e+sulla+base%2C+cuciture+laterali.
&L_PAYMENTREQUEST_0_AMT1=1.90
&L_PAYMENTREQUEST_0_QTY1=1
&L_PAYMENTREQUEST_0_NAME2=T-shirt+ring-spun+attillata%3B+taglia+S%3B+colore+White
&L_PAYMENTREQUEST_0_NUMBER2=0LLR7IQ-TFOHI+%28Product+%230LLR7IQ-TFOHI%29
&L_PAYMENTREQUEST_0_DESC2=160+g%2Fm%C2%B2%2C+100+%25+cotone+ring-spun%2C+pre-ristretto%2C+simple+jersey%2C+scollatura+arrotondata%2C+maniche+corte%2C+impunture+sulla+scollatura%2C+sul+bordo+delle+maniche+e+sulla+base%2C+cuciture+laterali.
&L_PAYMENTREQUEST_0_AMT2=1.59
&L_PAYMENTREQUEST_0_QTY2=1
&ITEMAMT=5.39
&TAXAMT=1.08
&SHIPPINGAMT=0.00
&AMT=6.47
&ALLOWNOTE=1
&USER=XXXXXXXX
&PWD=XXXXXXXX
&SIGNATURE=XXXXXXXX
&METHOD=SetExpressCheckout
&VERSION=53.0

Reenvo al usuario a aquí, que es el token PayPal me devuelve en respuesta a mi primera solicitud.

El problema es que, a pesar de la solicitud exitosa con todos los precios establecidos, tengo una página de revisión de PayPal vacía, sin ningún precio.

¿Qué me estoy perdiendo?

¿Fue útil?

Solución

Ataque de los pobres documentos de la API! PayPal seguro que se esforzó, pero se quedan cortos. ¡He luchado contra esta API y gané! :)

Cambie estos valores en lo que ya tiene ... avíseme si se ocupa del problema

&PAYMENTREQUEST_0_PAYMENTACTION=Sale [[ <--- payment action ]]
&PAYMENTREQUEST_0_CURRENCYCODE=EUR [[<-- currency code]]
&PAYMENTREQUEST_0_ITEMAMT=5.39  [[<---- subtotal here]]
&PAYMENTREQUEST_0_TAXAMT=1.08 [[<---- tax here]]
&PAYMENTREQUEST_0_SHIPPINGAMT=0.00 [[<---- shipping here]]
&PAYMENTREQUEST_0_AMT=6.47 [[<---- grand total here]]
&PAYMENTREQUEST_0_ALLOWNOTE=1

Otros consejos

Este también me molestó durante un par de días.

Usando el SDK Java de desarrollador.paypal.com (a partir de 2008), finalmente encontré una nueva versión del SDK (noviembre de 2011) en https://www.x.com/developers/paypal/documentation-tools/sdk#3

El uso del nuevo SDK (en particular, el paypal_base.jar actualizado), sin embargo, aún no resolvió mi problema.

Tienes que descubrir la cadena de versión API correcta para que se ejecute. Con la versión "51.0" (como en algunos de mi código de ejemplo), la llamada falló. Al igual que con la versión "78.0", el nuevo SDK hizo el trabajo.

Cheerio ....

Además de los otros comentarios aquí, asegúrese de usar la opción de "Acción de usuario" indocumentada cuando redirige a PayPal después de obtener la respuesta de SetExpressCheckout:

? cmd = _Express-checkout &UserAction = Commit& token = the-returned-token

(El siguiente enlace ya no funciona)

Aquí está la referencia del foro de PayPal a este parámetro

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