Почему Paypal Sandbox не обрабатывает платежи? - PullRequest
6 голосов
/ 02 июля 2011

Я делаю сайт электронной коммерции, и интеграция с PayPal, похоже, работает.У меня есть корзина, которая суммирует все товары внутри, добавляет цену доставки и затем отправляет это число в PayPal с этими строками.

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);

Затем я получаю ответ из PayPal с помощью HTTPWebResponse и анализирую токен и перенаправляю пользователей на

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

Когда пользователь попадает в PayPal, войдите в систему и нажмитеНажмите кнопку «Оплатить сейчас» и перейдите на страницу оформления заказа моего сайта.

Так что все в порядке.Но когда я проверяю учетные записи «песочницы», деньги на самом деле не переводятся.

Наиболее распространенной причиной является отсутствие параметра useraction = commit в URL-адресе перенаправления, но он существует, поэтому проблема не возникает.

Ответы [ 2 ]

7 голосов
/ 12 сентября 2011

Для всех, кто позже наткнется на этот вопрос.Я решил это.После того как пользователь вернется на ваш сайт после подтверждения платежа через PayPal, вам все равно придется отправить запрос DoExpressCheckoutPayment на серверы PayPal, чтобы получить платеж для обработки.

Вы должны указать PayerID и TOKEN для DoExpressCheckoutPayment для его обработки,PayerID добавляется в URL-адрес вашего RETURNURL или может быть получен путем вызова GetExpressCheckoutDetails с TOKEN.

0 голосов
/ 02 июля 2011

Я столкнулся с той же проблемой, когда интегрировал PayPal, и похоже, что в их системе произошли некоторые изменения.

если вы зайдете на свою учетную запись покупателя, вы сможете увидеть платежи в состоянии ожидания и получить подтверждение через пару дней, то же самое будет и для учетной записи продавца.

...