2011-07-02 47 views
6

Estoy haciendo un sitio de comercio electrónico y la integración de PayPal parece estar funcionando. Tengo un carrito de compras, que suma todos los artículos que hay dentro, agrega el precio de envío y luego envía ese número a PayPal con estas líneas.¿Por qué Paypal Sandbox no procesa los pagos?

string address = "https://api-3t.sandbox.paypal.com/nvp?USER=<username>&PWD=<password>&VERSION=71.0&SIGNATURE=<signature>&METHOD=SetExpressCheckout&PAYMENTREQUEST_0_AMT=" + lblTotal.Text + "&PAYMENTREQUEST_0_CURRENCYCODE=USD&RETURNURL=http://www.secretskeletonminiatures.com/checkout.aspx&CANCELURL=http://www.secretskeletonminiatures.com/cart.aspx&PAYMENTREQUEST_0_PAYMENTACTION=Sale"; 

    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address); 

Entonces me tire en la respuesta de PayPal con una HttpWebResponse y analizar fuera de la ficha y redirigir a los usuarios a

Response.Redirect("https://www.sandbox.paypal.com/us/cgi-bin/webscr?cmd=_express-checkout&useraction=commit&token=" + token); 

Cuando el usuario llega a PayPal a continuación, acceder y afectados por el "Pagar ahora" y ser redirigido a la página de pago de mi sitio.

Así que todo parece estar bien. Pero cuando reviso las cuentas de la zona de pruebas, nada de dinero en realidad se está transfiriendo.

La causa más común es la falta del parámetro useraction = commit en la URL de redirección, pero está allí, así que ese no es el problema.

Respuesta

7

A cualquier persona que se tropiece con esta pregunta más adelante. Lo resolví. Una vez que el usuario regrese a su sitio después de confirmar el pago en PayPal, aún debe enviar una solicitud de DoExpressCheckoutPayment a los servidores de PayPal para que procese el pago.

Debería suministrar PayerID y TOKEN a DoExpressCheckoutPayment para procesarlo. PayerID se adjunta en la URL de tu RETURNURL o se puede recuperar llamando a GetExpressCheckoutDetails con TOKEN.

+0

Llamé 'DoExpressCheckoutPayment' después de ser redirigido a la URL de éxito. Recuperé los detalles del pago y mostró que 'CHECKOUTSTATUS' es' PaymentActionCompleted', pero cuando revisé el panel de instrumentos no se mostraba en la pestaña de transacciones. – kapitanluffy

0

Me enfrenté al mismo problema cuando integé PayPal y parece que ha habido algunas modificaciones en su sistema.

si va a su cuenta de comprador puede ver sus pagos en estado pendiente y para ser aprobado en un par de días, el mismo comportamiento para la cuenta de comerciante.

+0

No veo ningún pago pendiente en ninguna de las cuentas –

+0

es la cantidad restada de la cuenta del comprador y agregada a la cuenta del vendedor? –

+0

No, ambos todavía tienen los mismos saldos en los que los inicié. –

Cuestiones relacionadas