PayPal Express возвращает сообщение об ошибке 4011 в режиме песочницы - PullRequest
2 голосов
/ 10 марта 2010

Я использую PayPal Express в режиме песочницы в своем скрипте PHP (curl + SOAP). У меня есть простая форма покупки с 1 кнопкой «купить». Когда он нажал Я отправляю первоначальный запрос SetExpressCheckout и получаю успешный ответ от PayPal с Acc = успех и свежий токен

<Ack xmlns="urn:ebay:apis:eBLBaseComponents">Success</Ack>
<Token xsi:type="ebl:ExpressCheckoutTokenType">EC-4GV76670YM092205U</Token></SetExpressCheckoutResponse>

Далее я пытаюсь перенаправить скрипт в PayPal с этим новым токеном:

  header("Location: https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=".$result[Token]."&address_override=1");

, но в результате PayPal отображает страницу с сообщением об ошибке:

К сожалению, мы испытываем временные трудности. Пожалуйста, попробуйте позже. Если эта ошибка произошла во время совершения платежа, избегайте дублирования платежей, проверив обзор своего аккаунта перед повторной отправкой платежа. Сообщение 4011

Что могло быть причиной этой ошибки? Я использую обычную учетную запись в песочнице US / USD, единственное, что может показаться подозрительным, это то, что в ответе PayPal поля имени пользователя и пароля xml пусты.

1 Ответ

8 голосов
/ 10 марта 2010

Эта ошибка возникла из-за использования учетных данных SandBox при перенаправлении на URL-адрес не из песочницы. Это должно было быть header("Location: https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=".$result[Token]."&address_override=1");

...