Экспресс-проверка Paypal с использованием NVP - «Заголовок безопасности недействителен» - PullRequest
3 голосов
/ 07 декабря 2011

Я интегрировал экспресс-оплату Paypal в нашу систему электронной коммерции (NVP версии 76.0, PHP 5.2), в которой есть процесс оформления заказа на заказ.В режиме разработки (с использованием деталей песочницы) все работает, но в тот момент, когда я переключаю информацию о подписи (имя пользователя, пароль, api_signature и URL-адрес PayPal) на информацию о реальном счете Paypal, он перестает работать.Он всегда отвечает кодом ошибки: 10002 и сообщением: заголовок безопасности недействителен. Если я переключаюсь обратно на детали изолированной программной среды, он снова начинает работать.

Вот пример ошибки:

TIMESTAMP: 2011-12-06T19:09:31Z
CORRELATIONID: cb966ebeb254d
ACK: Failure
VERSION: 76.0
BUILD: 2271164
L_ERRORCODE0: 10002
L_SHORTMESSAGE0: Security error
L_LONGMESSAGE0: Security header is not valid
L_SEVERITYCODE0: Error

Я нашел несколько сообщений о переполнении стека людей, имеющих ту же проблему, но там решение не сработало @ Paypal , и я немного покопался (в Google) и обнаружил, что многие люди сталкиваются с этой проблемой, нонет окончательного решения или потока, который бы обозначал, что вам нужно изменить, когда вы начнете жить, потому что просто изменение деталей, упомянутых выше (и в документации PayPal Express Checkout), похоже, не работает.

Сделалкто-нибудь найдет решение этой проблемы или может я просто что-то упустил?

1 Ответ

7 голосов
/ 07 декабря 2011

ОК, поэтому я нашел ответ:

Я связался со службой поддержки Paypal, и даже после того, как обрисовал проблему, они все еще не нашли решения, но, по крайней мере, ответ дал мне представление о том, что на самом деле не так.Когда вы запускаете систему в режиме реального времени, вы не только должны изменить:

API_USERNAME
API_PASSWORD
API_SIGNATURE
PAYPAL_URL

с текущими деталями (из Песочницы> Live), но вы должны изменить:

API_ENDPOINT

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

ОднаЯ должен был использовать было:

Environment: Live
Authentication: API Signature
Calling: Name-Value Pair
Endpoint: https://api-3t.paypal.com/nvp
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...