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