Краткое резюме:
Я занимаюсь разработкой сайта электронной коммерции с использованием PHP. Он использует PayPal для осуществления платежей. Я успешно использую (от отправки строки запроса через SetExpressCheckout до DoExpressCheckoutPayment в GetExpressCheckoutDetails до хранения платежных реквизитов в базе данных MySQL) режим песочницы PayPal с их Classic API Express Checkout (NVP) с некоторого времени в конце прошлого года и до настоящего времени. До вчерашнего вечера все работало нормально, и в раздел PayPal на сайте не было внесено никаких серьезных изменений. Теперь я получаю «Внутренняя ошибка сервера» в https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&маркер = [ЗНАК] на каждый платежный запрос.
Прохождение:
Что я вижу:
Возврат PayPal SetExpressCheckout:
Array
(
[TOKEN] => XX-XXXXXXXXXXXXXXXXX
[TIMESTAMP] => 2015-03-28T20:27:25Z
[CORRELATIONID] => XXXXXXXXXXXXX
[ACK] => Success
[VERSION] => 109.0
[BUILD] => 15840636
)
Сообщение об ошибке PayPal Sandbox по ссылке, указанной выше:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Почему я не могу найти ответ:
После сообщения об этой проблеме в журнале PayPal они ответили, подтвердив, что это известная проблема с их стороны.
Уважаемый Филипп,
Благодарим Вас за обращение в службу технической поддержки PayPal Merchant по поводу
внутренняя ошибка сервера в среде песочницы. Это известный
В настоящее время вопрос, который находится в стадии расследования и, надеюсь, будет
решено в ближайшее время. Я дам вам знать, когда у меня будет подтверждение вопроса
фиксированный. Спасибо.С уважением,
Майк
Техническая поддержка продавца
PayPal, компания eBay
Обновление от PayPal:
Уважаемый Филипп, проблема с песочницей должна быть решена сейчас, и вы должны
не видеть ошибку внутреннего сервера 500. Если у вас есть какие-либо другие
вопросы, пожалуйста, дайте нам знать, https://www.paypal.com/mtsС уважением,
Майк
Техническая поддержка продавца
PayPal, компания eBay
Я проверил, и это, кажется, исправлено.
Внутренняя ошибка сервера означает внутреннюю для сервера PayPal. Это PayPal «Помощь! Я сдаюсь!» сообщение об ошибке.
Это не исключает возможности того, что вы что-то сделали неправильно, что привело код PayPal с зеленого пути в лес, где его съел медведь, но независимо от того: делайте так, как сказано на странице ошибки, и обратитесь в службу поддержки PayPal. Они должны быть в состоянии найти ваш корреляционный идентификатор и посмотреть, что произошло. Затем они могут сообщить вам, можете ли вы обойти эту проблему, внеся изменения в свою сторону, или все в порядке с вашим кодом, и это на 100% их проблема. И тогда они могут улучшить свой код, чтобы следующий человек, который может сделать ошибку, похожую на вашу, получил лучшую обратную связь.
(Хотя в случае такой страницы, которая обычно отображается для вашего клиента, а не для вас, PayPal обычно выдает только относительно общее сообщение об ошибке.)
И еще несколько вещей, которые я хотел бы проверить, хотите ли вы поработать над этим немного дольше, пока вы ждете, пока PayPal вернется к вам: вы убедились, что API, кажется, действительно работает так, как он утверждает. Разумная вещь, которую нужно проверить, но ошибка заключается в веб-перенаправлении, поэтому сосредоточьтесь на этом: что вы получите, если передадите фальшивый токен? Что происходит на другом компьютере или после того, как вы очистили свои куки? Что вы получите, если попытаетесь совершить кнопочный платеж (не экспресс-заказ) с той же парой счетов?